Cocos2d for iPhone 0.99 Beginner's Guide Review

Alex SikoraMar 15, 2011

Introduction

Cocos2d for iPhone is an iOS game engine used by many people to create 2D games for the iPhone, iPod Touch and iPad. It is freely available at cocos2d-iPhone.org. Cocos2d advertises itself as easy to use, with features such as Sprite and Sprite Sheet management, scenes and transitions, physics engine integration, tile map support and many others. It has an active community, and the book I’m reviewing today is even written by one of their more active community members.


The book Cocos2d for iPhone 099 Beginners Guide by Pablo Ruiz, was written to introduce developers to the Cocos2d framework, and teach them how to use it to write their own games for iOS devices. Although I have written quite a few iOS applications and games, before reading this book I had very little to no Cocos2d experience, which put me squarely in the target audience for this book. After having read the book closely to teach myself Cocos2d, I can say that the book both succeeds in some ways and fails in others. Overall, the impression of this book is less of a technical exploration of Cocos2d in detail, and more of a very long tutorial needing another coat of polish.

The Good

This book is quite long, coming to an end after 348 pages. I find this as a plus; the more the author can tell you the better, especially for an introduction to something such as a game engine. The book is very much designed to be read straight through, cover to cover. This can be very nice for a new user to the Cocos2d framework. The author also covers a wide variety of topics in his book, everything new Cocos2d users would need to make a game themselves. There are 3 practice games that the author guides the reader in creating throughout the course of the book. The games are practical and realistic (such a Bejeweled clone), as well as being fun games that many people would play every day.

Furthermore, the author also has a chapter on the open source physics engine, Chipmunk, that is bundled with Cocos2d. Chipmunk was developed by one of our own here at iDevGames, and is an excellent physics library. For new users of Cocos2d, it’s great to go through the practical examples of implementing the library inside the example game in that section, “Totem Balance”. Considering physics puzzlers are becoming an increasingly popular game, this section is a nice addition to the book.

The Bad

The first major complaint I have with the book is it doesn’t feel finished. Indeed, like the 0.99 in the title, it seems a step away. There are grammar errors and typos in the book itself, as well as the code provided in the book. This can be very frustrating, as nothing is more annoying than trying to fix code that should be working, although it can make you a better programmer. The author also occasionally simply states something to do without further explanation. Those aspects lead to the book feeling a bit hurried. Furthermore, the code style in this book is not the best for any programmer wishing to do other things. In other words, it doesn’t really match many Object Oriented practices or the Model-View-Controller paradigm. Although practical game development sometimes necessitates some unorthodox techniques, the author could use better style and methodology in his examples.

Conclusion

Overall, the book seems like someone wanted to write a really long tutorial for Cocos2d and then repackaged it into a book. It’s not so useful as a reference, but it can be used more as a guide. Sure, the bugs and typos are a bit annoying, but it will probably make you better to have to fix them. I know I learned little extra tidbits trying to fix bugs.

So then the question is: should you buy this book? Although this is the ultimate point of any review, instead of providing a simple thumbs up or thumbs down I’m going to qualify my answer as follows:

Are you entirely new to programming and game programming?
If so, I recommend that before you get this book that you learn the basics first. “Cocos2d for iPhone 0.99 Beginners Guide” is for the beginning Cocos2d user, rather than for the beginning programmer. Learning the basics first will be much more boring, but you will learn to program better and have better understanding.

Have you already done some programming and are interested in making iOS games with the Cocos2d framework?
If you want a nice guide through the features and use of Cocos2d, to get a headstart on making your own games, then this guide is just for you.

Chapter List

  1. Getting started with Cocos2d
  2. Playing with Sprites
  3. Let’s do some actions
  4. Pasting Labels
  5. Surfing through Scenes, Layers, and Transitions
  6. Menu design
  7. Implementing particle systems
  8. Familiarizing yourself with Tilemaps
  9. Playing sounds with CocosDenshion
  10. Using physics engines
  11. Integrating Cocos2d with OpenFeint

About the Author

Alex Sikora has been a member of iDevGames since 2003. He is a student at the University of Illinois, currently majoring in Computer Science. He works at a startup in Chicago making iOS applications, and makes games in his spare time.

uDevGames 2011

Convergence — Best Gameplay
Kung Fu Killforce — Best Overall Game, Best Audio, Best Presentation
Flying Sweeden — Best Graphics, Most Original
Time Goat — Best Story