Personally prefers Groovy as a scripting language. Guess it’s not part of the JDK. Oh no.
Node.js whilst having its merits feels like a hack. Javascript is old and full of flaws. It makes people pull hairs. Unfortunately it got popular and will never be dropped. Now it’s just spammed in every situation possible.
I actually have zero experience with Java 3D work. I really should have qualified that. There are Java 3D engines (jME, etc) but why don’t we see anything that really competes with Unreal or Unity?
The community is almost non-existent weak. Cas, you are one of very few Java game devs. Even successful devs like Notch have jumped ship to normal C++ tools. This is a relatively fringe and disorganized group. Java games would need some larger sponsors to take off.
Cas, you should know: what else is limiting the success of JVM tools in game development?
The community is neither non-existent nor weak. Lots of Android and desktop games use LibGDX. The success of Java can’t depend on a very few people. Minecraft is great but I advise you to forget Notch, some people will probably succeed in making great games in Java, don’t insult the future. Java is nice for cross-platform cheaper development and a nice weapon against planned obsolescence which is nice for end users too but not for those who want to force them to renew their hardware more often. Some corporations don’t want any cross-platform and cheap solution to emerge. If it is cross-platform but it requires quite recent hardware, it is ok for the “industry”. If it is cross-platform and able to work very well on an old computer bought in 2000 as well as on all major operating systems for smartphones, it is a problem for the industry as an end user can buy a game and use it “forever”, he might plan to renew his hardware less often. Why do you think next generation consoles will probably not support second hand games, used games? Are there equivalents of Java-gaming.org for other programming langages? I might be wrong but I don’t think so. Do we really need larger sponsors? I think we need more games, not only more AAA games. Why should we concentrate on a very few famous developers? The maintenance of the tools they use depend on less visible people. Don’t forget that JMonkeyEngine, Ardor3D, Xith3D, Java3D, JogAmp, LWJGL, … would not exist without their contributors and Minecraft would not exist without LWJGL.
I’ve worked with both Unity and jME. As for power Unity in many cases has jME beat, but not by much. I’m quite impressed by how well jME preforms compared to c++ based engines. As for making a game with the engine, I prefer jME every time. With jME you have much more controlled over the internals of the engine. With Unity, the developers seemed to do is choose the generally best algorithm, and lose any versatility for finding the specifically best algorithm.
This community is no where near quiet. It’s not a five posts per second community, but I like how much this community contributes. I don’t think sponsors are the solution. Look at mine craft, 0 sponsors and it took off like any AAA game while it was still in beta.
As for Notch’s tools, I think they are all in Java. He just converts his launchers into os specific executables so more people understand how to launch his game.
Just glancing at the websites of Unity3d and JME and looking at the galleries, showcases, documentation, tutorials, and forums: JME looks like more of a hobby project while Unity looks far more professional. Unity has tons of games I’ve actual heard of and actually bought. I would never have heard of JME or any of the games written in it if I wasn’t a Java programmer. The forums of Unity3d.com alone look more active with serious game devs than this site.
I’m rooting for Java and JME because I love the more open community aspect of it. I love that I can use my favorite language, Scala, all my favorite JVM libraries and tools, and my favorite IDE, IntelliJ or maybe Eclipse for Scala work, and do development from my Linux workstation.
Unity is tied in with Mono: personally, I dislike working in that community, so even if the game engine tech is great, I don’t want to use that product. But realistically, that product is just far more developed and seems to be far more successful. Honestly, I am not doing game development at the moment, and I haven’t used either jME or unity3d as a dev, so I’m not making any claims at that level.
The professional/hobby distinction pretty much nails it: Unity Technologies is a company with a salable product, marketing, full-time development, and tens of mullions in venture capital, and jME really is a hobby project worked on by volunteers. Even with all the VC money behind them, I seriously doubt they’re profitable yet, though I suspect (along with everyone else) that mobile games are going to be their cash cow if and when they do get into the black.
I don’t know that “jMonkeyEngine” makes a very marketable name, though “Ardor3D” certainly does … but the Ardor folks are even less interested in The Big Time.
Why are the more serious efforts choosing C++ and .NET rather than Java? Part of it is runtime issues, the way Mono lets you embed .NET in a platform neutral C++ app, while Java doesn’t do that as well.
C++/.NET have tons of hobby projects on the level of jME and Ardor3D as well as the big guns like Unity and Unreal.
Part of it is that there’s no java port to the iPhone whereas Mono works. So yes, there’s reasons for big money to chase .NET in that case over Java, but the biggest factor here by far is still the capital investment. You don’t have a company of over >200 people without paying them.
Obviously, lots of money is needed to pay 200+ salaried employees like Unity Technologies has. But what is preventing that kind of money from reaching a Java based game engine company? Or why are the people who are able to obtain that type of money not choosing Java?
Well, it has been said: the JVM cannot be retargeted everywhere. That’s why. You can’t put your money behind restrictive tech that doesn’t work in the exact places you need it.
How do you justify that statement (if I’m reading it right)? Isn’t currently usable in certain key areas I’d agree with, but cannot (ever) be re-targeted to them - on what basis?
I think you read it wrong; there’s no time period qualifier in my statement. Except the implicit one, “right now”, and a subtly implied one, “for the foreseeable future”.
OK. Was reading your comment as a reply to gene9’s comment, specifically bit about large scale capital investment.
Except someone did exactly that with the Mono project, and it’s vaguely plausible someone could do that with the JVM. I’m not saying it would necessarily make commercial sense - did Mono at the time? ;D
I didn’t mean developers of alternative Java VM implementations, I meant people developing software on top of VMs, eg. me. I could be considered quite an idiot for jumping on the Java bandwagon to make games precisely because the places where most of the money to be made are simply no-go areas for Java (consoles and phones). There are “ways” of course but they are crappy.