Cocos2D – Enabling iPhone Game Development in Hours
About a month ago I purchased an iPod Touch and began experimenting with iPhone SDK and exploring various user interfaces and applications released in the App Store. I haven’t really spent all that much time in the last month experimenting as my day job has been keeping me quite busy, as well as a few other ventures I’m working on in the evenings. With that said, I read one or two ‘intro to objective-c’ articles which were fairly basic and assumed prior programming knowledge. Getting a general grasp of Objective-C in a few hours, I followed a couple of ‘Hello World’ style tutorials for building ‘your first iphone app’.
All of these left me puzzled and quizzical in the end, wondering … how I did it. I know ‘how’ I did it, but I didn’t understand ‘how I did it’, if that makes any sense at all. Objective-C is quite an odd language, for a person with my background at least … C, C++, Python, Perl, Basic, Visual Basic, C#, JavaScript, ActionScript, etc, etc… to name a few. Objective-C is very similiar to all of these, however, it’s use of brackets just confuses me and makes my eyes roll into the back of my head.
I researched a little, and found a handful of Game Engines that support the iPhone Platform, such as Unity 3D, Torque Game Engine, Torque Game Builder, Shiva and Oolong. I own a Torque Game Engine license, as well as a Torque Game Builder and Unity license as well. I have experience with these engines, and thought they would be the best way to get started with iPhone Game Development. Sadly, the cost of the licenses for iPhone support are quite high. Well beyond the reach of a simple indie game developer who has yet to make a penny out of his hobby.
I ran into the Cocos2D library, and found that it also has support for the iPhone Platform. A ported version of the Cocos2D project to Objective-C, named Cocos2D-iphone seemed a likely choice for a quick start. I did a little digging around, read some documentation (what little there was), reviewed some samples and watched a couple of Videos from the Cocos2D project to get a general grasp of how the library works.
This morning, I started around 10am and by 5pm had an almost feature complete ‘working model’ of a Space Invaders clone. Written entirely in Objective-C, using Cocos2D-iphone.
Now, I must say … it took quite a bit of digging to find the things I needed, and most of the information I needed to know … was retrieved from undocumented sample code. Good thing I can read code, eh?
I am hoping to finish up my Space Invaders clone, and release it to the App Store in the near future. I only had the day to work on the project, and was quite impressed with how much I achieved in such little time. Cocos2D-iphone definitely gets two thumbs up from me. It’s the perfect library for my next project as well (the space invaders clone is not an official project, it was just a quick way to learn Cocos2D-iphone and Objective-C).
iPhone… as a Desktop Workstation?
I just read over an interesting article from Hamid Shojaee, about a “thought experiement” that he and Angelo Coppola performed recently. The end result, a concept that is most likely not too ‘far fetched’ to actually become reality … sooner then some people might think.
The idea is pretty simple, take an iPhone, ‘dock it’ to a 17″ Monitor ‘base station’, toss a bluetooth keyboard and mouse into the picture … and, Viola!
I don’t believe I can say much about the idea that Hamid or Angelo haven’t already, so, give their articles a read … I’m pretty sure you’ll be picking up your jaw and wiping the drool off your keyboard before you get to the end.
The original articles can be found here:
Hamid -> iPhone Desktop: Unleash the Leopard in Your Pocket. $299.
Angelo -> Set the Leopard Free


