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.

15 Answers 15

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.

Physics Engine:

  • 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.

  • 1
    I'd also like to add cocos2d-x, it is on the MIT license and works on both Android, iOS, and Windows Phone. I believe this is different than what was mentioned above since this one is specifically in C++ not Java. – Jamornh May 23 '12 at 18:19
  • AndEngine borrows the box2d wrapper from libgdx. – Matsemann May 24 '12 at 15:46
  • 6
    Unity3d is not C++. It supports C#, a Javascript dialect and boo – lhk Dec 27 '12 at 11:22
  • You can definitely do it through native if you wanted to as well. The guys who made Tiny Words did… – John Moses Oct 23 '14 at 15:15
  • 1
    SDL is not Java; it's C. The Java you may have experienced is a wrapper/bindings that calls into the C code. None of the engine's functionality happens in Java. – Slipp D. Thompson Jan 13 '16 at 16:23

I am surprised that nobody mentioned libgdx.

  • libgdx and AndEngine are best for 2d, here you can find some more link – michael Mar 9 '11 at 13:21
  • @michael AndEngine forum tutorial sticky: just use a fork of a fork of AndEngine ... a lot of trouble, bugs. I don't recommend to learn it from there. – matheszabi Oct 5 '13 at 23:46

AndEngine is pretty new, but it is open source and looks promising.


Free Android 2D OpenGL Game Engine. AndEngine is developed by Nicolas Gramlich.

  • 1
    I've done a little experimenting in this, coming from Cocos2d on iPhone, and it seems pretty nice so far for sprite based 2d games. The project seems active and has a decent forum community around it. – Matt Guest Aug 30 '10 at 20:13
  • About AndEngine... I started making a pretty basic game and after a while I started finding negative review about AndEngine especially its performance with lots of sprites. So, I did a test and added 20 sprites to my game while still in early dev. I did everything "by the book" and it nearly murdered my HTC desire Z. Pretty disappointed and switching to LibGDX. – user6484 Jul 27 '11 at 6:00
  • @AscensionSystems I don't know what you did there, but I know you were doing it wrong. With a Desire Z you can easily have hundreds of moving Sprites on the screen. Simply run the benchmarks in the examples and you'll see how to do it right. – Nicolas Gramlich Oct 19 '11 at 9:19
  • Thanks Nicolas I appreciate the fact that you're "sticking up" for your engine but frankly I wasn't doing anything wrong. It has something to do with android and a bug with VBO's calls also triggering the GC. I could get andengine working fine by disabling VBO's but that also made my phone get so hot it would glitch out after about 5 minutes of play. I had the same issue with libGDX, so I wrote my own engine in C++. Also you can't get "hundreds" on the screen using the examples app. I could get about 90 128x128, 2 "frame" animated physical sprites before it would lag with your engine. – user6484 Oct 22 '11 at 22:48
  • (continuted)... in my engine I can get 170, 512x512, 16 "frame" animated physical sprites on the screen before I see my framerate even start to dip below 60 fps. – user6484 Oct 22 '11 at 22:49

I think you could use the game Replica Island from Chris Pruett as an example of a 2d game. I think it is supposed to be a base for other games as it is explained in this video from the Google I/O 2010. You could watch the game here.

  • Yeah, thats a good video, definitely worth a watch especially when he talks about efficiency. – Spidey Jul 14 '10 at 20:06

Unity3D (which can technically be used to make 2D games) is "coming soon" for Android:

  • Yup I totally agree. Secondly, if you pay for Unity3D licenses, you can publish same work for multiple platforms. So you start with FREE WINDOWS/MAC licens. Learn the program. Then upgrade the licens to what ever platform you see fit first. Currently Android though, is only PRO edition which means you need Unity3D PRO + Android PRO = $3000... – BerggreenDK Dec 29 '10 at 23:54
  • Having made 10-15 2D games using Cocos2D for iOS, I made one using Unity 4.6 and it was an awful experience, slow and buggy - for iOS - can't say anything about performance for other platforms.. While 4.6 improved quite a lot working with 2D stuff since earlier, it's nowhere near a dedicated 2D rendering engine like Cocos2D or probably most other. Performance is awful and they are still fighting with iOS 64 bit support. That said, of course the multiplatform strength is the biggest... strength. – Jonny Feb 26 '15 at 1:41

cocos2d for Android is based on the iPhone cocos2d library. I'm not sure how usable it is at the moment but it's worth checking out.

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.


  • +1 for Slick2D -- I've done a little bit with it and it seems pretty solid. The developer has released a couple of Android games based on it, too. – mrohlf Aug 30 '11 at 17:54

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 ( and PushButtonEngine (, which are fully designed for game development. Flash also has a version of Box2D (physics engine mentioned above - and there are various 3D libraries, such as Papervision ( 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.

  • In addition to AndEngine, I've been playing with the AIR for Android Betas, and they are pretty nice, if a little slow. I think it'll work well for strategy games, or action games without too many elements. I've been working with the beta on 2.1 though, so the final release on 2.2 might be significantly fast, I'm not sure yet. Definitely something to watch. – Matt Guest Aug 30 '10 at 20:16

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.

Not the answer you're looking for? Browse other questions tagged or ask your own question.