r/VoxelGameDev

Image 1 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 2 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 3 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 4 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 5 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 6 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 7 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 8 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
Image 9 — After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)
▲ 27 r/VoxelGameDev+1 crossposts

After a long rebuild, water is finally starting to feel right in Luminids (with Dev Log 13)

I’ve been building and rebuilding the water system in Luminids for a while now. Think this is like V5 now!

Built from the ground up in Godot 4.6 - the terrain graph/bake defines where water exists, my WaterField samples that, gameplay systems read through my WaterManager, and the renderer builds chunk meshes directly from the same data. Got rivers, lakes and infinite ocean biome.

The system path: carve terrain procedurally in the voxel graph → export hydro fields from that same graph → load/sample them at runtime via WaterField/WaterManager → generate chunked water surface meshes directly from that data → shade and drive gameplay/underwater from the same single source of truth.

The big design goal for me was keeping it performant and readable, while letting each biome carry its own mood. This has been one of the hardest systems I’ve worked on in the game, so it feels really good to see it landing.

Luminids is a cozy world-building game where you build gently, explore slowly, and shape the world with your Luminids so water is an important element of that!

Steam page is here if you want to follow along:
https://store.steampowered.com/app/4070510/Luminids/

Wrote a full Dev log here if interested:
https://luminids.com/dev-log-13-water-that-finally-belongs-to-the-world/

Happy to answer any and all questions on systems running in Luminids if interested - the game is a real joy to work on.

Cheers,
Nick

u/Hostarro — 14 hours ago

At what point does a voxel stop being a voxel?

I’ve been experimenting with extending voxels beyond a purely static representation.

In this system, each voxel is no longer just a passive data cell. Instead, it can support a set of lightweight dynamic properties, including:

  • Material state changes (RGB color shifts, emissive intensity)
  • Transform behaviors (translation, rotation, scaling)
  • Procedural reactions to environmental inputs (e.g. wind fields, physics proxies)

All of these attributes are exposed through a real-time in-game voxel editor, allowing direct modification and immediate feedback during runtime.

What’s been particularly interesting is observing how these per-voxel behaviors scale and interact within an actual gameplay environment.

Curious how others in engine / simulation / tooling development draw that distinction, if at all.

u/timwithacat — 1 day ago

Made a voxel editor to make animated fire

Never liked the flat style of minecraft fire and grass. Pretty underwheling for a voxel game, so I made an editor for my engine, where you can make voxel models and even animate them like 2d sprites. They use a binary format that is literally appended to the webgl buffer, and is animated on the gpu, so cpu wise this is free.

u/FlexPcb — 1 day ago

Micro voxels world editing & model editing (C++/Vulkan)

Last time I presented the voxel world editing and how it was both edited and rendered using a sparse 64-tree stored on a single contiguous node pool.

But I wanted the world to be populated with individual entities that can move and rotate around independently of the world voxel grid.

These entities are entirely stored on a 3D texture in the GPU and rendered with a AABB cube mesh in which rasterized pixels in the fragment shader run a Fast Voxel Traversal algorithm on that texture (Amanatides & Woo 1987).

I plan to raytrace these AABB cube instead I think because doing any sort of illumination algorithm that shares light data between the sparse tree raymarched world and rasterized meshes might be unnecessarily tedious while a single compute shader that raytraces everything would probably be simpler.

As for the editing system, everything is handled in a single compute shader. Since the voxel grid never leaves the GPU, this avoids costly CPU-GPU transfers. I tried sharing a 100^3 voxel grid between CPU and GPU and this was ridiculously slow.

The editing compute shader takes some data in a push constant (brush shape, tool type, size, mouse raycast...) and runs on each texel of the 3d texture when I left click somewhere on the cubic area. It's surprisingly simple (40 lines of shader code) and fast.

u/Mioliths — 1 day ago

Drawing Monalisa with voxel cubes in VulkanVX

hi guys, here's my recreation of Monalisa from memory using only cubes

What is VulkanVX?

A voxel engine written in C++ and Vulkan currently in early development, that's tailored around high optimizations with voxel graphics, targeting a pixelart-like graphics approach.

As of now the foundational graphics part is finished on an approximate of 75%.

The next stage will be the development of a more structured development flow, that would allow to create voxel games in various dimensions. (the core is already there)

This demo uses 25600 chunks, 128^3 each, 4 vx : 1m resolution, which is 512x more voxels per chunks than in Minecraft.

u/philosopius — 2 days ago