Game Development Community

Game development in Java?

by subnet_rx · in General Discussion · 11/28/2001 (10:15 am) · 5 replies

What parts of a game can be programmed in Java? Is there any future in programming a game completely in Java? I've been looking over the Java3D API's, and although it's rough around the edges, some of the projects look very nice.

About the author

Recent Threads


#1
11/28/2001 (7:57 pm)
I can see Java being used for a wide variety of games in the near future. With the exception of super-high performance FPSs (simply because of the lag of exposing a new graphics features to java).

Any performance issues (real or percieved) with Java are quickly being eliminated, with the off-loading of most of the graphics pipeline (2d or 3d) to the graphics card, and developments in jvm technology. This, coupled with the ease-of-development of java applications, makes using Java for games very attractive.

That's not to say there aren't problems with the idea. There's still the widely-held belief that java is too slow. Whether or not that's true (trying not to start that particular 'discussion' here), it's still a belief that continues to slow the adoption of java. It's not stopping it though, mind you ;)

Java3D is definately a step in the right direction, though it's taking it's sweet time to evolve into a fully-functional system. Right now it lacks multi-pass support, vertex programs, pixel shaders, and is entirely too focused on vrml-style scenes (last bit is a personal opinion).

I have some stake is seeing this come true, as I'm currently leading a project to build a 3D simulation for the company I work for, with the ultimate goal of applying it to real-time games. So my arguments may be a bit biased, but I've spent a great deal of time thinking about it as well.

In short, I think the only thing in the way is a general lack of understanding of just how powerful java is. Once that becomes more understood, I think you'll see a lot more gaming project using it.
#2
11/29/2001 (9:47 am)
Scott,

I agree. And java speed is improving. Unfortunately (IMHO) there will always be an issue with memory management and the associated processor overhead due to garbage collection. It can be mediated, but only to a degree. Ever try creating and discarding a lot of objects in a short period of time? Not terribly efficient, because allocated memory cannot be reused for another object until the garbage collector decides the object is abandoned.

That said, java is a great language as far as I'm concerned. I write all kinds of stuff in java using J++ (ugh, I know, but it does a decent native compile if you don't mind all the MS crap) because I want the utility now, not tomorrow. Java allows me to do that. Not to mention the API actually exhibits some sanity...
#3
11/29/2001 (11:05 am)
I have recently been doing alot of work with a really cool 3D engine for Java called the Web Driver by WildTangent. I REALLY like it and its powerfull and easy to use. It also works in C++ and VB.

The SDK download is free and requires no fee to make a game with it although it does require a license fee to publish the game with it. But WildTangent are pretty easy to work with so if you make aproduct they like, they will more than likely work with you.

You can check it out at WildTangent. And dont forget to try some of the games in the Mind Candy section. You'll be inpressed.
#4
11/29/2001 (3:35 pm)
Yes, I agree, Java is still very slow. All of the Java programs I have take almost double the time as the equivalent C++ program.

There's something I don't understand about game engines. How much programming does using an engine take out of the programming of a game? Does it take care of most of the major math functions? I can't find a good book on programming games with the engine already programmed. They all explain how to program the engine.
#5
11/30/2001 (5:13 am)
In the future Java will be able to do a lot more.

http://www.javagaming.org/JGO_Discus/jgo_discus.html