Game Development Reference
In more than two years of working with cocos2d, I found plenty of opportunity and need
to improve the cocos2d development workflow by adding helpful code snippets, extend-
ing cocos2d classes, enabling easier cross-platform development, automating often-re-
peated tasks, simplifying the cocos2d upgrade process, and providing complete and ac-
curate documentation. Eventually, this culminated in the inception of Kobold2D, a game
engine that's still very much based on cocos2d-iphone but improves the workflow for
The goal of Kobold2D is to make it easier for new developers to work with cocos2d
while at the same time satisfying my own needs for a professional work environment
(and I hope yours too!).
Kobold2D merges the cocos2d engine with popular libraries many developers have been
using with cocos2d in the past. Some of these libraries have almost become essential
add-ons, including Lua, the new cocos2d-iphone-extensions project, SneakyInput, Chip-
munk SpaceManager, ObjectAL, and iSimulate. Kobold2D makes these libraries readily
accessible and usable by all developers—you just have to import a library's header files
and call library methods.
And by the time you're reading this I will have a version of KoboldScript available for
you at www.koboldscript.com . KoboldScript is a Lua scripting interface for
cocos2d with statemachines and game components.
In this chapter, I introduce you to the key concepts of working with Kobold2D and how
it changes the way you develop cocos2d-based apps. I guide you through the Kobold2D
version of the DoodleDrop project to illustrate how easy it is to write a game that also
runs on Mac OS computers—and to give you an introduction on Kobold2D user input