During my lengthy period of unemployment one of the suggestions I was given was to become an iPhone developer as I actually was a professional software developer coding in Objective-C over ten years ago. Some people must think nothing changes in the computer industry in the average decade. I’ve tried most every other suggestion, I definitely don’t want to be a PHP programmer, so I’ve been working through various books and online tutorials and leaving the occasional question/comment on forums. Some people may have even noticed, I think most people talk about building an iPhone game and never even progress to having actual code to demo.
Peeved Penguins is an Angry Birds clone which you can make yourself following a tutorial on the website makegameswith.us, though the original tutorial may have appeared on Ray Wenderlich’s website, I think his wife did the artwork. Peeved Penguins is built with a framework called Kobold2d which relies on Cocos2d, Box2d, and of course various Apple frameworks. There is a lot of cut n’ pasting involved, but at some point you have to write some original code if you want all the features to work together. I had everything working pretty well up until enabling the more complicated physics model, now it works, but in my opinion not quite correctly. I have some bugs and changes to make, but I needed to show how it worked, so I recorded a video clip and uploaded it to YouTube.
I wasn’t smart enough to record a video clip prior to the last part of the tutorial and I’m not using source control so I have no proof or way to revert to my previously functioning version of the game. Source control is something that should be taught sooner in books and online tutorials for just this reason.
Besides having actual Objective-C coding experience and a degree, I also read “Beginning iOS Game Development” by Patrick Alessi which I found at Chapters in Nanaimo. This book just uses the built-in Apple Frameworks of UIKit, Core Graphics, Core Audio, GameKit etc. I think I posted a screenshot of one of the games you learn how to make in that book, but I never thought of recording a video of gameplay, those games look less impressive perhaps, but the code is cleaner and better explained than the makegamewith.us tutorial. They’re probably going to update their tutorial, I’m not sure if they are going to switch to using KoboldTouch, which seems to have superseded Kobold2d.
I ordered “Learn cocos2d: Game Development for iOS” by Steffen Itterheim and Andreas Löw. I’ve actually been in touch with both authors through email and social media. Steffen is the main coder behind Kobold2d and KoboldTouch and Andreas created both TexturePacker and another development tool he wants me to try. He even gave me free licenses to his software, take that Klout!
I plan to spend some more time debugging and improving my version of Peeved Penguins. I don’t even own Angry Birds so I’m not exactly sure how it is supposed to work, but I do know my level code, my sound effects, and even my physics and game model don’t seem quite right now that I have Box2d handling the physics for all the sprites. I’m going to have to read some more documentation. Peeved Penguins will never be in the app store, besides being completely unoriginal it uses other people’s intellectual property, but the folks behind makegameswith.us and the tools and frameworks used can and are used by commercial games, even some of the very successful iOS apps. So if you ever wanted to make an iPhone game but were too cheap to buy a book, you can follow tutorials online, ask questions in forums like Stack Overflow, just try not make any embarrassing typos in your plist file.