Game engines in Java - On this day in 2017
Jun. 11th, 2005
04:00 am - Game engines in Java
So today I'm looking at Java Audio and 3D libraries, and pondering which is the best for the purposes of this project. The following is a run-down of those I've come across so far, please comment if you've any experience of them >:)
JOGL provides bindings for hardware-accelerated OpenGL under Java. I have a copy of Learning Java Bindings for OpenGL by Gene Davis and the code looks very similar to using OpenGL from C.
Java3D provides a thread-safe high-level scenegraph engine and would be the easiest option to choose, but the performance appears to be poorer than with JOGL or third-party alternatives. On my Thinkpad there are intermittent pauses with the example programs and this doesn't fill me with confidence.
JOAL provides bindings for the OpenAL audio library. OpenAL is an interesting library but I've had mixed success with it under MacOS X - the TORQUE game engine uses OpenAL and I've never managed to get it to do sound under MacOS!
Looks like a very slightly faster alternative to JOGL, but currently MacOS X support appears to be undocumented beyond basic system requirements.
A Java binding for the Open Dynamics Engine, a rigid body physics engine written in C. Native binaries exist for Linux, MacOS X and Windows.
3D game engine targetting the MMORPG sector, it appears to still be in pre-Alpha but looks interesting.
Xith3D shows similarities to Java3D that can use either JOGL or LWJGL as its renderer. Unfortunately the samples behaved badly on the Radeon M6 in my Thinkpad and I'd really like to provide support for older hardware.
Looks like an interesting engine and possesses a MacOS X version so that's a big plus, but the project doesn't appear to be under particularly active development. I'll spend a couple of days poking around with the demos and see how they run though just to be fair.
This is a high-performance engine which currently sits on top of the LWJGL renderer but that will support JOGL in the future. Aside from the Pixel & Vertex rendering demos it works very nicely on a Radeon M6 and when JOGL support is implemented it might be worth looking at.
A library of classes useful in the development of 3D games. The SDK sits atop the Java 3D API.
Looks like an interesting engine and supports hardware acceleration in Java 1.4+ and OpenGL via LWJGL. The quake-like demo runs fast on my Thinkpad.
JIRR is a Java binding for the Irrlicht Engine, a 3D game engine written in C++. Whilst developed in a platform-independent manner, it only supports Windows and Linux in the current versions.
Neither of these engines currently has Java support, but they're both cross-platform and designed with in-game geometry editing and network play in mind. Sauerbaten is effectively the next-gen variant of Cube with numerous conceptual simplifications.
It might be desirable to create a Java binding for one or other of these engines.