Cocos2d-x vs LibGdx pros/cons

Started by
2 comments, last by jwezorek 10 years, 11 months ago

Hey there!

Few weeks ago me and a friend of mine decided to start developing games - mainly for mobile platforms (and firstly, for Android, because we don't have any Apple devices yet). At first we will create some simple games to get used to a workflow we need and after that we are planning to create some 2d sidescrollers and adventure games (later, 3d is an option).

I was searching through the topics here and the Internet as well and I have met with to viable options for us - Cocos2d-x and Libgdx. Of course there are more, but these were appealing to me.

My first point was to be able to create games for multiple platforms easily - I think this is a pro for both frameworks, but can you share some thoughts/experiences about these too?

Of course, one is built around C++ and the other is built around Java, none of the two is a problem (I am better at Java but I have enough experience in C++ to start developing). I also saw that there are many discussions/tutorials/videos/whatevers about both.

I am just curious which you would choose for your projects, which you did chose before and why?

Thanks!

Richard

daylight: Java EE

moonlight: Game development

Advertisement
You can still use cocos2d-x but it is hard to set up well to me.
Also libgdx is in active development. The guy who made libgdx, Mario Zechner made a book called Beginning Android Games 2nd edition. So I suggest you read that then start with libgdx by learning the official documentation on the libgdx website. Also if you have saw ludem dare entry #26 Mono. That game was made in libgdx in 48 hours, I suggest you see it. Also some tools like Spriter (animation tool) and Tiled map editor can help also with game development. You can deploy libgdx to the web also.

Good luck
My personal preference would be toward LibGDX, but there are many people who use and love cocos.

Both systems are different, both have their own styles, both have their own quirks.

There is no right answer to which is better or worse in the general case.

One may be a better fit to your project or to your coding style, and that is the one you should probably take.

I don't know anything about libgdx so can't really comment on it. On cocos2dx here are some thoughts:

  • People who choose cocos2d-x tend to fit the following profile: they like and are experienced in C++ development, the primary target for the initial release of their game is iOS devices, and they want to leave the door open for an Android release in the future. I get the feeling that LibGDX is similar but replace C++ with Java and swap iOS and Android.
  • cocos2d-x is not a good choice for someone's first foray into game development for a number of reasons but chiefly because the documentation is terrible; cocos2d-x documentation is essentially non-existent. You have to work with the cocos2d objective-C documentation and the cocos2d-x source code and post in the forums when you get really stuck. It is not that big a deal if you have done this sort of thing before but I could imagine someone who totally new to software development and 3rd party libraries and so forth just not being able to proceed beyond getting a tutorial to build.
  • That said, cocos2d-x is not fundamentally flawed and will get the job done. It has a lot of warts (and some day I am going to do a blog post about the ones I have encountered) but I have encountered nothing that I couldn't fix or work-around.

This topic is closed to new replies.

Advertisement