Flow - A Java voxel engine, using LWJGL

Flow is a Java voxel engine and platform, supporting servers and clients. It uses LWJGL, and has been in some form of development for a long time. Source code can be found at https://github.com/flow

Flow isn’t completed. Originally, there was Spout, designed to be a voxel engine / platform, but it died after most of the team became inactive. Lots of Spout code is reused in Flow, but Flow only has a few developers working on it. It’s modular - i.e pretty much everything is a library (a good few of these libraries are nearly done). The idea behind this is that if everything crashes and burns there are still usable libraries left behind.

Essentially, Flow exists to provide a high-performance platform which you can write any form of voxel game for, while doing everything in a way which means it can be modified or customised without touching the source of the engine itself. The API is pretty extensive, and isn’t limited by the requirement of clientside modifications like Minecraft is because most stuff is serverside…

Here are some basic ideas which Flow is built around:

  • The ability to create any voxel game. The idea of Spout was to create a Minecraft clone and then expand from there, but the Flow developers like Space Engineers and similar games too
  • Multithreading and efficiency - Flow is multithreaded and efficient.
  • Flexibility - Everything is a plugin - even the game you’re playing. This means plugins can change absolutely anything.

I would encourage people to get involved in Flow and contribute to it - it’s very open to the community and pull requests are invited by their team. Discussion takes place at http://spoutcraft.org at the moment (scroll to the bottom of the forums), but that’s just a temporary home until they get http://flowpowered.com sorted out.