I just finished Monsta Punch! yesterday. My goal with this project was to simply gain enough familiarity with Unity and Blender to be able to work at full speed before it came time to begin 2012′s big project.
Here! Play it! The character you don’t touch the controls for will get taken over by the AI after a few seconds.
It’s a simple enough game. Two Monstas punch each other until one of them wins. You have three actions: a quick punch combo, a heavy punch, and a block. Quick punches can be blocked, heavy punches can be interrupted by a quick punch, and blocks can be broken through by a heavy punch. Rocks, papers, scissors.
I was the sole developer, with Francis serving as producer during the last few days of the project.
The game was developed for the Unity engine and targeted at PC/Mac, web, and iOS platforms. Scripting was done in MonoDevelop (kill me). Character art was done in Photoshop, and animations were created in Blender.
What Went Right
1 – Art and animation: Oh my HELL did I have fun animating the characters for this game. Everyone I showed the game to loved the art style, which made me verrrry happy. I’m really excited to do more of this in my next project.
2 – Simple mechanics: The rock-paper-scissor fighting system is a lot of fun and adds a big layer of psychology to two-player matches without the AI.
3 – Architecture: Thank the gods I nuked the code base halfway through and started over. After just a couple weeks of intense textbook digestion, I feel like a leaps-and-bounds better software architect. The ease with which I was able to work with my own code at the end of the project (a rarity for me) confirms the progress I’ve made.
4 – First time writing a realtime AI: Writing AI for Fortress was pretty straightforward. When it was the AI’s turn, it could analyze a static snapshot of the game state and decide what to do. Monsta Punch!‘s AI needed to be realtime, making decisions as events unfolded. I’d never written such an AI before, but thanks again to lots of pre-reading, I was able to create a reasonably effective AI that was easy to extend and tweak.
5 – Test driven development: This was my first time using TDD, and while I got lazy with it after a couple weeks, I found it very useful and will continue using it in the future.
What Went Wrong
1 – Bad early architecture: I went into this project remembering the ASCII fustercluck that was Fortress, thinking that this time will be different. It wasn’t, and I ended up nuking everything after it became clear I was repeating old mistakes.
2 – No tuning or tweaking: This was by design, as I was only going for “good enough”, for extremely forgiving interpretations of “good enough”, but still, the game has very poor balance. The AI is dumb dumb dumb, and you can easily win by just mashing the quick punch button. But again, making the game perfect was never the point of this project.
3 – No art other than the characters: Again, no big deal, “GOOD ENOUGH”, but still.
4 – Test driven development fail: I stopped using TDD toward the end. It didn’t bite me in the ass, but the same may not hold true in larger, future projects.
5 – My drumming: That’s me playing the drums in the background music. Sorry guys.
AND SO
I had a ton of fun developing Monsta Punch!. I learned a lot, and that was my only real goal apart from making the game at least a little bit fun. With the knowledge I’ve built, I feel like I’m in good shape to dive into Guys! Stop Pressing Buttons! and really make some good progress right out of the gate.
Developers: 1 (me)
Producers: 1 (Francis)
Budget: $3000 – Had to buy my Unity license at long last
Length of development: About two-and-a-half months
Release date: 24 January 2012
Platforms: PC, Mac, Web, and iOS devices more recent than iPhone 3GS (so iPads and anything with a Retina display)
Development hardware: Late 2008 15″ MacBook Pro, 27″ Cinema Display
Development software: Unity, MonoDevelop, Photoshop, Blender, Xcode (for iOS deployment only)
Final SLOC count: 1821 SLOC, which actually seems a bit high, but I don’t argue with my tools when they behave as well as sloccount does

Congratulations Dude!
In fact the style of the characters are very cool.
Regarding te TDD, I have also started using it, but, hahaha, when the project got bigger I stoped using it, but is very usefull
And was easy to learn Unity and Blender?
Thanks!
Learning Unity and Blender by themselves wasn’t difficult. Getting them to play nice together, however, was finicky. There are plenty of threads on the Unity forums detailing every conceivable problem you could possibly have, though, so at least you’ll be well supported if you decide to give them a go. It’s worth the time you’ll spend getting it all straight!