2013-08-10

About my Cocos2d-x game project

I am working on a new project using Cocos2d-x. There are some notes about the development.

Reasons why using Cocos2d-x:

  • This is a cross-platform engine; easy to port to Android and iOS with one set of Source.
  • It has a lots of documents, samples, books and supports
  • Some team in our company use it
The parts of Cocos being used:
  • Memory Management (CCObject has retain/release behaviour like objective-c)
  • String Utility
  • File Utility
  • BatchSpriteNode
  • GUI Nodes uisng Cocos buidler
  • Particle Systems
  • HTTP
  • Animation Action Handling
  • Screen Auto-fit
  • GUI Components
  • Zip/Unzip support
  • Audio Support
The parts implemented by ourselves:
  • Sprite Rendering with skin support (because need to integrate with our existing data)
  • Map Rendering (also need to integrate with the existing data)
  • Protocol decoding
  • In-game controls
  • Special UI Components
    • Full View
    • Popup View
    • Tab view
    • RichText Label
    • RichText Input
The parts using the 3rd parties:
  • Game Content Patching (using vcdiff protocol and xdelta)
  • Thread (using Poco::Thread)
  • Socket (using Poco::Network)
  • A* Path finding
  • Unit Testing (using UnitTest++, this is really good)
The tools have used:
  • In house
    • Sprite and Animation Editor
    • 2D Tile Map Editor
    • Game Event Editor 
  • 3rd parties
    • Cocosbuilder

The things I want to try:
  • Sprite and Animation of cocos2d
  • Texture packer
  • Run the Unit Test without starting the simulator
  • Profiling Tools
  • Other texture formats: ETC, PVRTC
(will update if there are something new!!)