Super excited about the new forums! :D Gonna use this space to talk a bit about the development of my game Rocket Fist, where it came from and where it's going.
It's going to be a long story though!
It all started in february, after making ton of small jam-games I've been planning on making something more complete and with a longer dev-cycle. I was pursuing a masters degree in Digital Media and in one of the projects we were working on we were trying to come up with games for the PS Vita that made good use of it's physical interface. I was doing lots of small prototypes in the vita and had the idea of making a 1v1 game in which each player held one side of the device. It didn't really fit the project premise, but I wanted to try it ou anyway since I never saw a game doing that in the vita.
And that was the first ever version of Rocket Fist. It was just some spheres in a environment made of cubes throwing little cube missiles at one another, and even at that stage it was already pretty damn fun. Each player only had one button and one analog stick to play with, it was simple and addicting. I started playtesting with my classmates and it was a success, everyone I introduced this to would play for a long time and would have a hard time giving it back.
I then decided to try it with more people, I added controller support and made a PC-version with a bigger level and 4 players. I had only spent about 5 hours in the game and me and my friends would play for hours. At that point I was sure that was the one, the project I should pursue to be a long-term commercial project.
The game still didn't have art, or a concept around it, I thought of several things like Killer Cupcakes throwing forks around at each other and other crazy ideas... Eventually a friend playing the artless spheres/cubes version said: "Oh, I really like those little robots throwing arms at each other, it's so cool!" And I was like: "Oh yeah! That's totally what they are! Little robots throwing arms at each other! That's what I was thinking about all along!".
My favorite art to make is lowpoly cartoon, I think it's pretty and quick/easy to make, so I just went with it.
In about a week I had the initial art in place and working. At this point some developer friends of mine were mentioning that it's not a good idea to release something multiplayer only, that most people play alone and they won't want to play a game that only has a multiplayer mode. I listened to them and started working on a procedurally generated dungeon-crawling mode of Rocket Fist, which was a terrible idea.
I even got as far as making a boss (The boss was cool though, I liked making the boss <3)
After 2 months of trying to make the singleplayer fun, it was getting farther and farther away from the original fun game me and my friends loved. It just wasn't working out, It was a hard decision but I ended up dropping it entirely to focus on the multiplayer, I believe it is the right choice.
I figured I should make a Player AI for whenever the player wants to play but doesn't have any friends over, however I didn't really know how to do it. I learned programming by myself without any formal education, so more complex things are really hard for me to make. I tried implementing something with A* pathfinding but the movement was so non-human, it looked totally AI-like, not player behavior.
I was showcasing the game at the Power of Play indie expo in seattle and talking about the AI problem with another developer that made a local multiplayer game as well (Auston, developer of Sportsball) and he was giving me some suggestions on the problem. That's when another developer that was playing the game out of nowhere says "Well, why don't you use Rapidly Exploring Random Trees?". I didn't know it at the time, but that was Casey Muratori from Handmade Hero, he explains to me the basics of rapidly exploring random trees and in the same day I already had a basic player AI working and looking pretty human. Here the AIs fighting each other:
A month after that, in August, we released our greenlight campaign and got greenlit in 9 days! :D
After that I got a new job, and threw all my schedule out of balance, things got pretty chaotic in my life and I couldn't get enough energy to work on Rocket Fist :/ the game didn't get any updates until this november.
This november I changed jobs and got time to breathe again, so I started adding the bells and whistles the game needed to improve it's flow, like a little replay screen between matches and a game over screen with stats on each player.
After all this time, the game only had 2 levels, one for a 1v1 (still based on the same layout from the starting PS vita level) and one for a 4 player battle based of the original one I made in that first week as well... And the reason for that is simple... It's a pain in the ass to make the levels. I spent a lot of time to make them trying to make sure things were in the right places for rotational symmetry and then when I wanted to change something it was super annoying. So...
I decided to make a level editor that does all of that hard work for me. I found a really good tile system for unity (Rotorz Tile System) that came with a really simple runtime level editor example, so I built upon that adding all of the things I wanted to have for making Rocket Fist levels, like symmetry options, lighting preferences and etc. I save the levels to XML so players can actually share levels (I plan on integrating it into steam workshop later on). It's pretty fun to use :) I hope to see people playing around with it in the future.
And that's about it, you guys are all caught up on about a years worth of development (not mentioning the 2 months or so I took a break from the project D:) The only thing I really skipped was all the Online Mode stuff... which is still being a pain in my ass and I'm not touching right now, got most of the main mechanics syncing though (Using Forge Networking), I need to implement the proper game flow into it, but getting the game into a more complete state is a higher priority at the moment.
Will keep you guys updated :D I'd love to hear any questions/comments/suggestions ^^