Not every application should provide a game-like experience, but game-like animations, sounds, mechanics, and user interfaces are appearing more and more in the latest mobile and web applications. This information should come as no surprise. After all, “gamefication” of products continues to be a hot topic at many major technology conferences, and games themselves dominate both minutes spent and revenues in the highest-growth platforms of the last 5 years: social networks and mobile devices.
Because of this growing importance of game-like features in non-game services and the prominent new trend of designing for smartphone and tablet application experiences first (rather than as an add on to a web service), I thought it would make sense to run a quick comparison of open source options that game developers are using today for developing high quality mobile games.
One of the most popular iOS game development engines, Cocos2d-iphone grew out of the initial Cocos2d project in Python, and has been used in thousands of iPhone apps and games, including some chart-leading titles. Cocos2d-x was recently developed (last summer) to bring the Cocos2d engine to an API-compatible C++ code base. Games can be written on top of the Cocos2d-x engine in C++ or Lua. The Cocos API handles text, buttons, sprites, animation, Open GL ES rendering and effects, particle effects, physics, tilemaps, parallax scrolling and sound.
One of the “2011 Open Source Rookies of the Year,” the Moai Platform consists of the Moai SDK, used to build native game clients for multiple devices, and the Moai Cloud platform, which game developers use for persistent data storage, custom server-side game logic, downloadable content, cross-device leaderboards, and player achievements. Games can be written in C++ or Lua, and the Moai API covers Open GL ES rendering, sprites and animation, scene management, physics, particle effects, text handling, and sound. Major independent games Double Fine Adventure and Shadowrun Returns have been announced as games that are being made with Moai and plan multi-platform releases to iOS, Android, PC, Mac, and Linux.
- License: CPAL-1.0
- Source code: C++
- Platforms: iOS, Android, Mac, Windows, Linux, and Google Chrome
- Website: https://www.getmoai.com
MonoGame is an Open Source, OpenGL implementation of the Microsoft XNA 4 Framework, with all the features of XNA for 2D game development, and 3D game support close to complete. XNA developers on Windows & Windows Phone can use MonoGame to port their games to the iOS / Android / Mac OS X, and Linux. Note that because of XNA’s roots in Xbox development, MonoGame app networking is currently limited to local networks.