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

I will be starting a new thread soon but I officially started working on a game with DVE.
It is called Dream Space Infinite.
Here are the first few screeshots:


The water effect is done with a simple Fractal Brownian Motion noise sampling. Same deal with the other shader effects.
Hopefully in a about a month I will have a full playable demo.

I am still working on the engine. I improved Infinite World Generation a lot. Came up with a saving/loading system:

Also I changed how voxels are “templated”. It is a lot eaiser now:

  const getSimpleBox = (
    id: string,
    substance: VoxelTemplateSubstanceType,
    texture: string,
    state?: string
  ) => {
    let uv = 0;
    const voxelConstructor: VoxelConstructor = {
      id: id,
      hooks: {
        texturesRegistered: (DVEB) => {
          uv = DVEB.textureManager.getTextureUV(substance, texture, state);
        },
      },
      process(templater) {
        if (templater.isFaceExpposed("top")) {
          templater.addUV(uv).addOverlayUVs([0]);
        }
        if (templater.isFaceExpposed("bottom")) {
          templater.addUV(uv).addOverlayUVs([0]);
        }
        if (templater.isFaceExpposed("east")) {
          templater.addUV(uv).addOverlayUVs([0]);
        }
        if (templater.isFaceExpposed("west")) {
          templater.addUV(uv).addOverlayUVs([0]);
        }
        if (templater.isFaceExpposed("south")) {
          templater.addUV(uv).addOverlayUVs([0]);
        }
        if (templater.isFaceExpposed("north")) {
          templater.addUV(uv).addOverlayUVs([0]);
        }
        templater.processVoxelLight();
      },
    };
    return voxelConstructor;
  };

7 Likes

First big clap of the year !!!

1 Like

Umm I might have done something…
This is actually what the main dimension will look like.



3 Likes

I'm Blue GIFs | Tenor

(ok it’s more like a teal but I still thought of this :rofl: )

I’m so excited to see the game :slight_smile:

5 Likes

So, I finally release DVE 1.3 and started work on 1.4:

I got the checklist ready for 1.4. There is actually not to much left to do. After that I will finally release DVE in beta.

Dream Space Infinite is coming along amazingly. I added particle effects, water falls in the world generation, and spells! Starting to look more like an actual game. I have finally came up with the core game mechanics but I want to keep that kinda secret for now and just let people figure it out on there own.


Waterfalls:

Particles:

Spells:

Also just did this for fun:

6 Likes

Teal update, I love it !!!

I am genuinely wondering what features are missing :slight_smile:

1 Like

Well a voxel engine I feel is something you can add on forever but what will be added to DVE in 1.4 is:

  1. Methods to store and mesh different size sets of voxels.
  2. Custom attributes for voxels.
  3. Rich data working with infinite world generation (meaning data such as chest in MC will be able to be saved and loaded in)
  4. Bug free water flow and removal (works but I broke a few things when I redid the thread pool tasks system).
  5. Improvements to the physics plugin to allow for things such as immersive audio and projectiles.
  6. Some quality of life changes for the render thread to make setting the fog/time of day easier.

The full list is here:

After beta I will be mostly focused on building a plugin ecosystem.
That way the engine can be still be used for many different things and functionality can be easily added.
I will also be slowly upgrading the rendering capabilities over time as well.

Honestly though in a couple months after I get beta out I will be mostly be improving in and patching things to better facilitate my own game development.

I don’t want to be stuck working on this thing forever so I am just gonna start running with what I got and patch what needs to be when the issues arise.

7 Likes

I love how you’re focusing on expandability so early with plugins :slight_smile:

2 Likes

I cannot wait to test your games @lucas-divinestar

1 Like

Quickly fixed it for you. It sure deserves that little additional effort :grin: :rofl:
blue-da-ba-dee_teal

2 Likes

This looks very cool

1 Like

So, over the weekend I redid all the textures for Dream Space Infinite also I added trees and temples.
Now everything has a 32x32 texture. Let’s just say I am so ready to break free of the “Minecraft look” and step into my own.







I am working on DVE Alpha 1.3.1 which will have some major performance and usability improvements.
I will talk more about that soon.

7 Likes

And you sure are. :heart_eyes: The minecraft look doesn’t stand a chance :grin: :smiley:

1 Like

Yep you definitely have your own personality in terms of looks, it feel pretty “dream-like” indeed :slight_smile:

2 Likes

I have been working insanely hard the last few weeks on Dream Space Infinite and DVE.

Firstly you can now play Alpha 0 here:
https://dreamspaceinfinite.com/

[!Only works in chromium based browsers because it uses the Compression Streams API]

There are still some bugs, no sound (for web viewing, there in electron), but it works!
Most sane people just use a JS framework off the shell…I built my own…and my own state management library…and everything but Babylon and a 3d Perlin noise algorithm lol.

The demo is even using a specials method of bunding all the assets together. If you notice in the network tab it does not download any images (save the particle image for BJS) just gZip compressed data.

Also finally I got a working example of DVE and React!

I’ve also been breaking out parts of the engine into other small libraries. Here are some of them:

DVE Libraries

Divine Shaders

Used for building GLSL shader code and in the future WGSL code.

ThreadComm

Used for interthread communication.

Voxel Spaces

Used for spatial/voxel hashing.

DBT & DBO

DBT is for working with fixed raw buffers while DBO is converting objects to binary data and back.

And now finally to the ultra cool part.

DVE Plugins

IWG

Infinite world generation plugin.

Divine Voxel Engine Physics

Basic physics library for the engine.

DVE Player

Uses the physics plug-in for a basic player example.

Future Of DVE

It is really hard to explain the amount of re-factoring and fixing that I have for DVE over the last few weeks. It is just about in beta.
I’ve been having people come bother me for help using the engine now.
So, now the engine can be fully used with React and webpack no problem.

My hope is eventually this project will grow beyond me and there will be a team of people working on it. But I have built a very solid foundation and will keep expanding upon it.

Also, with the different parts of the engine being broke into other libraries there is a lot more ways for people to help out that don’t involve going through the 250+ file repo that DVE is right now.
I hope that will encourage some people to contribute a bit.

7 Likes

This is so exciting !!! It is quite insane the size of the world you manage to obtain !!!

I hope you will receive contribution as it is simply amazing the amount of work you did here :slight_smile:

1 Like

This is beyond cool. We NEED to have it in our promo video for 6.0!!! @PirateJC

2 Likes

I would be honored. If you need anything specific from me please let me know.

:frowning: It doesn’t want to load on my machine.

I may be doing something dumb, but I tried in Edge and Chrome and get the same result. It seems to get stuck on loading a saved game. I see a console log saying data is syncing, so it’s not completely frozen, but it never gets to zero pending loads on the main screen.

@docEdub
All right thank you for letting me know.

In order to fix this temporarily you can go to the applications/database in dev tools and delete all the databases and then try it again.

I have an idea of what might be happening it is probably related to an async/multi-threading problem. I think somehow IWG tried to load or generate the same column at the same time or indexDB failed somewhere.

If this was all on one thread it would be so much easier but since it uses practically all the threads it can it has proven difficult but I think it is getting there.

1 Like