A while to wait for it though, even so.
In a few words, seems that Sun took notice that today Java isn't very consumer friendly, especially in the applet and downloadable programs front and they're trying to fix these issues. Particularly interesting are the Java Kernel feature which will contain only a very basic JRE and download the rest on demand (they managed to run Limewire with a 4mb JRE) and the Quickstarter feature which will, well, start the runtime faster by caching some stuff at startup time (they say they won't load a JRE at startup time though, so i'm not sure how else they will fix this - but then, if there is only a smally 4mb JRE, load time will be vastly reduced). For windows developers the use of Direct3D for simple 2D applications seems a nice addition too.
Personally i also liked the new UI for Swing. It was just about time to get rid of that ugly metal theme. Still, the new "Nimbus" look doesn't look 100% right, but it's far far better than the monstrosity that metal is :-P.
A while to wait for it though, even so.
The dragon is awaken after a thousand years, but isn't it too late?
Too late for what?
To become popular
Meh, it's already popular in ordinary dev circles. It'll trickle down to game dev eventually.
I'm enjoying LWJGL at the moment, but I wish Sun shake things up:
1. Drop Java3D. Does anybody use it outside of universities?
2. Create a "Games Dev Portal" site similar to the DirectX area on the MSDN. Have friendly links with information about LWJGL and JOGL all of which have been used in commercial games!!! They sort of have something now...but. meh.
I realize they probably don't want to get into the business of picking and choosing 3rd party java libraries (such as LWJGL and JOGL) but c'mon...if their current approach isn't working, why not shake things up a bit?
3. If you already like Java, then you're more than likely going to stick with it. However that tends to promote a bit of "tunnel vision". Maybe Sun should create a Game Liason type of position just to gather data from game/entertainment companies on *why* they're not using Java. Is it just because of the bundled runtime issue? Or is there more there...?
I don't know...I definitely don't have all the answers on the best of days, but given how portable java is across the PC / Mac / Linux platform, and contrast that with the adoption by game companies, I'm just hoping for more than what they currently have...
If they stand still for too long, XNA will cream them IMHO.
Comparing XNA and Java is like comparing -guess!- apples and oranges (how original... but yeah it's just like that).
XNA is a framework built on .NET.
Java is a language, a runtime environment and a library of classes.
It's more appropriate to compare XNA and LWJGL, but even in this case, i think that LWJGL is a more low-level library than XNA.
If XNA-for-mobile-devices existed, it *could* be comparable with J2ME plus some of JSPs that had to do with model skinning stuff, etc.
Also, why drop Java3D? Some people use it you know...
Agreed Bad Sector.
They are apples and oranges, but they both have a feel of "next generation" in terms of game development (at least that's how I look at them).
But I'm not trying to start a flame war about languages (my apologies if that's how it's interpreted).
I just meant that if Sun is serious about gaming, then maybe they should start throwing some resources into a proper community around it, other than some forums....
I mean how about some interviews with today's entertainment companies that successfully use Java? What were their challenges? What were their successes? While there are a lot of great gaming libraries other than LWJGL and JOGL, at least start highlighting what those are and what they give you...?
I don't know...like I say, I don't have the answers
And about Java3D, I just meant that even Sun doesn't really make it out to be "commercial grade"...more like an experiment in 3D scene management. /shrug.
Maybe put together a game console prototype built on a stripped down java runtime with some OpenGL-capable hardware?
Apparently the Gaming Technology Group have just been recognised finally as being on to something big and the top brass have started to put money into the client side of development (as opposed to their previous focus which was serverside) but you only have to take one look at what MS are doing with XNA, XBLA, .net and Vista, etc. to realise just how far behind they are in this. Largely I think because no-one truly competent is in charge of it all at board level. Sun need to hire some new blood in to help out.
Agree, there is good future for Java as the gaming platform. It works fine on cell phones, it can work fine on PCs or game consoles.
Guys, I always wanted to start 3D game development on Java. Can you round up please the existing 3D libs and their cons and pros from your experience?
Just noticed this blog entry on Java Kernel where the author of JK says that
The Kernel JRE's installer includes jvm.dll, the other native files and hundreds of classes needed to boot the JVM, the Java Plug-In, Java Web Start, java.exe, javaw.exe, javaws.exe, the installation code, and various support libraries needed to support the installer (such as unpack200).
And it's only 1.9MB.
If you build a custom bundle containing the classes required to run a typical Swing program, it comes out to about 1.5MB, for a total download of around 3.4MB for the JRE + custom bundle. Bigger programs might use as much as 4MB-5MB of the total JRE size, but it would be rare to exceed that.
With a custom stripped JRE the default opengl gears demo (lwjgl) is about 1.5mb as installer (lzma+p200 compression). A very minimalistic game with a few sound effects, one or two tracker modules, gamepad support and a handfull of tiny textures fits nicely into about 2.5mb. If you try hard enough.
With 5mb as target you have quite a lot of room. Any extra code gets compressed to basically nothing:
http://kaioa.com/svg/compression_ratio.svgz (looks better with Opera)
With this setup you get something like "jar.pack.lzma" or "jar.pack.lzma (no debug)". Even if you throw 10mb* of classes into the installer, it will merely grow by about 1mb. Or more... depending on how much more of the standard lib you're pulling in.
[* For those who aren't familiar with Java... thats a totally insane amount of classes. It's enough for writing Tribal Trouble - twice.]
So, these figures aren't really that surprising. The consumer JRE is more then welcome, however, since stripping a JRE is a major PITA. Well, the effort is sort of acceptable if you use some kind of bare bone and add RT stuff on a by package level. Or if you settle with a specific subset of packages like util, io, net, nio and xml.
Shhh, they're turning a blind eye to it for now Remember Molebox keeps prying eyes out of dirty secrets...
Well, they certainly won't sue anyone for that. Fortunately Sun isn't retarded. For one they aren't losing anything. If they would win it wouldn't even yield enough money to cover the coffee costs of one month. And PR wise it would be a pile of poop. Totally not worth it.
Heck. They even demonstrate how little they care by promoting such oh-so-evil software.
Exactly. Sun have made quite a song and dance about my little games and never once has anyone moaned about my deployment "techniques". And now finally they're actually addressing the issue I have by producing a mini-VM. Sweet.
Several companies do... theres mine, Oddlabs, the Runescape guys, the people who did IL-Sturmovic, the ones that did Vampyre Masquerade (I think).
It's not popular because a) it doesn't run on any consoles which sort of negates its popularity in games dev business right now as two thirds of the money is in the console market and b) a continuing reluctance for prima donna games engineers to accept their own failings and understand that someone else has solved their problems to a large extent
But you're a prime candidate for using Java, given the GUI-intensive nature of your games, and total lack of ability to port them to the Mac
yeah cliffky... I am making a bussines app in java and with $100 and a very nice skin my gui elements looked way better (in 5 minuts) than gui in your games (now I will hide in a hole and throw away the shovel)
//and I don't think statically better (like better bitmaps) but they animate, shade in real time glow reflect and all that desk2.0 stuff
And Java people don't have to deal with shit like this:
Anyways, all kidding aside, whenever I have had the time to work on my game, it's using the LWJGL library which I couldn't be more happy with..
I believe the resolution to that particular issue was in fact driver-related...
Now that I read that thread again... it could be the hdd starting to spin. With win2k I get a complete 5 second freeze whenever that happens (you can't even move the mouse pointer etc). Usually that's pretty audible tho.
Well, there are certainly a lot less mistakes to make with a managed language. And those mistakes, you can still do, are easy to track down. Unless it's a flow glitch, but then again... no language can protect you from those.