Saturday, January 16, 2016

Java Voxel Engines with Source

I recently carried out a trawl of the internet to find all the open-source Java Voxel Engines I could.  My intention is to use one of them as a foundation to write my own voxel-based game (which is still a long way off).  I didn't spend too long on each one; I simply checked that they worked and that they included all relevant code.  Here are my results which others may find useful.

Firstly, the best ones I found.  (As an aside, one of my general requirement is that an open-source project should work, once all dependencies have been resolved, and these should be resolvable easily.  What's the point of releasing source code that doesn't work?)  These all worked:-

* - You could say this was the best of the lot.  It worked first time and looks amazing.  The only drawback is its complexity; there's loads of code and loads of dependencies and libraries.

* - This is a great simple engine.  It's only about 8 classes big but provides a nice simple voxel engine in Java.

* (BlockWorld) - This one seemed to fit my requirements best.  It's got lots of features including .obj model loading, and worked first time.  The only drawback is that the source is a bit messy (formatting, unused vars etc..)

* - This worked well, and since it uses LibGDX could work on mobile devices as well as PCs.

Other Mentions:-

* - This worked, although it didn't have any textures.

* - This uses raycasting.  Seemed very slow and simple, and although it worked, it was very bare-bones.

I couldn't get these to work:-

* - Seems very worthy, but I couldn't get it to work as the Maven build fails.

* - Couldn't get this to work due to missing source.

The following are JMonkeyEngine "add-ons" which I haven't tried:-


And I also found these two projects which are not voxels, but rather "traditional" 3D but still worked very well:-

That's pretty much all I could find. I hope you find it useful.  I'd be interested to know if anyone has found any more, and which one's they found the best?

No comments: