So I was going to write an incredibly long and detailed postmortem, but I figured I should only cover the stuff that was really important. (or at least try to)
Photoshop CS3: Pixel work, UI graphic work, pretty much all the graphics
Tiled: XML Level editing tool. I had built an XML level based editor already but this one had a pre-existing integration with cocos2d.
Cocos2d: Game library written in Obj-C. Definitely more iOS centric but I was still able to use it for MacOSX dev.
XCode: My IDE of choice when it comes to coding. Especially for OSX.
Chipmunk Physics: Awesome physics library written in C. Integrates well with Cocos2d too.
Garageband: Background music.
Audacity: Sound effects.
Hieroglyph: Forgot to put it’s icon with the others, but I used it for the in-game scores’ font.
I’ll start off from the beginning (seems logical) and work my way to the end of development.
What went right: I quickly thought of an idea, and ran with the first thing that popped into my head. It was inspired by an old Hypercard game I played as a kid (I can’t remember the name) but it was a top-down shooter where you could select between 6-8(?) different characters each with a different weapon. You would battle waves of alien creatures and escape through a portal to the next area. When a character died you could no longer use them for the remainder of the game. The goal was to make it to the end with as many of your team members as possible. What really lured me in as a young’n was the co-op mode. My brothers and I played it several times together. A pretty simple idea that I thought it shouldn’t be too hard to execute within the time span. The idea was to create a similar game: I’d have the user able to select from 6 different characters. A Co-op mode. Characters would die and become unplayable for the remainder. In my version each character would have two weapons, primary and secondary, as well as different attributes. (speed, armor, resistances to certain effects, etc.) As soon as the competition began I got to work on an early prototype. By the end of the third week I had implemented a basic physics system, weapon system, movement, level loading, and 2-player control scheme:
as seen here:
What went wrong: I quickly realized that the game I had in mind may take longer than the time period considering I hadn’t even begun making the graphics/particle effects/user interface/sound effects/background music. So I decided to scale down a little bit. I decided I’d have 4 playable characters, and 6 different enemies + 1 final boss, 3 different level schemes and that would be it.
What went right: To be honest, not a whole lot. In fact I didn’t get a lot done on the game during this time. I did some graphics for the trooper and backgrounds along with some sfx. After doing the first frame for the “Trooper Captain” character I sought help and advice from a wonderful website called Pixelation. There my original sprite went from:
This —-> To This
(P.S. Curse WP for not allowing CSS in their free service)
Of course I ended up making the sprites smaller because doing animations for that big sprite was going to take too long (for all the enemies, and all the other characters too)
What went wrong: We can start at why I decided to start building an iOS app called facepalm or how I didn’t touch the code for a couple weeks. Why did I work on facepalm??? I was tight on money and my friend had told me about an app he would like to see. There were other apps like it out there but I was determined to make the best one. So I tried to. In the end, about 60% of my customers actually kept the app installed, everyone else wanted a refund. After lots of negative reviews I put it up for free. I still need to fix the issues. Wait is this a facepalm postmortem? or an Ultra Troopers one? Oh yea, right…
What went right: Well, there was definitely a lot of catch-up to be had. At this point I had to do a lot of redesigning, and down scaling, because there was no way I could have a finished product by the deadline. I pumped out the graphics for a single enemy and single trooper just rendered different colors for different types and different players. Made all the background graphics too in the same fashion. I created a basic structure for the game: Title, level cleared, game over, ending scene. Created the heads up display for player 1 and 2. Created the scoring system. Added a little flair to shooting enemies. Tweaked the game feel, so that moving felt right, shooting felt good, etc. That’s probably the most important part for me. The way a game feels.
Some of my creations during this time:
There was originally going to be a 4 player battle mode that got cut out at the last minute.
What went wrong: Once again, quite a few things. A-star pathfinding for the enemies didn’t pan out, so I had to make them dumb and difficult. Multiplayer battle mode got cut. Actually I’ll just list the things I had to cut from the beginning:
- 4 other types of enemies (each with easy, medium, hard variants).
- A final Boss.
- A narrative.
- 4 different items (medkit, cooler, shields, teleporter, scanner)
- 7 weapons (flame thrower, gravity well, homing missile, freeze beam, x-ray cannon, force laser, disruptor blast).
- Some gameplay mechanics: strafing, gun cool down, primary and secondary weapon, a dodge, among other things.
- The other playable characters: Heavy, Sniper, Tech, Assassin, and Medic.
Of course I think I could have only made that game if I had been working as hard as I did those last few nights for the entire three months.
Futilely fixated on frantically finishing the final level furiously (alliteration!!!)
Although I felt the game was pretty solid and had an old-school feel to it, it definitely could have used some more work. I had a lot of fun creating it and coming up with ideas for things to implement. The hard part is really implementing them. This kind of frantic game creation can took it’s toll on my health too. In those last couple days I resorted to eating foods that were quick and easy to prepare. I had some “Lean Pockets” (I found it pretty funny that in Justin Fic’s postmortem for Kung-Fu Killforce he mentions eating “Hot Pockets” too) which were terrible. Along with energy drinks and all that other garbage designed to keep you awake. Anyway that’s no way to live. I prefer devving at a comfortable but constant pace. Several hours a day would be ideal. If anything, when I enter another competition like this one, I’ll have to re-read this! Always learning from our mistakes and achievements…
uDevGames voting process has begun. Go check out the games here: http://www.udevgames.com/entries
Be sure to download and vote for my game Ultra Troopers : http://www.udevgames.com/entries/227
(sorry, to the Windows/Linux users, this is MacOSX only)
Postmortem coming soon…