?

Log in

Game engines in Java - On this day in 2017

Jun. 11th, 2005

04:00 am - Game engines in Java

Previous Entry Share Next Entry

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


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


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


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!



LWJGL


Looks like a very slightly faster alternative to JOGL, but currently MacOS X support appears to be undocumented beyond basic system requirements.



ODEJava


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.



OctLight


3D game engine targetting the MMORPG sector, it appears to still be in pre-Alpha but looks interesting.



Xith3D


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.



OpenMind


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.



jME


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.



Java 3D Game SDK


A library of classes useful in the development of 3D games. The SDK sits atop the Java 3D API.



jPCT


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


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.



Cube


Sauerbaten


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.