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.
I am surprised that nobody mentioned libgdx. http://code.google.com/p/libgdx/
AndEngine is pretty new, but it is open source and looks promising.
Free Android 2D OpenGL Game Engine. AndEngine is developed by Nicolas Gramlich.
Unity3D (which can technically be used to make 2D games) is "coming soon" for Android: http://unity3d.com/
Rokon looks pretty good, haven't tried it myself but it seems pretty active.
androidbox2d is the android port of Box2D. Box2D is a feature rich 2d rigid body physics engine.
There's an Android port of SDL currently underway, and SDL is probably the best 2D graphics framework out there. It was designed by one of the leads at Blizzard, so you know some real expertise in game building has gone into it.
SIO2 Game Engine. Just released a new version with full Android Support. You can build 2D and 3D games using it and port between different platforms. http://sio2interactive.com
I'm working on an open source 2d game engine called YoghurtGum which is supposed to be for both Windows Mobile and Android. However, porting the whole thing to Android C++ has proven extremely hard.
This is most unhelpful answer ever, I'm well aware.
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.
PlayN is a multiplatform 2D game framework that targets Android in addition to HTML5, Flash and JVM. It is somewhat new, but was used to write the HTML5 implementation of Angry Birds, and has a reasonably active community.