What I would like to see from java is that it can actually optimize the byte code that is is given to the machine it is running on. JIT compiling can give potentially give you this, why are we so unsure that Java(tm) cant?

I think the difference is that static compilation is within reach (through GCJ, for example) of most people here, while improving the JVM is an abstraction that has frusterated many in this community who *have* tried.

Yes, fundamentally when people talk about the advantages of the JIT technique the words "potentially" and "theoretically" are still being used regularly.

Sun's server VM is quite fast but rather dissappointingly has turned out to be no faster than Jet for every application I've tried (and specifically, for games). And of course Jet suffers no warmup time where it runs like a dog.

A lot of Java's supposed performance comes from garbage collection cleverness, and Jet does rather less of this than the Sun VMs because it's now got escape analysis. And of course, if the Jet team use a very similar GC technique to the Sun VM then they've already clawed that whole advantage away from the JIT and it's purely down to how well you can optimise chunks of code. Right now it looks like static optimisation with relatively unlimited time to think about it is proving to be as fast or faster than dynamic JITting hotspots, and produces code with no warmup time. The clever OO optimisations that the server VM is doing are more than clawed back by more aggressive static compilation techniques.

Especially for client-side games, where we don't like to produce much garbage due to non-deterministic GC timing, and where we want the fastest code there is, on startup.

I conclude:

1) Leave native compilation to another company, who are good at it, and deserve the business

2) Leave JIT ideas to Sun, who are good at it, and will probably one day manage to get a VM out which performs better than native, but not for a good long while yet

Add two years and another thousand gigahertz to the machina - still think no-can-do?

As nice as it looks, it technically dated. It's a raycaster. As i mentioned in another thread, i would like to see something like the quake (even quake1 would be fine) engine to be implemented in Java.The closest thing i could find was this:http://www.jpct.net/download/jpctdemo.zip

Quake in Java was done a long time ago, JQuake(1997), unfortunately ID stamped on it.

This turned into Frag Island, which stopped working years ago, I presume the models and maps were removed, but I don't know why - it might have just been the server people doing this accidentally. But I doubt the server side scripts/java are running even if the maps & models were replaced.

Frag Island was written by 2 very good coders from the ST/Amiga days, Nicolas Thisell & Andreas Suurkuusk (Or simply Nik & Jas).

However I do remember having one or two goes on it, unfortunately the multiplayer system had been broken so I just wondered around the map a few times.

Was it as good as the original ID Quake engine?

Yes although they obviously cut some corners.

The question is why has no one continued writing in Java "products" of this sort.

A lot of it stems from the fact that the (European) demo crews abandoned Java a long time ago, simply because Sun obviously had no intention of fixing the problems with it. (And still don't.)

Technology also plays its part, you want to fuss about writing software renders or enjoy the life of 3D hardware - to which we already know the answer!

Try doing a search for "Digital Nerds" (Look out for "Flow" and "Apex") or "Yodel"s "I". Mostly they only work in IE with M$ JVM's.

But again they are rather old and are DEMOS not games (they are no longer the same thing). They are also just conversion of work done on the Amiga (as anyone will know if they have seen Scoopex's Super Auto Drome or 1000%).

The reason why there are not a lot of big games programmed in Java is not so much performance, but lies in the fact that Microsoft pretty much owns the gaming PC industry (and in the near feature they seem to be winning yet another console war, Sega allready lost it, Nintendo will be next).

Everybody who works with linux, still has a dual boot machine just in order to play games.

So why would gaming companies worry about multiplatform games ?

Having said that, programming small games in Java can be a lot of fun, but it probably won't make you rich ...

I'm clawing my bit of the world back from Bill. Like a nation grown fat and complacent he can't look after his borders enough. The Sacking of Redmond will go down in history one day, and I'm one of the hairy barbarians.

The reason why there are not a lot of big games programmed in Java is not so much performance, but lies in the fact that Microsoft pretty much owns the gaming PC industry (and in the near feature they seem to be winning yet another console war, Sega allready lost it, Nintendo will be next).

I don't think that is it at all. First of the X-box is a long way off the PS2 in terms of sales and boxes out there. It is neck and neck with the GameCube. As for the PC sure Windows is pretty much an exclusive market but that doesn't stop people using OpenGL rather than D3D as their 3D envoriment of choice. Which id still selling engines left, right and centre, I don't see that changing any time soon.

I think the biggest problem is that no one uses Java. Take it from a developers perspective, you've got tons of libraries you've developed over the years for C/C++, you have a team that probably codes almost exclusively in that language and if you wanted to port to a console then you'd want to keep it in C/C++ to make the port easier (depending on the console). New game development companies might consider Java. Certainly Epic tried with Unreal years ago when java first came out, they weren't impressed with the performance (though with Java 1.1 that's no big surprise). I would like to see them have another go with it now.

Sony certainly seem to have an interest in Java for something involving 3D, since they are involved (though not that actively) in most JCP involving anything with 3D in it.

Certainly Epic tried with Unreal years ago when java first came out, they weren't impressed with the performance (though with Java 1.1 that's no big surprise). I would like to see them have another go with it now.

They tried java only for scripting. It failed for them because they used threads for all moving objects (I remember them talking about "java's inefficiency in handling hundreds of threads simultaneously". Which seems a rediculous amount of threads to me anyway). They replaced it with their own 'UnrealScript', which has many similarities with java but they 'simulate' threads instead and made it simpler and added some game-specific features to the language.The point is, UnrealScript is not faster than java 1.1 at all (I'd say it's a fair bit slower), it's just more a language tweaked for their needs.I don't think they'll ever try java again because UnrealScript serves them perfectly well so there's no point.

Shit, it's bad enough with n00bs in here trying to use threads to do all sorts of bollocks without an actual admission by a "professional" games outfit trying to pull the same stupid stunt. If they were that inept it's pretty remarkable they actually managed to finish Unreal. (Which was a boring game in my opinion, although the engine itself was pleasant)

True, Unreal was very boring (just 'interactive eyecandy', really) , but I had lots of fun with the engine (UnrealScript was actually my introduction to OO) and the editor totally rocks.The engine would have been way better when they would have pulled it off to use java. Now, unrealscript is limited to code that (I quote from the official docs) "should be idle most of the time" because of it's lack of speed and power.I think if there was an engine with a scenegraph, physics, sound, networking etc. written using LWJGL or whatever (or maybe even integrated in it?), it would beat the Unreal engine for sure in terms of flexibility, power and probably even speed.I also think LWJGL is a good starting point because I like the idea that it isn't afraid of going native when it helps.

I don't really care a lots about this discussion, but if SUN would pull its head out of its ass and add OpenGL as build in feature of java AND create window toolkit based on OpenGL, the world would be saved.

Actually, one of the big draws to Java for me, personally, is the cross-platform development. The other is the reduced development time (focus more on the GAME, not the implementation).

With the advent of MMORPG's, Java has, IMHO, great potential. When your game can run on MacOSX, Windows, Linux, Solaris, etc, that's that many more potential subscribers to your game. Sure, Windows has millions of more users than the rest combined, but I'd say Linux and MacOS both have more desirable marketing potentials. You might have to make concessions with 3D related stuff, I don't know. Personally, I don't think a great MMORPG is defined by it's graphics, anyway. I'd love to see a Tales of Destiny styled MMORPG in an EQ kinda game, but maybe that's just me (and now you know what I want to work towards). The point is, if making a playable game available to another 10 million users by default, rather than putting in a lengthy porting process, empty promises, slipping ship-dates, etc, you could have a working game, shipping, all in one box, for a larger target audience.. Then you get 3. Profit somewhere in there. And don't forget the mobile market is exploding right now, make a stripped down/playable version for those and...

(BTW, I'm speaking as an Everquest addict who just reinstalled last week and has already spent an average of 5 hours a day every day playing again after an 8 month layoff... :: sigh :: At least they made the game windowable so I can have TextPad open and do some basic java development whilst my char heals.. ).

(BTW, I'm speaking as an Everquest addict who just reinstalled last week and has already spent an average of 5 hours a day every day playing again after an 8 month layoff... :: sigh :: At least they made the game windowable so I can have TextPad open and do some basic java development whilst my char heals.. ).

Bah, head over to http://progressquest.com/ and start playing PQ instead. All the excitment of a MMORPG, for free, and it leaves you free to have a Real Life as well I've been playing for several months none stop now..

It is all the same to me. I'm just content creator. Right now it seems to be that I am slowly drifting to the evil route of LWGL, since even though no matter how much I like GL4Java, I can't stand the way it has been put together. Besides it is not that hard to port, everything is basically the same, except little easier what I looked at the docs.

One feature, which I like about GL4Java is the windowed mode feature, since switching constantly display modes gets on my nerves. You know the sound the monitor makes and my development monitor is like 5 years old... =(

Now before I start to port, can someone tell me is it possible to do without using the LWGL math classes?

I'd really like to deal directly with float arrays instead of lwgl matrix classes? I was looking through doc and

The buffer->int stuf is as fundamental to lwjgl as it is confusing to lwjgl newcomers. The int is in fact a pointer address to a buffer that you specified. To fetch an address for a _direct_ buffer, do a Sys.getDirectBufferAddress() on it. You can do without the lwjgl math routines perfectly well.

btw, windowed mode is included in lwjgl, although not as nice as in gl4java (yet).

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