libgdx or playn?
Asked Answered
S

8

23

I'd like some help chosing a framework for cross platform mobile game development. I have narrowed it down to libgdx and playn

I plan to make games mainly targeted for Android but i would also be able to release them on ios and as html. I know that libgdx does not currently support ios, but i also know that it's on its way, and I have faith in the developers.

If someone has experience of libgdx and/or playn (preferably both) I'd really appreciate if you could share your experience and which you choose and why.

Stateless answered 14/8, 2012 at 23:11 Comment(1)
Could you share why cocos2d-x did not make your list? For me it comes down to libgdx vs. cocos2d-x but I have not heard of playn before.Diplosis
S
17

I think at this point either would be a good pick. Here's why...

I haven't used Libdx, but I've perused their site. I think both projects look pretty good. If I were picking a Game Engine my decision would come down to features, stability and support.

Starting with support, both projects seem to have pretty dedicated contributors. Michael Bayne of PlayN is a machine of a coder. Mario of BadLogicGames (libgdx) seems to be pretty dedicated. Both projects seem to have a healthy group of contributors & advocates.

Regarding features, they seem to be pretty evenly matched. Both will make creating a 2D game, a great experience. Libgdx seems to have the edge on the 3d front, but if you're expecting to be able to easily create a KILLER 3d gaming experience, neither framework will do the heavy-lifting for you. Libgdx does not seem to be even as far long a 3D toolkit as say JMonkey, which also can't compete with commercial kits.

Let's be honest, if you're trying to make a commercial 3d game to compete with other commercial offerings, you're going to have to license a commercial 3D engine (and have a pretty competent team). Neither project is going to provide the tools you need to get beautiful images up and running quickly... compared to say Unity's engine.

http://www.youtube.com/watch?v=Fc9m0Z1GDg8

The PlayN guys seem to be much more cautious about attempting to offer good 3D APIs without compromising the 2D APIs and the experience of working with them. Here you can read their cautious discussion about the best way to even expose the OpenGL ES 2.0 layer.

http://goo.gl/5f3ls

Libgdx's approach seems to be more aggressive by comparison. Both have pros and cons. I have some 3D calculations in my game using Vecmath sitting on top of PlayN. It's code, you can mix and match where feasible.

Given that they are pretty similar frameworks in terms of purpose and execution, there's likely to be a fair bit of cross pollination. You can see here that large parts of the Maven support for Libgdx was copied from PlayN's config.

http://www.badlogicgames.com/wordpress/?p=2707

Moreover, libgdx only supports iOS because of the work that Michael (PlayN) did creating IVKM. Mario then had to add JNI support for his C++ features as well.

http://www.badlogicgames.com/wordpress/?p=2791

Both projects are aware of the other and are mutually learning from the way each is beating a path forward.

In terms of stability, that's best gauged by the successful projects that each has. Tupsu & AngrybirdsChrome on PlayN, Ingress & others on Libgdx.

PlayN is pure java in as much as it sits on top of the Android/html apis etc. Libgdx seems to have some C++ on some platforms. This very much depends on what you are doing, i.e. for the web no C++ modules can actually be compiled by GWT. Further, Java is of comparable speed to C++ (usually a little slower, sometimes faster) providing you can keep the GC at bay and aren't dogmatic about how you use the language.

Having said that, C++ may still be useful in certain use cases.

Someone else answered that that Libgdx can support huge sprite throughput on single-core phones implying this is because of C++. This is NOT the area where libgdx is using C++. See features.

http://libgdx.badlogicgames.com/features.html

Both frameworks are likely to perform similarly in terms of sprite thoughput. You can have fun on with PlayN's web performance test here. Click on the stats counter to increase number.

http://samskivert.com/playn/perf-test/

Both have things like menuing UIs that sit on top of the frameworks.

Ultimately I'm sticking with PlayN, because I see no real reasons to switch yet and that's what I started with. Your mileage may vary.

Sisak answered 15/6, 2013 at 13:26 Comment(2)
Balanced, comprehensive answer.Tranquilize
My answer is quite out of date now with developments like RoboVM. Michael's code is still the most immaculate out there. You'll become a better coder just from studying his code. However, there are definitely advantages due to the size of the Libgdx community and the speed at which they move.Sisak
L
13

My vote goes for libgdx. libgdx seems more extensive than playn, has a very active community, supports almost all the platforms (some supports coming soon) that are supported by playn and is very well documented. Moreover, if you are particularly targeting Android (as your question suggests), I would rather say the libgdx is the de facto framework for that.

Lollop answered 23/8, 2012 at 11:37 Comment(0)
A
9

My team is already developing with libgdx and it works great. You can add box2d for the physics and don't need the bad android emulator to debug. All is done with java and you only import the project to your android project and can try it on any device you choose. You also have the windows/web project and the iOS is coming soon. So don't worry, libgdx is a good choice.

Announcer answered 23/8, 2012 at 18:54 Comment(0)
D
7

I have not done any release games with libgdx, but it would get my vote. You have to consider the risk of not developing a successful game on any platform if you choose the wrong framework. just looked at playn and it seem that documentation is not there, user group activity is not there, and its just not far enough along. You should also consider Cocos2d-x which is supposed to support both platforms. I have a sense that libgdx is unstoppable as platform for writing games on the Android side at least.

Diplosis answered 14/8, 2012 at 23:33 Comment(1)
By all means sing the praises of Libgdx, but this answer seems pretty ignorant. Have you tried posting a question in the PlayN forum? Michael has always been pretty quick to answer. At the time this answer was posted, it was & is being actively developed by a COMMERCIAL team, as well as the greater community: threerings.net/about/crew.htmlSisak
L
1

I don't know about the other one but for me libgdx is a great engine I just graduated from highschool and had been coding for a year now. Through libgdx I created various apps for iOS and android in just 1 week of learning libgdx's syntax. I would suggest going to this link http://www.kilobolt.com/zombie-bird-tutorial-flappy-bird-remake.html if you wanna know the basics, it's how I learned.

Link answered 31/12, 2014 at 17:57 Comment(0)
E
0

Libgdx is super fast as some is wriiten in c++. You can move hundreds of sprites smoothly on a single core phone using this framework. It is easy to install and work with and the community anwsers all my questions quickly.

Edacity answered 13/9, 2012 at 21:18 Comment(0)
A
0

I can't really compare the two because I have used Libgdx only so far. For Libgdx, there are quite alot of resources and examples you can go over before you start to develop. Many supporters wrote easy-to-understand tutorials so it is quite easy to learn.

Alexandrine answered 1/1, 2015 at 0:1 Comment(0)
A
0

i create a big strategic online game with libgdx. it is great. it's fast. support is good. document is more. ios supported with robovm and soon Multi-OS Engine implement in libgdx, too. If you are fluent in Java. libgdx is best choice.

Atory answered 21/10, 2017 at 10:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.