In the interest of full disclosure, I am a) a heavy iPhone user and game player, b) the founder and lead developer of an iPhone app development company currently producing games, and c) a reviewer of the book. I am the direct demographic targeted by this book, and I am the direct target demographic of the products which would be created using this book. I have also been involved in authoring / publishing before, so I have insight into how that process works. My purpose in this review is to give readers an objective review, from which they can make an educated decision on whether to buy or not.
In order to do that, while it is not the focus of this review, it would be a disservice to potential readers to let the other one-star review go unanswered. Opinion is fine. Unreasonable rants by anonymous posters taking issue with things that are at best petty, and at worse either bogus or unreasonable, and do nothing but damage the huge amount of work these obviously qualified authors have done to compile this information gleaned from their commercial game development experience. To the complaints:
COMPLAINT: "The book does NOT provide complete step-by-step walkthroughs of operations (although, they are generally 'good enough')."
ANSWER: So translated, the book's explanation of operations IS admittedly "good enough", it just wasn't the hand-holding this reader desired. Not surprising -- this is a 200 page book. The problem domain of game development could fill an entire library. The expectation should be as such, and the authors come right out on the first page of the book's Preface and deliver that expectation:
"Our goal was to write a book that can put iPhone game development in the reach of any programmer out there, in a format that suits both beginning and advanced game programmers...This book is not a five-year course on game programming technology."
Two words: Mission Accomplished.
COMPLAINT: The book does NOT contain complete listings of the project code text. This is a BIG problem.
ANSWER: Thank goodness for that. First, I'm not sure I've ever seen a technical book which put complete source code listings in the text. Second, if there were, I wouldn't buy it. I don't want 200 pages of print-bound source code. The purpose of a book from knowledgeable authors is to glean their experience and insight, not add bound source code to my bookshelf. If this is your goal, Google is your friend, there's plenty of source code out there. If you want gaming expertise, consult experienced authors by reading their book.
COMPLAINT: The source code is available on SourceForge, but it does NOT match the text in the book!!!
ANSWER: That's a funny thing which happens when authors update source code for the benefit of their readers. They get new and improved source code.
Ok, enough of addressing that, here's the real meat. You are in for a LO-O-O-ONG journey in understanding gaming programming if you are planning on doing this via reading source code listings. I guarantee you a 200 page book full of source code isn't going to get you very far. Gaming isn't OpenGL. It isn't Objective-C. It isn't artwork. And it is quite a different organization of code and program flow than the typical information processing type of iPhone application. What it is, is a different mindset, a different organization of resource processing, and a different organization of program flow.
Here are some key points of this book:
* This book introduces the reader to the logical breakdown of common game engine components. What IS a gaming engine, and what are its parts? A thorough explanation is contained.
* What does a gaming framework look like? How is that gaming engine and its components realized through an overarching framework, and what does each part need to address?
* How do the needs of game engines for 2D games differ from game engines for 3D games?
* What are some key implications which affect your design?
* Finally, all of the above are discussed in the context of the design of a sample game, from which relevant source code snippets are in print and explained in the book, and are supplemented by downloadable source code (which is exactly what I as a reader expect).
Quite honestly, if this book had NO source code in it, I'd still buy it, because I'm not seeking copy & paste. Command-C / Command-V isn't what I'm looking for. The value of this book is leaving knowing how to build my own gaming engine, with guidance from experts who have been down that road before.
So prospective readers, make your decision. My recommendation: buy the book -- if you are trying to move forward with your understanding of iPhone game development, this will definitely put you in the right headspace. If you decide not to, fair enough. You can buy it in the form of my company's iPhone games when they hit the iTunes App Store soon, thanks in part by the guidance provided in this book.