Cocos2D OR libgdx for Android Game Development

14,945

Solution 1

Consider using AndEngine. From a short look at libgdx, they seem similiar (Although AndEngine is 2D only). However, AndEngine has everything you need for a 2D game. The only thing it lacks is documentation, but it is open source - if you don't get something, take a look at the code.

There is an active forum here, and there is also a SO tag for AndEngine, so you can ask questions here too.

It also has many extensions for useful add-ons, like the physics engine Box2D which is a 2D cross platform physics engine used for many well known games (For example, Angry Birds uses it). It also supports TMX tiled maps, with a pretty easy interface (Actually that's the game I'm developing now, it's really easy to use the AndEngine TMX utillities).

So.. before you pick one of cocos2d or libgdx, take a look at AndEngine :)

@Greg That's not true...

It is easy to learn and good documented engine

There is almost no javadoc at all. But the forums are full with tutorials, and so is the web.

EDIT: From your comment at Greg's answer, if you are looking for easy developing, AndEngine is a good choice. From taking a look at that's cocos2d tutorial code, it seems much more complicated and less intuitive than AndEngine's code.

Solution 2

I will suggest libgdx too. It looks more promising than AndEngine.

Solution 3

I've tried both Andengine and libgdx. Have not tried cocos2d. Andengine performed really poorly. The main advantage I get with using libgdx is that you can run your app on the desktop rather than on an emulator or device, which makes iteration times much faster, which is essential for game development. If cocos2d can do this, then I think it's fair to use, but rapid iteration is definitely what sets libgdx apart from Andengine.

Solution 4

I am a newbie to both android game develop and libGdx.

By my 3 month experience, libGdx is quite fun.

Lots of demo, not bad document, and forum.

And Coco2d seems stop developing and the main developer has changed to use libGdx.

So I guess libGdx maybe a better choice.

Solution 5

i'm currently developing a game and i started with cocos2d. I struggled with it's coordinate system. Then i tried AndEngine, it was nice, but i was afraid of performance. So i switched to libGDX and im happy with it. It might look a little low level, but i think that you'll switch from other engines to libGDX eventually.

Share:
14,945
Saurabh Verma
Author by

Saurabh Verma

Lead Data Scientist (Applied Machine Learning space) with a background of Data Engineering and a solid foundation in Data Structures and Algorithms. My toybox includes Python, scikit-learn, Keras, pytorch, mysql, redis, Java, etc. Have been recently working on various nlp applications. Co-Founder: MetricsWiki (http://metricswiki.com), a platform for preparing for engineering competitive exams

Updated on June 07, 2022

Comments

  • Saurabh Verma
    Saurabh Verma about 2 years

    I just want to know, that in the long run, using which of these engines will be better. Although I feel that using Cocos2D will be a better option, as it can also be used for iphone development, there's just 1 tutorial http://dan.clarke.name/2011/04/how-to-make-a-simple-android-game-with-cocos2d/ which I've found so far. libgdx, on the other hand has a complete book.

  • Saurabh Verma
    Saurabh Verma over 12 years
    Thanks Jong. But Box2D and tmx utilities are also included in Cocos2D and looking at the popularity it has got over iphone, dont you think Cocos2D will ultimately become the most popular game engine on android ?
  • Jong
    Jong over 12 years
    I'm not sure about it. as Ludeivik said, cocos2d has it's weird coordinate system. And looking at its code, it is more like C or C++ than Java, all of these prefixes for classes and so on... That's weird. AndEngine also encapsulates both native Android calls & requirements (For example, you don't implement any activity life cycle methods, AndEngine does) and encapsulates OpenGL calls too. In fact, you don't even have to know it runs on OpenGL... The regular case won't require you to override any AndEngine OpenGL implementation.
  • badlogic
    badlogic over 12 years
    Just for the record: the box2d wrapper of Andengine is actually from libgdx. Libgdx also supports TMX.
  • Alexis Pautrot
    Alexis Pautrot over 10 years
    Don't use AndEngine. Use LigGDX.
  • StarDust
    StarDust about 10 years
    You are recommending everything :? Can't you just pick one between libgdx vs cocos2d?
  • Jonas
    Jonas about 10 years
    why is this the marked answer? libgdx really is the obvious choice here...
  • Jong
    Jong about 10 years
    Things were different the time this question was asked. I agree that now, thinking for the future, libgdx is a better choice.