Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (133)
games submitted by our members
Games in WIP (603)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  The ignorance of the android industry about good porting solutions like Libgdx  (Read 3920 times)
0 Members and 1 Guest are viewing this topic.
Offline Cero
« Posted 2013-07-14 15:40:08 »

I very often come across this situation: game developers want to port from or to android and sometimes they cannot because it takes much money/time to port, or because of this is never happens at all.
Sometime it can be a simple a business decision - like iOS brings more money than android. But that should only happen from AAA mobile developers like for example Plants vs Zombies 2 now which will be at least for now an iOS exclusive.

My question is: Why are these devs not using software frameworks to port this stuff ?
I'm not sure how good libgdx's iOS porting is - but there are other frameworks than libgdx that do this also of course.
At least android <-> pc seems to work almost perfectly.

So why this ignorance ? Do they really dont know that these solutions are actually good ? Do they believe that these are unreliable ?

Offline Abuse

JGO Knight


Medals: 15


falling into the abyss of reality


« Reply #1 - Posted 2013-07-14 16:23:19 »

Off the top of my head:

1) Publishers outsourcing their iOS development to the cheapest 3rd party, ignoring the quality and portability of the resultant code.
2) The myriad of Android devices means there's a lot more to getting a game onto Android than just having it compile; device quirks, different input configurations, wide performance variance requiring significant scalability in resources & runtime performance to name just a few.
3) Less attractive platform because of higher piracy rates and lower price expectations.

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Offline davedes
« Reply #2 - Posted 2013-07-14 19:08:22 »

There are a lot of reasons LibGDX hasn't gained more "pro" recognition:

- Doesn't appear to be very tightly integrated with ad support. I think more documentation will help this.
- Not very tightly integrated with social sharing support (i.e. FB/Twitter APIs for iOS 5+)
- iOS backend still seems to have some quirks, and ultimately it comes off as a bit of a "workaround" ... Therefore not attractive if your primary target is iOS.
- No video decoding; this makes it less attractive especially for interactive apps like AR
- The UI library is great, but not up to the standards of HTML5 UIs or Flash/AIR UIs. It's also not as easy for designers to work on, and is more of a programmer-friendly UI toolkit.
- The 3D API is not yet very mature
- It is open source and maintained by independents, so you aren't going to get the kind of (company) support that you might from a larger organization like Unity
- The HTML5 backend is nice, but WebGL support is still poor, especially in the mobile field. Plus, WebGL seems like overkill for many simple 2D embedded games.
- Not easy to integrate with technologies like Kinnect, Leap Motion, Occulus, etc
- JNI is just a giant WTF for most people, myself included. This is not good if I hope to use certain 3rd party APIs like OpenCV.

The real question is why Unity is not more popular amongst AAA studios and other interactive fields (i.e. digital advertising, digital storytelling). It fixes pretty much all these issues and ports to more platforms...

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ReBirth
« Reply #3 - Posted 2013-07-15 03:14:51 »

I guess the problem with Unity is price.

Offline Cero
« Reply #4 - Posted 2013-07-15 19:46:14 »

The real question is why Unity is not more popular amongst AAA studios and other interactive fields (i.e. digital advertising, digital storytelling). It fixes pretty much all these issues and ports to more platforms...

I've had the pleasure of working with Unity for one project at university now. I went from dislike to curiosity and now finally, after using it, to loathing. It's dreadful.
I mean I am sure there are ways to use Unity more "sensibly" but from the start on its just a designers tool. Even things are threads are really hard to get working right. Often things happen and you simply dont know the cause / cannot debug.
I could write a whole paper on it now, but basically its a designers tool, kinda like Processing, and for that purpose its good: Getting a 3D prototype fast and test things out is fine. If you want to make something decent however, all that simplicity comes back to bite you, and someone who is even remotely skilled in games programming will be baffled at how things work in Unity(though not all things, Unity isn't the worst offender but its bad enough not to use it for big projects).

We might be the worst case of this, as we had little time, didn't read the Unity docs very much and expected to be able to make a game since we can make anything with opengl/libgdx. Well no such luck.

Offline ReBirth
« Reply #5 - Posted 2013-07-16 02:39:55 »

Recently I got offer to work for game dev. When I asked if it's unity the answer is shocker. Haxe.

Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #6 - Posted 2013-07-24 22:45:31 »

I could write a whole paper on it now, but basically its a designers tool, kinda like Processing, and for that purpose its good: Getting a 3D prototype fast and test things out is fine. If you want to make something decent however, all that simplicity comes back to bite you, and someone who is even remotely skilled in games programming will be baffled at how things work in Unity(though not all things, Unity isn't the worst offender but its bad enough not to use it for big projects).

I'm going to dredge up this topic and say - could you expand on this a little please?

I'm planning a mobile project that *has* to work on both Android and iOS (and Mac and Windows) so the obvious options are Unity and libGDX. But I've only just dabbled in Unity and it already feels... uncomfortable. I have no idea to actually architect the game in a way that doesn't feel cobbled together, and I have The Fear that going from quick prototype to a proper, robust game is going to be a nightmare.

Or maybe I'm being cranky because I'm trying to learn something new. Smiley

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline davedes
« Reply #7 - Posted 2013-07-25 00:48:24 »

OrangyTang - you should also consider AIR/AS3 as a platform. Very strong tools and cross-platform support; plus the ability to write your own "native extensions" in ObjC (iOS) and Java (Android).

Offline ReBirth
« Reply #8 - Posted 2013-07-25 01:07:46 »

OrangyTang - you should also consider AIR/AS3 as a platform. Very strong tools and cross-platform support; plus the ability to write your own "native extensions" in ObjC (iOS) and Java (Android).
AIR? everything that has bad support for Linux, including Unity, is not worth to mention Roll Eyes

Offline gouessej
« Reply #9 - Posted 2013-07-25 07:55:53 »

@Orangy Tang I succeeded in reusing some stuff written by a researcher located in Belgium to run a subset of J2ME under Android. Maybe it could help you a bit.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Sickan

Senior Devvie


Medals: 9



« Reply #10 - Posted 2013-07-25 08:46:48 »

The real question is why Unity is not more popular amongst AAA studios and other interactive fields (i.e. digital advertising, digital storytelling). It fixes pretty much all these issues and ports to more platforms...

I've had the pleasure of working with Unity for one project at university now. I went from dislike to curiosity and now finally, after using it, to loathing. It's dreadful.
I mean I am sure there are ways to use Unity more "sensibly" but from the start on its just a designers tool. Even things are threads are really hard to get working right. Often things happen and you simply dont know the cause / cannot debug.
I could write a whole paper on it now, but basically its a designers tool, kinda like Processing, and for that purpose its good: Getting a 3D prototype fast and test things out is fine. If you want to make something decent however, all that simplicity comes back to bite you, and someone who is even remotely skilled in games programming will be baffled at how things work in Unity(though not all things, Unity isn't the worst offender but its bad enough not to use it for big projects).

We might be the worst case of this, as we had little time, didn't read the Unity docs very much and expected to be able to make a game since we can make anything with opengl/libgdx. Well no such luck.

Thank you for writing this. I've never used Unity or wanted to use it, because it's not the tool for me, and it's not the right tool for many budding game developers. Now though, I've got hard arguments other than "it's not for you" to tell people to stay away from it.
Offline Mac70
« Reply #11 - Posted 2013-07-25 08:59:13 »

OrangyTang - you should also consider AIR/AS3 as a platform. Very strong tools and cross-platform support; plus the ability to write your own "native extensions" in ObjC (iOS) and Java (Android).
AIR? everything that has bad support for Linux, including Unity, is not worth to mention Roll Eyes

Well... I still wonder why is .NET still used, especially for (indie) games. persecutioncomplex Except not too bad language (C#) this is just worse Java platform alternative for Windows only.

Check out my Devblog! Smiley
Offline Nate

« JGO Bitwise Duke »


Medals: 158
Projects: 4
Exp: 14 years


Esoteric Software


« Reply #12 - Posted 2013-07-25 10:23:14 »

- The UI library is great, but not up to the standards of HTML5 UIs or Flash/AIR UIs. It's also not as easy for designers to work on, and is more of a programmer-friendly UI toolkit.
Good, keeps those bastards away from my nice UIs! Cheesy UIs that aren't built with code have so much pain built-in.

Quote
- JNI is just a giant WTF for most people, myself included. This is not good if I hope to use certain 3rd party APIs like OpenCV.
Mario's fancy gdx-jnigen solves this, it's super cool. It isn't even libgdx specific, IMO more Java projects should use it. It makes using native libs with Java easy. Eg, JGLFW was a breeze.

Quote
The real question is why Unity is not more popular amongst AAA studios and other interactive fields (i.e. digital advertising, digital storytelling). It fixes pretty much all these issues and ports to more platforms...
I'm no Unity expert, but probably because it is pretty terrible. The Unity guys themselves tell you if you are targeting mobile that you can't use most of the "cool Unity stuff". It crashes a lot, especially if you try to debug at all. For a game of any complexity you end up writing as much or more code as you would otherwise, except you also have the pleasure of also dorking around in a GUI and figuring out the Unity black box magic, closed source, odd conventions, etc. Did I mention it crashes regularly? It does have an interesting entity framework, though parts are a bit silly (update, lateUpdate, evenLaterUpdate, etc). I hear it has a nice pipeline for art stuff and a GUI makes non-technical people feel good about their place in life, the universe, and everything, but I don't see it as an industry killer. Then again, I'm biased. Smiley I do think tools could be written to do what Unity wants to do and could have a huge impact, I just don't think Unity is it. I'm doing everything I can to stop myself from trying to write those tools. persecutioncomplex No more tools!  Tongue

Offline gouessej
« Reply #13 - Posted 2013-07-25 10:42:59 »

I'm doing everything I can to stop myself from trying to write those tools. persecutioncomplex No more tools!  Tongue
It's too late, you already wrote Spine  Grin

Offline Nate

« JGO Bitwise Duke »


Medals: 158
Projects: 4
Exp: 14 years


Esoteric Software


« Reply #14 - Posted 2013-07-25 11:05:43 »

Damned tools, can't help it! Sad Spine is a huge amount of work for a tool with smaller scope than something that competes with Unity. I want to make games someday!

Offline ClickerMonkey

JGO Coder


Medals: 20


Game Engineer


« Reply #15 - Posted 2013-07-25 12:12:23 »

Damned tools, can't help it! Sad Spine is a huge amount of work for a tool with smaller scope than something that competes with Unity. I want to make games someday!

Too late, you're hooked on making libraries and tools. No games for you.

I want to make games, but I want to make libraries way more and I don't like it.

Offline Sammidysam
« Reply #16 - Posted 2013-07-25 12:17:56 »

OrangyTang - you should also consider AIR/AS3 as a platform. Very strong tools and cross-platform support; plus the ability to write your own "native extensions" in ObjC (iOS) and Java (Android).
AIR? everything that has bad support for Linux, including Unity, is not worth to mention Roll Eyes

Well... I still wonder why is .NET still used, especially for (indie) games. persecutioncomplex Except not too bad language (C#) this is just worse Java platform alternative for Windows only.

C# can work multi-platform pretty decently with Mono.  It is kind of buggy, though.
Offline ClickerMonkey

JGO Coder


Medals: 20


Game Engineer


« Reply #17 - Posted 2013-07-25 12:21:01 »

It is kind of buggy, though.

Well on that note, why advertise for it!

Offline Sammidysam
« Reply #18 - Posted 2013-07-25 12:25:34 »

Because they're working to make C# multi-platform, which is really cool.
Offline ClickerMonkey

JGO Coder


Medals: 20


Game Engineer


« Reply #19 - Posted 2013-07-25 12:34:45 »

The only thing C# has that Java doesn't is the ability to use pointers... which a JIT compiler I'm sure will create with equatable Java code. Java has been multi-platform for a long time, C# is just starting... it will have years of hiccups I'm sure.

(I'm talking about Java 8 )

Offline Cero
« Reply #20 - Posted 2013-07-25 15:14:17 »

I'm going to dredge up this topic and say - could you expand on this a little please?
I could but... the bottom line is: it's a shiny turd.
Very simple to get in to, very hard to make something complex and nicely working and polished code-wise. Nearly impossible to do good QA / tests / debugging unless you really know everything about the inner workings.
Basically the amount of work to create something good/complex in Unity, is as much as with a professional engine, I guess even more. But this work would be extremely frustrating kind of work.
If you want to make something very simple, very fast and it can have bugs (basically a prototype), then you may use Unity. In other cases building up expertise with any other engine/framework will be a better use of time.

The knowledge you gain from Unity is useless and specific to Unity's behavior, not all of it, but major frustrating parts. If you learn libgdx, virtually all these concepts can be found in other big engines as well and will help if you have to work with something else too.


Or maybe I'm being cranky because I'm trying to learn something new. :)
Well hey - if I wouldn't know that feeling, I would be a C++ game programmer by now I guess :D

Offline sproingie

JGO Kernel


Medals: 202



« Reply #21 - Posted 2013-07-27 05:19:39 »

C# can work multi-platform pretty decently with Mono.  It is kind of buggy, though.

Mono is what Unity uses, even on Windows.  LibGDX targets it on iOS.  Seems to work all right.
Offline Nate

« JGO Bitwise Duke »


Medals: 158
Projects: 4
Exp: 14 years


Esoteric Software


« Reply #22 - Posted 2013-07-27 05:22:25 »


Mono is what Unity uses, even on Windows.  LibGDX targets it on iOS.  Seems to work all right.

True, though RoboVM is becoming the preferred way for libgdx to target iOS.

Offline mbabuskov

JGO Coder


Medals: 17
Projects: 3
Exp: 2 years


Bigosaur.com


« Reply #23 - Posted 2013-08-05 19:53:04 »

True, though RoboVM is becoming the preferred way for libgdx to target iOS.

Doesn't this VM layer decrease performance? Has anyone used it for a real, released game?

Milan Babuskov
bigosaur.com
Offline Cero
« Reply #24 - Posted 2013-08-05 21:20:14 »

I dunno,  I hear bad things.

Offline atombrot
« Reply #25 - Posted 2013-08-14 12:24:20 »

The only thing C# has that Java doesn't is the ability to use pointers... which a JIT compiler I'm sure will create with equatable Java code. Java has been multi-platform for a long time, C# is just starting... it will have years of hiccups I'm sure.

(I'm talking about Java 8 )

That's not correct. C# has a lot of small features java is missing (Properties, Real Generics, operator overloading, optional parameters, Extension Methods, LINQ, nice operators like "??", the "var" keyword, real dynamic objects etc.). All in all those are mostly some small code syntax improvements, but it makes working with C# a pleasure and removes a big amount of boilerplate code Cheesy in my opinion (this is important, it's only my opinion) C# is simply the more beautiful language than java (i notice it everytime i code something in java). But I still have to say, that I prefer eclipse over visual studio.
Offline Sammidysam
« Reply #26 - Posted 2013-08-16 22:42:11 »

There is SharpDevelop which I used instead of Visual Studio because I can't handle Visual Studio back when I did C# on Windows.
Offline snacktime

Senior Newbie


Medals: 1



« Reply #27 - Posted 2013-08-24 19:28:13 »

The only thing C# has that Java doesn't is the ability to use pointers... which a JIT compiler I'm sure will create with equatable Java code. Java has been multi-platform for a long time, C# is just starting... it will have years of hiccups I'm sure.

(I'm talking about Java 8 )

That's not correct. C# has a lot of small features java is missing (Properties, Real Generics, operator overloading, optional parameters, Extension Methods, LINQ, nice operators like "??", the "var" keyword, real dynamic objects etc.). All in all those are mostly some small code syntax improvements, but it makes working with C# a pleasure and removes a big amount of boilerplate code Cheesy in my opinion (this is important, it's only my opinion) C# is simply the more beautiful language than java (i notice it everytime i code something in java). But I still have to say, that I prefer eclipse over visual studio.

C# as a language IMO beats java hands down.  The problem with C# is mainly on the server side, where linux is king.  It's lagging horribly in mature concurrency libraries and frameworks, smaller choice of libraries in general, etc.. 

My only gripe about C# is it's kind of a kitchen sink language.  They had the benefit of seeing what java did poorly and improved on it, but it's kind of done in an ad hoc manner.
Offline Several Kilo-Bytes

Senior Devvie


Medals: 11



« Reply #28 - Posted 2013-08-24 20:04:02 »

They had the benefit of seeing what java did poorly and improved on it, but it's kind of done in an ad hoc manner.

The one big thing about C# is the ability to pass objects by value and by reference and lack of type erasure plagued generics. The downside is that the APIs are fairly bad, threading support was/is bad, and where ever else it differs from Java it favors error prone syntax and semantics to precise source code. (Of course I haven't done much C# programming since Visual Studio 2005 was beta, but I still read new C# source code.)

Java was also designed in an ad hoc manner. The downside to the way languages like C, C++, Java, and C# are developed is they all have dumb quirks leftover from their origins that will never disappear.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

rwatson462 (37 views)
2014-12-15 09:26:44

Mr.CodeIt (31 views)
2014-12-14 19:50:38

BurntPizza (62 views)
2014-12-09 22:41:13

BurntPizza (99 views)
2014-12-08 04:46:31

JscottyBieshaar (60 views)
2014-12-05 12:39:02

SHC (74 views)
2014-12-03 16:27:13

CopyableCougar4 (77 views)
2014-11-29 21:32:03

toopeicgaming1999 (138 views)
2014-11-26 15:22:04

toopeicgaming1999 (127 views)
2014-11-26 15:20:36

toopeicgaming1999 (38 views)
2014-11-26 15:20:08
Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!