Java 3D Game Engine
This article is written to introduce popular java 3D gaming engines. I was searching for a suitable 3D gaming engine and faced many issues to choose the proper gaming engines. This article will help java programmers to choose a proper 3D gaming engine according to their work requirements.
jMonkeyEngine : is a game engine designed specially for 3D development. The latest version is jME 3.0 at the time of writing this article. It’s purely written in java and uses LWJGL as its default rendering engine. It extensively uses the shader technology, provides many features such as collisions, particle systems, terrain system, render abstraction and fully supported by OpenGL 2.0 to 4.0.
All the nodes in jME scene graph are subclass of spatial class called Spatials and spatials have two types.
- Geometry : this class is used to create visible 3D objects such as human, car, animal, cube
- Node : this class is used to create invisible 3D objects which group other spatials
Jake2 :It’s also a java game engine. It uses jogl for 3D graphics and joal for sounds and in latest versions lwgl included as an alternative to joal and jogl. Currently supported by windows, Linux and can work with Mac OS as well.
jPCT : is also a game engine available free and can be used to develop desktop application or web application via applets and android application. jPCT provides vast variety of features such as loading model using many file formats such as .obj, xml, 3DS, MD2 and ASC. Supports octrees and portal rendering, skeletal animation, vertex lighting and collision detection.
Libgdx : is also java 3D game development framework provide unified API that supports all platforms. libgdx provide’s a variety of future including importing models such as .obj & MD5, rendering, collision handling, lighting and shader’s integrating with meshes.
Env3D : Innovative engine written in java and built on jMonkeyEngine 2.0. Primary objective of this tool is to visualize interactive objects while learning java. It’s tightly integrated with BlueJ and no need to deal with complex data structure. It also facilitates to write Android applications.
—— in progress—
Reference
[1] Env3D Java 3D Engine Website, http://env3d.org/, Accessed on 21/04/2014
[2] JMonkeyEngine website, http://jmonkeyengine.org/, Accessed on 21/04/2014
[3] Jake2 website, http://bytonic.de/html/jake2.html, Accessed on 21/04/2014
[4] jPCT website, http://www.jpct.net/about.html, Accessed on 21/04/2014
[5] libgdx website, http://libgdx.badlogicgames.com/, Accessed on 21/04/2014