I would like to ask the following regarding developing Tetris- and Angry Birds-like 2D games for Android:

  1. Is Java the official development language for Android?
  2. What free or commercial Android development environments (like Xcode is for iOS) are available?
  3. What open source game development engines, like cocos2D, are available for Android?
  4. Are there any great tutorials available for developing such games?
  • \$\begingroup\$ Tetris and Angry Birds are quite different from each other. Seems strange to lump them together, as you may want to use different "tools" for each one. \$\endgroup\$
    – Adam Harte
    Jul 6, 2011 at 21:15

4 Answers 4

  1. Java is the default language to develop on Android, although you can use NDK (native C) for performance issues on specific parts. But basically, Java + OpenGL is fast enough for most 2D games.

  2. One of the best (in my opinion) development environments for Java/Android is Eclipse : you can download plugins for Android from the official website.

  3. You have Andgine, a free 2D game engine : http://www.andengine.org/

  4. You'll find many tutorials for Andgine on their website. If you're missing something, maybe ask for a specific topic here or on their forum.

  • 1
    \$\begingroup\$ Thanks. I will look into those and start developing. So is the simulation tools for mobile also available? Where can i get them \$\endgroup\$
    – footy
    Jul 5, 2011 at 12:34
  • 2
    \$\begingroup\$ The android SDK comes with a Virtual Device (which is an Android Simulator inside your PC to test your application). Although for a game I would suggest testing on a real phone via USB to have real performances (OpenGL is quite slow on the emulator) \$\endgroup\$
    – XGouchet
    Jul 5, 2011 at 13:52
  • 1
    \$\begingroup\$ I added the link into your answer. \$\endgroup\$ Jul 5, 2011 at 16:45
  • \$\begingroup\$ On the other hand, Eclipse is by many people considered an awful software. I prefer to use a non-IDE editor and compiling command-line. \$\endgroup\$
    – o0'.
    Oct 11, 2011 at 9:19
  1. The Android developer site doesn't make it clear anymore that the SDK uses the Java language, but that's the official language. Compiled languages can be used through the Native Development Kit, allowing for languages like C or C++ to be used; however, this is for augmenting Java code rather than replacing it.
  2. The supported IDE is Eclipse, and Google provides a plugin to help automate the creation, testing, and deployment of Android apps.
  3. There's a relatively new 2D game engine called andEngine which is LGPL licensed. There is also an Android port of the cocos2D engine you mentioned, which is New BSD licensed. Box2D is also available for Android, and is the physics engine used by Angry Birds and many physics-based 2D games.
  4. There are examples and tutorials available for andEngine, and more are being created all the time. For cocos2D you could adapt any of the many tutorials for iOS development; or find some specific to cocos2D-android. There's an example Android Tetris game you can use for reference and a Java Tetris tutorial you could use for guidance.

As far as engines are concerned, check out the Corona SDK . It's really easy to use (Lua) and there are a lot of great resources and tutorials available. It isn't free, though; there is a yearly subscription, but it's well worth the price.

  • \$\begingroup\$ You linked to DIY StackExchange, not Corona SDK. Was that intentional? \$\endgroup\$
    – Keeblebrox
    Jul 6, 2011 at 18:03
  • \$\begingroup\$ Sorry about that, fixed. \$\endgroup\$ Jul 6, 2011 at 18:52

I am developing an OpenGL application on android, and found that LibGDX is the way to go.

It has very high performance and runs on multiple platforms very easily (Windows, OSX, Linux, Android...). It was a steep learning curve for me as this is my first game and my first open gl application combined, and I truly suck at math - but its working and it looks good!

I develop and debug using Eclipse on my windows box and occasionally test the game on my android phone (A Rezound) just to make sure I haven't broken anything on android.

Doing the development and debugging natively on windows via LibGDX is awesome as it is fast and hassle free.

Doing debugging on the phone was getting old really quick as it was slow to load and install.

Good Luck


Not the answer you're looking for? Browse other questions tagged .