Game Development with Cocos2D-X on iOS and Android

The objective of my thesis is to present the development of a platform-independent game using mostly a common codebase.

In the beginning of the paper I present the game to be implemented and its require-ments, then I review the suitable technologies. This is followed by the presentation of the selected technology (Cocos2d-x), which is a free, open source framework - built on the top of OpenGL ES - simplifying the development of two dimensional applications by hiding the complexity of low-level graphical programming.

The paper continues with problems revealed during planning, and the appropriate solutions. The game consists of numerous - close to a thousand - minigames. The architecture, and the parent class of all minigame engines is presented. The objective was to create a structure where minigames can be created quickly and easily. This is followed by the brief presentation of a few minigames and some miscellaneous game elements (e.g. navigation or displaying results).

During development several necessary features emerged to which Cocos2d-x could not provide a complete solution. There is a separate chapter about the implementation of these missing features.

The game can only be used after authentication. The user's access to the subset of minigames can be dynamically controlled. Analytical data from the user's behavior is collected and sent to the server. There is a separate chapter about the communication with the server.

The application has been released to both iOS and Android, the uploading process and its difficulties are discussed in the end of the thesis.