Divine Voxel Engine - Voxel Engine Made With Babylon.js - Alpha 1.0 Out Now

I am releasing Alpha 1.2.2 this week. I made some huge changes to the engine.
I actually was able to make the engine faster and reduce the complexity by a lot.
I wrote a whole new library called ThreadComm to handle all the multi threading and data syncing for the engine.

For the engine’s API it uses something called tools now.

The first one being a brush. So, to generate a simple world all you have to do is this:

import { DVEW } from "../../../../out/World/DivineVoxelEngineWorld.js";
const brush = DVEW.getBrush();
export const WorldGen = {
 generateChunk(chunkX: number, chunkZ: number) {
  brush.start().setId("dve:dreamstone");
  for (let x = chunkX; x < 16 + chunkX; x++) {
   for (let z = chunkZ; z < 16 + chunkZ; z++) {
    for (let y = 0; y < 18; y++) {
     if (y < 5) {
      brush.setXYZ(x, y, z).paint();
     }
    }
   }
  }
  brush.stop();
 },
};

The other tools are:

  • Builder Tool - Used for building chunks.
  • Data Tool - Used for reading and updating voxel data.
  • Tasks Tool - Used for queuing up and running tasks like RGB light updates.

Included in the update is different dimensions. So, you have potentially infinite dimensions for your voxel game.

Also for the update I removed all the old player code and now every example uses the best player example and the current physics engine.

There a lot more changes but would take me hours to explain. Let’s just say I rewrote basically 70% of the engine and soon I will re-work the other 30% to start to get ready for WebGPU integration.

Updated water meshing a bit more:


Some more pictures of the “dread spaces”:



8 Likes