Disclosure Statement/Supporting Story: I *was not* supplied a free evaluation copy of Steffen Itterheim's book. I initially purchased this book through Google Books, but it was DRM bound to adobe's reading software, which was unable to index or search the document for text. I was unhappy with this and emailed Steffen directly asking for a DRM free PDF of the book equivalent to the one being sold by the publisher. I emailed him my receipt and he emailed me back a DRM free PDF of the book. It's hard for me not to support an author who clearly supports his product as much as Steffen does. In any case, find my brief review of the book below:
What to expect
What to NOT expect
Overall, this was probably one of the best game engine programming books I've ever read. The example games were interesting and relatively non-trivial. The information was generally not fluff--reading the book thoroughly is a must because there's a lot of advice given in the text that will help you with the engine later on. For example, in my game Total Toads, our particle effects were performing extremely poorly. I referred back to this book and immediately figured out from the particle effects section that it was because our particle textures were way larger than they needed to be! This book is definitely a keeper if you plan to make cocos2d games, I refer to it frequently! I'd definitely recommend purchasing this book if you have little to no knowledge of game engine programming, but do have some knowledge of programming in general (in objective-c). Knowledge of the Cocoa libraries are not needed for this book. I would've liked to see more information on generic game programming (i.e. common design patterns and techniques), but this book should be more than sufficient to teach you everything you need to know to make a simple first game. All you need to do is supply a good idea and some hard work.