For me – the biggest stumbling block in iPhone development was how games programming worked with object oriented programming (OOP). For some reason, my brain couldn’t make the jump from procedural programming to this new way of thinking which in turn made game programming very hard. I’ve bought a whole bunch of iPhone related books in the last two years, which included the obvious world-renowned ones such as Programming in Objective-C (Stephen Kochan) and Cocoa(R) Programming for Mac(R) OS X (Aaron Hillegass) and some more obscure books. But I was still missing the crucial part of knowledge – how games all hung together in iOS.
So while searching the web I found lots of interesting articles and sites which were dedicated to this cause. Amongst them, I discovered 71Squared.com which housed a number of tutorials on building a game from the point of a non-professional developer. I loved it – just the kind of thing I was looking for, though never found the time to actually finish the tutorials. Anyway, to cut a long story short – Michael Daly then released a book presumably related to those articles called Learning iOS Game Programming, which I immediately bought and started working through.
As a brief summary, the book follows the development of a game “Sir Lamorak’s Quest” from concept to completion. What makes this fairly unique as far as printed material goes is the fact you can download the game for free from the App Store and see it before you get cracking with learning about how it was made. The book has it’s positives and negatives…
The positive stuff
- A great way to see a completed game engine for a working, tested game
- Good coverage of utilities used at various stages
- Some great explanations of concepts used throughout the project
The negative stuff
- A solid grounding of Objective-C is required
- Explanations are less clear as the content becomes more technical
- You almost feel like this book was comprised of code comments *
Okay, so I feel like I have to explain (*) this. When the book begins, the explanations are clear and open. You get a good feel for how the project will progress and what will be involved. However, when the chapters start to become more code oriented the explanations turn into the kinds of things you would see in code comments. In fact, at some points you can trace through the code comments and read similar comments in the book but not much in the way of explanations. From a coding point of view, this is actually helpful because it’s detailed. My problem was, I lost sight of the bigger picture as a result.
I admit I’m only half way through this book (about to start the intro to animation) but it does bridge the gaps in some areas where I was previously lost. I would certainly recommend the book for people who are at an intermediate level in iPhone programming but for those who are starting out, save your money until you’re ready to tackle writing an engine. I take my hat off to Mr Daley though – this was something nobody else seemed brave enough to tackle!