Game Development Reference
obviously didn't come with fully searchable online versions. The World Wide Web was
still in its infancy. All that information was stacked some 15 inches high on my desk,
and it seemed very daunting to try to learn any of it, let alone all of it.
Today, I can't recall most methods and APIs from memory, and I keep forgetting about
those I used to know. I look them up time and time again. After 20 years of program-
ming, I do know what's really important to learn: the concepts, what works well and
what doesn't, where to look for info when I need to learn, and why it's important to
learn and follow best practices. Good programming concepts and best practices stick
around for a long time, and they help with programming in any language. Learning
concepts is done best by understanding the rationale behind the choices that were made
in designing, structuring, and writing the source code. That's what I focus on the most.
What Beginning iOS Game Developers Will Learn
I also ease you into the most important aspects of cocos2d and Kobold2D. I focus on
the kind of classes, methods, and concepts you should be able to recall from memory
just because they are so fundamental to programming with cocos2d.
You'll also learn about the essential tools supporting or being supported by cocos2d.
Without these tools, you'd be only half the cocos2d programmer you can be. You'll use
tools like TexturePacker and ParticleDesignerto create games that are increasingly
complex and challenging to develop. Because of the scope of this topic, these games
aren't complete and polished games, nor can I discuss every line of code. Instead I an-
notate the code with many helpful comments so that it's easy to follow and understand.
I leave it up to you to improve on these skeleton game projects, and I'm excited to see
your results. I think giving you multiple starting points to base your own work on
works better than walking you through the typical Asteroids games over the course of
the whole topic.
I chose the game projects for this topic based on popularity on the App Store and relev-
ance for game developers, who often inquire about how to solve the specific problems
that these games present. For example, the line-drawing game genre is a huge favorite
among cocos2d game developers, yet line-drawing games require you to overcome de-
ceivingly complex challenges.