Linked by kap1 on Thu 25th Apr 2013 11:45 UTC
Java The Lightweight Java Game Library provides a simple API to OpenGL, OpenAL, OpenCL and Game Controllers enabling the production of state of the art games for Windows, Linux and Mac. Version 2.9.0 contains a complete rewrite of the mac backend, support for FreeBSD, new OpenGL/OpenCL extension and bug fixes. The library is used by many high profile games such as Minecraft, Spiral Knights, Revenge of the Titans, Project Zomboid, Starsector, JMonkeyEngine, etc.
Thread beginning with comment 559681
To read all comments associated with this story, please click here.
Probably going to get bashed for this
by lucas_maximus on Thu 25th Apr 2013 12:19 UTC
Member since:

If people are wanting to write cross platform games, Mono Game is probably a better option.

Bastion is one notable example of an indie game that uses it.

Reply Score: 3

Savior Member since:

Probably going to get bashed for this

Yes, you will...

If people are wanting to write cross platform games, Mono Game is probably a better option.

... because you just dropped this without any hint as to why Mono would be better. I, for my part, would not like to see Mono on my machine -- although I must admit, Java has lost most of its appeal now that it's fallen into Oracle's clutches.

Either way, I think the argument is moot anyway, as Unity runs on all three platforms.

Reply Parent Score: 4

Neolander Member since:

Not defending the OP, his post was indeed lacking argumentation regarding why Mono Game would be a better option than Java equivalents. But if I were to write a multiplatform game in a managed language, I'd probably also look in the direction of Mono-based tech first.

First because Java runtimes are cursed with suckiness on almost all platforms where I've had the displeasure of dealing with them. The Windows JRE is the textbook example a user-hostile piece of garbage, Linux runtimes may or may not work in a seemingly random fashion, the mere idea of installing the JRE on iOS or Windows Phone is banned by the respective platform owners, and thanks to OS X 10.8's "Gatekeeper" feature I'm not even sure that one can still install the JRE on a Mac without tweaking system preferences. In short, the only major consumer platform where Java software works well today and should continue to work well tomorrow is Android, because it's Java-based itself.

Meanwhile, the Mono runtime works okay on every platform which I've tested it on, and you can very easily statically link it to executables so as to ease deployment to "annoying" platforms like iOS (even if you need to keep the terms of the LGPL in mind when doing so).

Also, the Unity toolchain, which you mentioned yourself, is Mono-based, and it's miles ahead of anything Java-based which I know of. The main difference being that it's not just a set of libraries targeted at game development, but rather something closer to a full multiplatform game development toolchain.

I'm not saying that there is something intrinsically wrong with the Java language or that it's impossible to write good games in it, mind you. I've played several very nice games written in Java. I'm only arguing that the Java ecosystem seems less suitable than the Mono one for that specific purpose.

Edited 2013-04-25 14:05 UTC

Reply Parent Score: 5

lucas_maximus Member since:

Mono works on iOS, Android, Linux, Windows, MacOSX.

The Windows Phone SDK works with MonoDevelop.

C# is a better language IMHO than Java (even thought they are both similar).

As I said bastion is a good example of a successful game built using the Framework.

Edited 2013-04-26 16:27 UTC

Reply Parent Score: 3

shiny Member since:

There are plenty of successfull multiplatform projects using LWJGL, inluding Minecraft, and most of the releases by Puppy Games (Titan Attacks, Ultratron, Droid Assault...)

Reply Parent Score: 4

moondevil Member since:

Although I prefer stronger type languages, for hobby developers on mobile I would just advice C++, since it is the only language which is supported across all mobile platforms SDKs.

Personally due to personal experience I tend just to use official SDK supported languages.

Too much development effort is lost in writing bindings, plus you never know who to blame when problems arise.

Reply Parent Score: 3