Jump to content
  • Advertisement
Sign in to follow this  
Zaris

What Java can Do.

This topic is 4013 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

Advertisement
Nice demos.

Of course, the language used is completely irrelevant, since 95% of power comes from graphics card.

This is something that's too often forgotten. Language used doesn't really matter for performance.

The reasons Java is disliked for gaming lie completely elsewhere, and have been often criticized, but Sun has refused to extend beyond server market.

Ironically, in some scientific communities, Java/OGL is the preferred choice for 3D real-time rendering of insanely complex simulations, due to its scalability and ease of development.

As soon as you get over the mythical 5% performance loss, and rise above petty benchmarks, Java becomes the best choice in multi-platform non-console environments.

Share this post


Link to post
Share on other sites
The people who have paid any attention to Java (read: almost nobody who does anything vaguely serious with graphics) know that performance isn't really a problem for it. (Ironically, most of Java's performance issues are with desktop apps that are GUI heavy, because of how badly written the Java UI libraries are.) What IS a problem:
  • Poor SDK and library support. Nobody supports Java or is even interested. This one will probably never change. Of course it's caused by...
  • Extremely poor interoperability support. JNI is just a cruel practical joke on developers. Nobody is interested in doing this work, because of the monumental failure on Sun's part to do anything reasonable here.
  • Poor language expressiveness. Java is an extraordinarily dull, uninteresting, and weak language. It does an alright job of covering the basics, and stops there. There's simply no sophistication to the language. And thanks to the library support issues, integrating a scripting language is a pain too. (Could Jython help here? Hard to say.)
  • Java3D. This was the official 3D route from Java for some time, and whoever designed it was a complete moron (and probably had a Phd). JOGL has come into the fold now, but it's far too late for a lot of people.
  • Perception. Sun basically fed us a bullshit line over the last 10 years. While Java's more or less reached what was originally promised, people have a real bad taste in their mouth after it all.
That is why people no longer pay any attention to Java for game development. Hell, people don't even bother with applets anymore; that market was completely taken over by Flash.

Share this post


Link to post
Share on other sites
I wouldn't say that the Library is poorly supported. Java has one of the largest libraries of any language available. If it has been coded, it's probably been coded in Java, and by now it's probably in the standard library.

I will say that the Library has been blatantly mismanaged. It's a treasure trove of deprecated systems, feature bloat, poor design, and downright crappy implementation. It has had no overarching design goal or direction, and coupled with the "never break old cold mentallity" (which is both a bad idea and a lie), has led to a completely inconsistent library.

Java the language is passable. Java the runtime environment does some pretty amazing stuff, given what it has to work with. Java the class library is a freaking dog.

Share this post


Link to post
Share on other sites
Quote:
Original post by capn_midnight
I wouldn't say that the Library is poorly supported. Java has one of the largest libraries of any language available. If it has been coded, it's probably been coded in Java, and by now it's probably in the standard library.
I meant poor support by third party libraries for Java. But yes, the class library is a bitch too.

Share this post


Link to post
Share on other sites
Let's put it this way: Java SE is so inconsequential compared to Java EE that most of the people I encountered in industry don't know you can even *make* desktop apps in Java.

Share this post


Link to post
Share on other sites
Quote:
Original post by Promit
(Ironically, most of Java's performance issues are with desktop apps that are GUI heavy, because of how badly written the Java UI libraries are.)


Performance issues? While it's true that the perceived performance is less than ideal due to the infamous gray repaint problem, the actual performance of such apps isn't a huge problem unless they are poorly written or use heavy look and feels which ARE slow. Now, if you are talking about native fidelity, then that is a whole different ball game.

As one of those "rare" Java game developers as people here seem to call them, the one major concession I still have to gripe about is distribution. Yes, there's WebStart, but that's not good for the kind of game/application I'm making, one which needs to persist on the desktop. It's taken me a good 2 years almost to perfect this and get the distribution right (in terms of 100% compatibility, native enough that the user can't tell), but it really ought not to be that way.

That all said, there are increasing numbers of people turning to Java for hobbyist, not professional game development, and the advent of great 3rd party libraries such as Slick show that for 2D, hardware-accelerated games, Java is a very viable option.

- Jon

Share this post


Link to post
Share on other sites
Quote:
Original post by Promit
And thanks to the library support issues, integrating a scripting language is a pain too. (Could Jython help here? Hard to say.)

Jython is awesome. I dropped in Jython scripting into my Java game a few weeks ago and was shocked how easy it was - you literally just have to create an interpreter object and point it at your python script. If you make your script implement a Java interface then your Java code can call it like a regular object, and everything on the python side "just works" - no need to define interfaces or wrappers on your Java classes or anything. [grin]

I'll see if I can dig out some example code. I have no idea what kind of backend crazyness they're doing but from an API point of view it's fantastically well done. (Although I agree, interop in general is pretty sucky).

Share this post


Link to post
Share on other sites
Quote:
Original post by Jon914
Performance issues? While it's true that the perceived performance is less than ideal due to the infamous gray repaint problem, the actual performance of such apps isn't a huge problem unless they are poorly written or use heavy look and feels which ARE slow.
Here's a little tip to keep in mind. The actual performance of a GUI is completely irrelevant. Nobody cares. Only the perceived performance is of interest. If an interface feels slow, it is slow. End of story.

OrangyTang: That's promising. I know that Jython and IronPython were done by the same guy, and it sounds very similar to IronPython (which is brilliantly well done).

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!