Jump to content
  • Advertisement
Sign in to follow this  
Ahmed Alkhawaga

Unity Java Developer , Should I use libGDX or Unity3d for cross platform game

This topic is 768 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm Java Developer for long time. and i want to develop a cross platform game for Android , iOS and Web Mainly.

I know a bit about LibGDX and almost understand the global scope about it but need to read the documentation .. but I saw Unity3D as well and I noticed how professional is it in saving more time .. but you know it requires me to study little about C# .

The Question : Do i need to worry about the future if i went with LibGDX for a long business game ? or LibGDX really deserve for 2d & 3D Games ?

or I take the short way and go with Unity3D from now ?

The game idea is similar to the concept of "Clash of Clans"

Share this post


Link to post
Share on other sites
Advertisement

At a basic level C# is not that different to Java and a lot of the syntax is similar. C# was originally created as a Java clone back in the C# 1 days and is at hear another C style language. Java is more strict on exception handling  but on the whole you should not have much of a problem moving from Java to C# if that is required. C# has gained a lot of features over Java imho that make it a language I prefer to work in but that is personal choice :)

 

I don't know much about LibGDX but Unity will handle the heavy lifting of cross platform work, but I believe if you want mobile target compilation it costs, might have changed but used to be the case. Unity will bring a learning curve with it as it has its own way of working that you need to learn so it is not a magic bullet :)

Edited by WozNZ

Share this post


Link to post
Share on other sites

IMO: If you're considering GDX you should also consider JMonkeyEngine (particularly for 3D stuff but it can handle 2D also).  I wouldn't worry much about the future for either GDX or jME, both are open source, so they move a bit slow at times for releases (for jME at least), but they have some pretty good sized communities behind them.  Actually, a slower pace release cycle can be a good thing, too.  

Unity, well they're certainly popular, and I can't say it's a wrong choice (especially having no experience with it).  If you're an experienced Java developer though, I think you're going to feel a bit of pain with Unity.  With GDX or jME you have the freedom that you expect as a Java developer to tie into 3rd party libraries (I'm sure you know how valuable that is being from the Java-world).  With Unity, while you can probably venture outside of the box with some work, I'm fairly sure that they expect you to do things their way without straying too far.  I could be wrong (maybe someone can confirm) so take this with a grain of salt.  You might get something thrown together quicker with Unity, once you pass their learning curve, but depending on your objective you may start to feel boxed in.

Edited by Tebriel

Share this post


Link to post
Share on other sites
WozNZ   

 

Tebriel

 

 

Thank you so much .. my concern is about the graphic quality in libGDX , i saw the demos in libGDX by comparing the Graphics quality to those made by Unity .. i noticed some difference ? is that related to libGDX or to the design itself ? Also my 2nd concern is about making the animation effects , would it be easy to be done by libGDX like Unity3D ? or i'll face dark way until i do it ?

Share this post


Link to post
Share on other sites

Both libGDX and Unity try to solve the same problem.

 

  - How can you write your game once and deploy it to many different platforms.

 

The differences are:

* Unity is closed source with a company behind it trying to make money.  libGDX is an open source project.

* Unity uses C# or javascript-like language for scripts.  libGDX is Java.

* Unity compiles the projects to native code for all the platforms.  libGDX mostly does this, with Desktop applications being a Java jar and needing a JVM to run.

* Unity and libGDX both have a large community, but help for Unity problems will be easier to find.

 

I know that even though both of these engines say you can "write once, run anywhere" that is never the case.  There are always weird things on each platform that need to be handled.  But does that even matter?  If you just want to release on iOS and Android, it is probably nothing to worry about.

 

Last time I checked, ~50% of all iOS games are made with Unity.  Java has been on the decline for years now and isn't getting any better.  

I am currently using Unity for prototypes (even though I'm a Java fanboy).  

 

Hope this helps.

Edited by Glass_Knife

Share this post


Link to post
Share on other sites

Both libGDX and Unity try to solve the same problem.

 

  - How can you write your game once and deploy it to many different platforms.

 

The differences are:

* Unity is closed source with a company behind it trying to make money.  libGDX is an open source project.

* Unity uses C# or javascript-like language for scripts.  libGDX is Java.

* Unity compiles the projects to native code for all the platforms.  libGDX mostly does this, with Desktop applications being a Java jar and needing a JVM to run.

* Unity and libGDX both have a large community, but help for Unity problems will be easier to find.

 

I know that even though both of these engines say you can "write once, run anywhere" that is never the case.  There are always weird things on each platform that need to be handled.  But does that even matter?  If you just want to release on iOS and Android, it is probably nothing to worry about.

 

Last time I checked, ~50% of all iOS games are made with Unity.  Java has been on the decline for years now and isn't getting any better.  

I am currently using Unity for prototypes (even though I'm a Java fanboy).  

 

Hope this helps.

Actually i'm impressed with your response .. all of it refers to using libGDX .. but at the end i saw your phrase "I am currently using Unity for prototypes" .. my question is Why ? 

although of almost all of your works are built by JAVA and you have a book for 2D games in Java 

Share this post


Link to post
Share on other sites

WozNZ   

 

Tebriel

 

 

Thank you so much .. my concern is about the graphic quality in libGDX , i saw the demos in libGDX by comparing the Graphics quality to those made by Unity .. i noticed some difference ? is that related to libGDX or to the design itself ? Also my 2nd concern is about making the animation effects , would it be easy to be done by libGDX like Unity3D ? or i'll face dark way until i do it ?

 

 

I'm not that familiar with libGDX, but Unity, for 2d, it doesn't really do anything special, so I would be surprised if libGDX couldn't match it for effects.  Though perhaps we should define what you mean by effects?  shaders?  animation frames?   Getting a good artist will make all the difference.

Share this post


Link to post
Share on other sites

 

WozNZ   

 

Tebriel

 

 

Thank you so much .. my concern is about the graphic quality in libGDX , i saw the demos in libGDX by comparing the Graphics quality to those made by Unity .. i noticed some difference ? is that related to libGDX or to the design itself ? Also my 2nd concern is about making the animation effects , would it be easy to be done by libGDX like Unity3D ? or i'll face dark way until i do it ?

 

 

I'm not that familiar with libGDX, but Unity, for 2d, it doesn't really do anything special, so I would be surprised if libGDX couldn't match it for effects.  Though perhaps we should define what you mean by effects?  shaders?  animation frames?   Getting a good artist will make all the difference.

 

I meant for effects and animation frames ... 

 

Also i'm still confused about the concept for "Orthometric games" is it under the definition of "2D" or "3D" 

Share this post


Link to post
Share on other sites

 

Both libGDX and Unity try to solve the same problem.

 

  - How can you write your game once and deploy it to many different platforms.

 

The differences are:

* Unity is closed source with a company behind it trying to make money.  libGDX is an open source project.

* Unity uses C# or javascript-like language for scripts.  libGDX is Java.

* Unity compiles the projects to native code for all the platforms.  libGDX mostly does this, with Desktop applications being a Java jar and needing a JVM to run.

* Unity and libGDX both have a large community, but help for Unity problems will be easier to find.

 

I know that even though both of these engines say you can "write once, run anywhere" that is never the case.  There are always weird things on each platform that need to be handled.  But does that even matter?  If you just want to release on iOS and Android, it is probably nothing to worry about.

 

Last time I checked, ~50% of all iOS games are made with Unity.  Java has been on the decline for years now and isn't getting any better.  

I am currently using Unity for prototypes (even though I'm a Java fanboy).  

 

Hope this helps.

Actually i'm impressed with your response .. all of it refers to using libGDX .. but at the end i saw your phrase "I am currently using Unity for prototypes" .. my question is Why ? 

although of almost all of your works are built by JAVA and you have a book for 2D games in Java 

 

 

I am using Unity because I am working on only Desktop games (Mac, Windows, Linux) and I don't want them to need a jvm or have to worry about weird JDK/JVM issues with different versions.  I have not used libGDX much but it looks comparable to Unity.

 

There isn't a "right" answer here.  Use what you like.  If one is more appealing than another, then go with that. 


 

WozNZ   

 

Tebriel

 

 

Thank you so much .. my concern is about the graphic quality in libGDX , i saw the demos in libGDX by comparing the Graphics quality to those made by Unity .. i noticed some difference ? is that related to libGDX or to the design itself ? Also my 2nd concern is about making the animation effects , would it be easy to be done by libGDX like Unity3D ? or i'll face dark way until i do it ?

 

 

I'm not that familiar with libGDX, but Unity, for 2d, it doesn't really do anything special, so I would be surprised if libGDX couldn't match it for effects.  Though perhaps we should define what you mean by effects?  shaders?  animation frames?   Getting a good artist will make all the difference.

 

 

Honestly, if I was doing 2D iOS and Android games, I'd seriously consider Cocos2d

 

http://www.cocos2d.org/

Share this post


Link to post
Share on other sites

I've been using LibGDX for over 4 years now and love it. I have developed multiple games using it and the cross-platform functionality is not hard to work with. Unity does take care of a lot of background graphics development when it comes to 3D functionality, but LibGDX can definitely match it. I personally don't like using Unity because you don't have as much control and power over it as you would a framework/library like LibGDX. On top of that you get a good understanding of what is truly happening in the background. This lets you apply the same ideas and principles in different areas in the future whereas with Unity you can't take (much of) the knowledge you learned and apply it in a different work environment. 

 

Regarding your question about the graphics being better on Unity vs LibGDX, the graphics are only as good as you design them to be. By simply looking at LibGDX's website you can see a video displaying great looking graphics in multiple 3D games that were developed with it. If you have good graphic art your game will look good regardless of what framework/engine you use. Anything done in Unity can be done in LibGDX through the use of shaders (when it comes to graphics). They are completely platform-independent as all of the work is done on the graphics card.

 

My largest project (code and development wise) and most popular game that I have been developing using LibGDX is my Terraria clone: TerraLegion. It is an open-source project that has been in on-and-off development for the past year now. I only recently made it a public, open-source project. Feel free to take a look to get an idea of the power that LibGDX has.

Edited by baseball435

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!