8-bit iPhone Game Development
A lot of people have been asking how I got to where I currently am with Mimeo and the Kleptopus King. Despite starting out with a very clear goal in mind (a pixelated, console-inspired game on the iPhone and iPod touch), there wasn’t an obvious path to that goal. This is a brief review of my circuitous journey.
First I had to get a handle on the core languages of C and Objective-C. Plain old C was relatively easy to pick up with a PHP/JavaScript background though occasional Google searches (usually ending up on Stack Overflow) are still required to fill in the gaps in my knowledge. Aaron Hillegass’ Cocoa Programming for Mac OS X was an excellent introduction to Objective-C and the Cocoa Framework (as well as Apple’s developer tools, Xcode and Interface Builder).
Simon Maurice wrote a number of articles that helped me get up to speed with OpenGL on the iPhone. Unfortunately, due to a conflict with his employer these articles have since been taken down. I wish I had had the foresight to archive a local copy. Update: reader Max found a mirror of these articles (including Chinese translations). Huzzah!
Then I did an audit of various game engines to gain an understanding of how a game works from a high-level architectural point of view as well as the low-level solutions to problems unique to games. The two that proved most informative were Cocos2d iPhone (Cocoa/iPhone) and Flixel (ActionScript/Flash).
Even with all of this research behind me I was still a bit lost. I went through a number of subpar iPhone and game development books before O’Reilly’s iPhone Game Development was published. While a bit thin overall the chapters on Game Engine Anatomy and the 2D Game Engine were invaluable; without this book I’m not sure I would have been able to put all the pieces together and translate the knowledge and understanding I had acquired into an actual piece of playable software.
And the learning continues, most recently figuring out how to compose music for the NES sound chip for use in the game.
Despite this review reading like a sequential process, it was anything but. There were a lot of missteps, horrible books, and overlapping content in between but it’s the wrong decisions that make you appreciate the right ones.