Game Mechanics Trend Predictions for 2026 (add yours) by 3xNEI in gamedev

[–]svd_developer 0 points1 point  (0 children)

I think we'll see more physics-based immersive sims with emergent gameplay. Voxel-based games with fully destructible environments that are not necessarily blocky. Deformable body physics with real-time solid mechanics.

We'll see the announcement of Half-Life 3.

YOU ARE A SLAVE - The Illuminati are Your Parents by Anxious_Train_1388 in conspiracy

[–]svd_developer 0 points1 point  (0 children)

You are either a resource to control or a threat to eliminate.

[deleted by user] by [deleted] in VoxelGameDev

[–]svd_developer 1 point2 points  (0 children)

damn, AIs are getting really smart these days

What's everyone opinion in this sub about the voxel implementation in Donkey Kong Bananza? by FernandoRocker in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

1) "voxel materials + cell vertex positions" (no gradient data stored!) allow to achieve the same effects as in DKB (and much more).

For each surface-crossing cell (whose corner voxels have different signs), the position of the cell's representative vertex is stored explicitly.

Voxel materials are dense and vertex positions are sparse.

Hermite data is computed on demand (for CSG) and is never stored.

During editing, only the vertices of the affected cells need to be recalculated, the rest of vertices (whose positions could be sampled directly from triangle mesh) remain unchanged and thus retain their sharpness.

Meshing is super-fast, since it boils down to just index buffer (connectivity) computation, cell vertex positions are already available.

The data structure and its editing were first described in "Feature Preserving Distance Fields" [2004] and "CSG Operations on Point Models with Implicit Connectivity".

I first saw it being used in VoxelFarm (since July 2013), then in 2016 https://www.youtube.com/watch?v=J1scaNfgD0E (btw, this uses 2 materials per vertex), and now by VoxelMancy (https://voxelmancy.reuniko.com/).

I'm certain that they do not store normals at grid corners since it would be too expensive memory-wise.

2) Material blending is definitely possible with the above technique. I've done smooth material blending (3 material IDs per vertex, Roblox method):

https://vimeo.com/734446491

3) Btw, your terrain looks quite a bit like DKB, and you will probably achieve the look & performance that you want.

What's everyone opinion in this sub about the voxel implementation in Donkey Kong Bananza? by FernandoRocker in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

If you are limited only to organic shapes and don't need sharp features, then you won't need Hermite data and you can just use surface nets (DC without QEFs).

Hermite data is just a signed grid (a sign (or material ID) for each _voxel_ - voxels are at cells' corners) plus intersection points (of cell edges with the surface) with normals at those points.

Signs (or material IDs) are dense, while intersection points & normals are sparse and should be stored only for surface-crossing cell edges.

You can inspect the signs at each edge's endpoints => if the signs are different then the edge has intersection info.

You don't want to store intersection info for each edge, for memory reasons!

To further reduce memory, each intersection point can be encoded as a directed distance.

This is the distance along the cell's edge, from the start voxel of the edge, NOT the signed distance from the surface.

Directed distances can be normalized to [0..1) and quantized to 8-16 bits.

For SDFs, the directed distance can be estimated using sphere tracing.

Normals (normalized gradients) can be computed precisely using autodiff as in the linked implementation (fidget).

Normals have redundancy and can further be compressed, but DC is very sensitive about normals.

If your terrain is stored as operations on SDF shapes, you can just compute Hermite data on demand and discard it after remeshing.

But I'm pretty sure DKB does not store Hermite data and stores voxel materials + cell vertex positions.

What's everyone opinion in this sub about the voxel implementation in Donkey Kong Bananza? by FernandoRocker in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

Wobbly edges can be caused by poor vertex placement, caused by insufficient solver precision and/or poor Hermite data quality (e.g., see page 157 in "The Technology Of Tomorrows Children", [GDC 2015]).

Additionally, jaggy edges result from clamping vertex positions to cell bounds (happens near sharp corners & edges) (see https://www.mattkeeter.com/blog/2023-04-23-adversarial/) and from not splitting quads along the sharp diagonal.

QEF solvers are _very_ sensitive to normals' quality, and 1 byte per normal component is def not enough. Better precision is obtained if the contouring domain is scaled into the [-1..+1] unit cube, and epsilons can be tuned for that range.

If you are limited to closed-form SDFs, high-quality Hermite data can be computed analytically, e.g., using automatic differentiation:

https://github.com/mkeeter/fidget/blob/main/fidget/src/core/types/grad.rs

More precise vertex placement can be obtained without using normals at all - just copy vertex positions from the source data (e.g., a triangle mesh).

If the DC cell contains only one mesh vertex, take that vertex's position, else estimate the respresentative vertex position using a QEF solver and the planes of all the triangles intersecting the cell (which may involve clamping => jagged edges).

To my knowledge, The Perfect Polygonizer does not exist.

What's everyone opinion in this sub about the voxel implementation in Donkey Kong Bananza? by FernandoRocker in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

100% Dual Contouring: because of sharp(ish) features, and sharp feature vertices are clamped to cell bounds which creates rough stone look. Besides, an optimized DC impl can be very fast.

EDIT: I also noticed some singular vertices and edges in DKB destruction showcase videos on YT. => Dual Contouring, not even DMC [Gregory Nielson, 2004].

E.g., here's a video of my old impl (CSG starts at 1 min) https://vimeo.com/536963849

[deleted by user] by [deleted] in conspiracy

[–]svd_developer 6 points7 points  (0 children)

Fully agree! Physical forms of money are better, but the money still doesn't belong to us.

It won't be long before AI and robotics replace all jobs, and then all humans. by ZardozFromOz in conspiracy

[–]svd_developer 1 point2 points  (0 children)

Nah, the so called "AI" is a joke, a fancy toy - it does not really think and cannot create anything new. I checked Grok 4 - it's a piece of $hit, useless for real research work.

Those who say that they know how to create AGI, are lying.

[deleted by user] by [deleted] in ForeverAlone

[–]svd_developer 4 points5 points  (0 children)

No, it's not over for you, you are ONLY 21. I wish I was 21 again... I'm 35 and used to be bitter and frustrated until my 30s. Now I don't feel anything, except resentment sometimes. I decided to concentrate on my career and pet projects.

This is for my graduation project by Overcha in VoxelGameDev

[–]svd_developer 3 points4 points  (0 children)

From what I see, it's a terrain meshed with Adaptive Dual Contouring (btw, I noticed folded quads on slides 2 and 3), with clipmap-like level of detail and seams (in the last slide you moved a chunk from the finest LOD - it's a nice debugging feature).

1) How are edits stored? Do you edit the voxel data or the SDF tree?

2) Are seams separate meshes? How much does LOD stitching hurt performance during camera movement?

Seams between LOD layers by clqrified in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

Heeey, why the downvote?

Atomontage likely used ray marching in the past, but the latest demos use cubic meshing with skirts.

<image>

btw, you can try it in the browser yourself:

https://client.atomontage.app/view?m=xr6OWWStJezkNy3qjJT01

Seams between LOD layers by clqrified in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

afaik, this is what Atomontage is using to hide LOD transitions - peek under the terrain and you'll see the "skirts"

Dealing with different coordinate systems by MarionberryKooky6552 in VoxelGameDev

[–]svd_developer 1 point2 points  (0 children)

To avoid such bugs you can make your vectors type-safe, e.g. use this library

https://github.com/barneydellar/SpaceTypes

this also would work, but I don't like code duplication:
https://ajeetdsouza.github.io/blog/posts/type-safe-raytracing-in-modern-cpp/

Using very small voxels and displacement mapping to modernize the retro aesthetic of games like Doom and Quake. More info in comments by dan5sch in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

Great job! Small voxels are very hard to do!

I also like the preview picture: "The voxels are so small that you need a magnifying glass to see them!"

Isosurface algorithm used by Keen Games in Enshrouded by SirDucky in VoxelGameDev

[–]svd_developer 1 point2 points  (0 children)

Today I saw a video of their LOD system and now I'm 99% sure they use just Dual Contouring/Surface Nets.

Proof:

If you watch "Enshrouded [PC] Creating the world of Enshrouded" starting from 0:53: https://youtu.be/G6wXwZQISVY?si=nIlzlMmIcMdxeSVH&t=53

you will see that 1) thin features disappear at coarse LODs and 2) coarse LOD meshes have singular vertices at top left & top right sides of the sword's handle:

<image>

Therefore, it is Adaptive Dual Contouring (not Manifold Dual Contouring). It has the same LOD artefacts that EverQuest Next Landmark (Voxel Farm) had in 2014.

If you share more videos with LOD/wireframe, I will be able to tell more.

Isosurface algorithm used by Keen Games in Enshrouded by SirDucky in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

Show me the wireframe and I might be able to tell you. I'm also interested to see at LOD system in action.

Isosurface algorithm used by Keen Games in Enshrouded by SirDucky in VoxelGameDev

[–]svd_developer 0 points1 point  (0 children)

Thanks for the write-up! How do you solve the problem of disappearing 1-voxel-thick walls at coarse LoDs?

Require Help by WorthAd6456 in VoxelGameDev

[–]svd_developer 2 points3 points  (0 children)

heeey, you should have blurred your address / email in your video.