If you want to make an iPhone/iPad game, you can’t go wrong with cocos2d. It is an awesome framework entirely written in Objective-C that makes it incredibly easier to work with the platform and has been used in many successful games since its release. The only limitation of cocos2d, as its name very aptly indicates, is that it is suitable only for 2D games, so until now if you wanted more than that you would have to find a different framework or engine (e.g., Unity). Thankfully, this has changed with the arrival of cocos3d.
Cocos3d is an extension of cocos2d and shares many of its features and characteristics. From the announcement:
Integration with cocos2d is seamless. Rendering of all 3D model objects occurs within a special cocos2d layer, which fits seamlessly into the cocos2d node hierarchy, allowing 2D nodes such as controls, labels, and health bars to be drawn under, over, or beside 3D model objects. With this design, 2D objects, 3D objects, and sound can interact with each other to create a rich, synchronized audio-visual experience.
Like cocos2d, cocos3d is written entirely in Objective-C, and many of your favourite cocos2d paradigms, such as CCActions, are available for 3D objects. And like cocos2d, it is distributed for free under an MIT license.
The fact that it is integrated with cocos2d means that the entry barrier will be low for anyone already familiar with the original framework and even the new users should have an easier life because of the extensive material already available for it.
This release is awesome news and if cocos3d is able to do to 3D game development on the iOS platforms the same thing that cocos2d did to 2D game development, we are in for some very exciting times ahead!
If you have any interest in cocos3d, don’t forget to read the original announcement, since it’s packed with a lot more information, including a list of features and lots of links, including the download link, programming guide, forums…
I don’t know about you, but I can’t wait to see the first games being released with this extension!