Back to profile

2011 — 2012

Mobile game · iOS to Android

Porting game logic to C++ and Cocos2d-x.

Game developer

The challenge

Port an existing iOS game to another platform.

What I built

  • Studied the existing codebase.
  • Ported game logic to C++/Cocos2d-x.

Results

  • Ported game logic from Objective-C/Cocos2d to C++/Cocos2d-x.
Components & connections

Original game

  • iOS gameExisting codebase and game behavior.

Porting

  • Game logicPorting game systems to C++.
  • Platform APIsMapping platform capabilities.

Target platform

  • Android versionTarget version built with C++/Cocos2d-x.
  1. iOS game→Game logicport systems
  2. iOS game→Platform APIsmapping
  3. Game logic→Android versiongame behavior
  4. Platform APIs→Android versionadaptation

Engineering takeaway

Context

Commercial mobile game development.

  • Preserving game behaviour across platforms.

Approach

Mapped platform APIs and progressively ported the game systems.

  • Preserved game behaviour while changing the language and framework.

Lessons

  • Porting teaches you to separate product logic from platform-specific behaviour.

Stack

  • Objective-C reading
  • C++
  • Cocos2d
  • Cocos2d-x

Skills

Products, systems and ideas brought to life in working software.