Java people, don't waste your time!

[quote]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).
[/quote]
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.

[quote]As nice as it looks, it technically dated.
[/quote]
Don’t look at things so narrowly. Yes, for a Quake clone it would be an outdated engine. For an online RPG client it would be great.

[quote]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.
[/quote]
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.

Greetings,
Erik

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)

Cas :slight_smile:

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.

Erik

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.

I mean, object oriented approach to opengl, my pants are already creamed.

I know it’s not going to happen, but… untill then I must stick with gl4java, and perhaps lwgl after it matures a little bit.

I mean total linux support would be enough to get me to lwgl.

Total linux support? Only Controllers are missing from the linux version afaik, and that’s not even a part of gl4java. So what are you missing?

  • elias

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. :slight_smile: 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… :slight_smile: ).

[quote] At least they made the game windowable so I can have TextPad open and do some basic java development whilst my char heals… :slight_smile: ).
[/quote]
Did you hear that Cas? We want windowed mode in our games!

  • elias :slight_smile:

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 :wink: I’ve been playing for several months none stop now…

LOL… I’ve played with that before. :slight_smile: It’s about as mindless, and if you fire up a nice IRC client, you get the community, as well. :slight_smile:

But I’ll still play EQ. I’m actually working on my main desktop here at my other (casual) job where I can play EQ for 12 hours on the clock. How F’ing cool is that? :slight_smile:

I just can’t get the damn driver for this stupid linksys card and ftp.linksys.com keeps rejecting connections so I can’t download them. GRRRR. And the brand-new PCMCIA network card is 32 bit, whereas my PCMCIA adaptor card is… 16-bit ISA. double GRRR! (You have increased your skill in GRRR (26)!)

Oh well, I should really be digging into these books, anyway.

Uh Linux support… uh what? Mayhaps I shall go pull my own head out of my ass.

What about solaris?

Solaris? In theory yes, but I haven’t got a solaris box to test on. The port should be easy enough, though. Does gl4java support solaris?

  • elias

Does Solaris allow HW access? - I seem to recall that it doesn’t - but might be some time I heard that, and like Captain-Goatse(x :P) is with lwjgl , I’m not that up to date with regards to Solaris…

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

getFloatv

public void getFloatv(int pname,
int params)

gives ints??

You mean the one that makes you reflexively look away from the monitor in case it decides to blow up in your face? No “electronics device” should ever emit that kind of mechanical sounding noise. :stuck_out_tongue:

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).

  • elias

Ok, thanks. I seems to be alright. I’ll give it a shot, since you guys seem to be a lot more active than the GL4Java guys.

I guess it is just matter of style. I seems to be pretty clear and easy so I’ll go ahead.

[quote]Ok, thanks. I seems to be alright. I’ll give it a shot, since you guys seem to be a lot more active than the GL4Java guys.
[/quote]
So now you are choosing your API based on how good looking the programmers are. What is this world comming to? ;D

active not attractive, though I am sure it is a valid statement 8)