So I've not been doing the whole development blogging thing lately *slappy handy* But my first appstore game is complete and submitted to Apple for review. Hurrah! :) It was submitted about a week ago, so that means total development time from concept, prototype to production and public beta testing took 10 weeks and a day. It'll probably sit waiting for review for a while, not sure how long these things usually take on Apple's side.
So much development stuff has happened over the past month it's been hard to keep a note of it all, so I'll post the highlights.
First of all, we have a finished game, it's titled "Last Minute Hero". The aim of the game is to survive as long as possible with limited ammunition. You can't be killed in the game, but if you fall within the range of a spider attack (or hug) you'll be stunned for a short period of time. See, unlike other survival games, in Last Minute Hero, you will not survive. A Happy Nuke clean-up missile is on it's way, and you have 60 seconds to make the most of it! For every spider you take down, you delay the missile's progress, pushing the clock backwards. There are 4 unlockable weapons in this release, all designed to be used tactically against the spider horde. For example, freezing them with the laser rifle, will lower their defence against other weapons! An online leaderboard keeps track of your current best time ranked among all players in the world!
The beta testing was a huge success; I initially opened up a small amount of limited slots for testers to apply through iBetaTest.com, a really good free service that makes test management easier. The slots filled up within 20 minutes of me posting, I also had a few people contact me through the toucharcade.com forums who wished to participate also. The feedback was really varied; some people commented on the game speed, others on graphic improvement suggestions, while others on the difficulty curve. Overall, their impression of the game was positive, so this gave me a bit of confidence to make changes and polish the game before final submission to Apple.
Polish is a bit of an understatement; at some points I completely recreated some of the textures I felt did not really capture the style I imagined. I also added support for bloom lighting on opengl es 2.0 devices, which adds to the Tokyo/neon lighting vibe I was after. The results look pretty good. The graphical changes and the implementation of the changes suggested by all the beta testers, pushed the game back by two weeks from my 8 week deadline. I think it was well worth it though. A huge thanks to everyone who took part in the testing, I owe you all a cold beer.
All that's left to do is prepare some information to send out to certain blogs, update this webby with game information and wait for Apple to hit the big old acceptance button.
I've started prototyping for my next project as well, so we'll see what comes out of that. Will post up my favourites as they are done. :) I'm also working on Game Center support for Last Minute Hero, for the next update, as well as a new game mode with achievements.
I'll have an in-depth project retrospective posted soon as well, in the form of: "5 things done well, 5 things to do better".
Almost forgot to mention, the game features a tune by the very talented Sabrepulse, he makes music on the gameboy. It's awesome! It also fits the game perfectly, as I was playing the track almost constantly while developing the gameplay. Creates an added sense of urgency, when you spot you have 10 seconds remaining, and only a few rounds of your shotgun left!
Game development is risky. There's a risk there might be a pipeline problem half way through. There's a risk there might be a game breaking bug. There's a risk the end product might not actually be fun. There are hundreds of risk factors.
Most likely, no matter how hard you prepare or think you are prepared in advance - something will go wrong. It might be small, but it will happen. It's like our brains force it to happen.
My method of risk management initially involves imagining all the possible problem areas that can go wrong before the project starts. I do this partly by imagining the complete development process, the tasks that need to be completed, the pipeline and flow and order of tasks. This also acts as a sort of vision, a goal that I'll work towards, day to day, to keep me on track. Our brains can work a lot faster than we can physically, it won't solve it for you, but it might make you more aware of potential pitfalls - on a subconscious level or not.
There are some risks you can't avoid however, and these are usually third party risks out with your control. My problems this week have revolved around the Unity beta crashing almost constantly when building for the device, and the implementation of OpenFeint for leaderboards. The unity bug is now resolved with the latest patch, but I think I won't be implementing OpenFeint after all, as my initial tests proved it to be slightly sluggish on the iPhone 3G. I hate implementing leaderboards, it feels like I do them at least once a month!
Next week, I'll be doing the dreaded sound design of all the enemies, designing and adding some sweet weaponry and hopefully finishing up the user interface and overall flow. The gameplay is coming along nicely, just needs some balancing work and more behaviours. I think this is the end of week 6, and my planning is only for a total of 8 weeks broken up into 4 smaller, 2 week sprints, so I guess this will be the final push. \o/
And then it begins again.
StarCraft who? Actually, before you jump to conclusions, no, I haven't been playing it instead of working. In fact, over the past week I've managed to get heaps of stuff done. Too much to even bother listing here, and some of it is pretty boring code stuff* anyway. So I'm going to talk about object management.. hell no! Here's a pretty video of the lightmapped environment I made last week with the beginnings of gameplay thrown in.
*Actually, the boring code stuff is actually pretty useful object management optimisation stuff, that'll I'll create a separate post about in the near future.
Blogging a bit early this week as I've made some good progress with the character animations as well as working on the feel of the character as the player navigates her around the battlefield. It's no way perfect but I'm learning a lot about animation as I go, especially for low-poly, 1-bone-per-vertex animations. It can be tricky to make them look and move naturally with such restrictions.
Uploaded a quick video snapshot (because still images are boring) :) Ignore most of the things in the video, they are pretty much all temporary. The controls aren't shown, but it's basically a joystick to control movement, a button to jump and a button to fire your weapon. To lock on to an opponent you tap them.