Are any such things available to help me build my Android game?
closed as not constructive by Tetrad Jun 21 '12 at 12:51
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
EDIT: PSA: Keep in mind this answer was written in 2012, and 3 years later, a lot more of engines exists, and lots of them are made purely for mobile devices. Don't take this answer for granted and search google for more recent engines.
I port Irrlicht on Android and use it for 2D games. It is not the best solution but I have strong performances. I tried many Java Frameworks but the Garbage Collector can lag your games during 0.2s on G1 phone... So the framework should do allocation very carefully.
Commercial C++ frameworks:
- unity3D: very good (available on Android, iOS, Web, Windows, OS X) [Game: Rocket Bunnies]
- Unreal Engine (commercial): the best engine but not for beginners [Game: Dungeon Defenders]
Open Source C++ frameworks:
- SDL: probably best C library for game dev, open source and cross platform (mobile included)
- Ogre3D: the best open source 3d engine but it is a large framework
- Irrlicht: good performance, light framework [Game: Moblox]
- Linderdaum Engine: open source for Windows and Android
- Cocos2d-x: open source cross platform
Java Open Source Frameworks:
- LibGDX : Open Source, Very Popular, Supports multiple platforms, Support for Tiled, Box2D and other, Good Documentation
- AndEngine (Open Source): good performance. For documentation, look examples and read source code; but it is the Free library to begin a game project [Game: Drop Block]
- cocos2d for Android: Garbage Collector problem
- rokon: good performance and designed for mobile but project seems dead.
- box2d (OpenSource): fast and easy
- jbox2d (OpenSource): so slow on Java that I made a JNI wrapper with SWIG to use native box2d (AndEngine does the same)
- chipmunk (OpenSource): fast but I prefer box2d
- bullet (OpenSource): excellent 3D engine
Warning, with Froyo and JIT, Java libraries perform much better. But the Garbage Collector problems are always valid. With Gingerbread, the garbage collector is continous so no problem.
If you fancy developing in AIR for Android then you could use Flash. Flash itself doesn't have any game specific features, really, but thanks to Flash's success on the web there are a huge amount of 3rd party libraries for it especially designed for games.
Some of the more popular 3rd party frameworks for games in Flash include Flixel (http://flixel.org/) and PushButtonEngine (http://pushbuttonengine.com/), which are fully designed for game development. Flash also has a version of Box2D (physics engine mentioned above - http://box2dflash.sourceforge.net/) and there are various 3D libraries, such as Papervision (http://code.google.com/p/papervision3d/) if you want to go down that road in the future.
The main disadvantage of developing in AIR, though, is that I'm pretty sure that you'll need to target Froyo 2.2 or later, though, so older handsets will get left out.
Cocos2D-x is a port of Cocos2D for iPhone written in C++ targeting the Android NDK and is actively being developed to achieve feature parity with the iPhone version. It won't have garbage collection issues, and you will get a relatively easy port to iOS, Win32, and probably eventually OSX in the near future.