Spawning 5000 dogs per second in deterministic simulator [OC]

Posted it before in vertical version. This time horizontal. It's made in our custom voxel sandbox. Physics is prioprietary and runs on GPU

u/bonzajplc — 7 days ago

Spawning 5000 dogs per second in deterministic simulator

The simulation is computed on GPU so it's quite tricky and it requires a looot of automated testing to not break any feature

u/bonzajplc — 7 days ago

Representing voxels as particles for GPU physics simulation

We can do a ton of GPU computed physics by representing voxels as particles.

We do it in preprocessing stage. For characters it is good to have denser intersecting particles to avoid penetration.

Because the representation of rigid bodies and fluids consist of the same atomic structure - a particle - it is much easier to make one coherent simulation

In the past there was NVIDIA project called Flow which was very inspring, but it never got traction because it was written in CUDA and was really buggy when trying to do anything outside the demos scope.

So we decided to write our own similar system

u/bonzajplc — 15 days ago
▲ 144 r/Simulated

BFS - emergent fluid simulation in voxel sandbox

This video is from 2020, from our sandbox voxel simulator called BFS. It was running back then in Unity 3D. It took us another 6 years to make that scene multiplayer

u/bonzajplc — 15 days ago

BFS - multiplayer voxel sandbox

Today we were testing dam building but ended up in voxel fluid brawl.

The game uses geterministic gpu simulation to solve fluids on all players machines.

It has a bit of performance penalty but we are still optimizing

u/bonzajplc — 16 days ago

We've made a GPU deterministic simulator that allows us to do such multiplayer scenes

For last 8 years we've been working on a simulator that runs deterministically on GPUs. It allows as to do massive scale simulations and since everything is deterministic we can do lockstep networking. Currently we allow 8 players (hopefully there will be more playing overall ;) ) but we could allow more since players are only sending their inputs.

In order to keep everything in sync we moved all the gameplay to GPUs. In consequence we can simulate hundrets of thousands of units, have fluids and completely destructive environment.

As for HW requirements. We want to run what you see on this short video on PS5 equivalent GPUs. For weaker chips, we will make constraints on amounts in the simulation.

As for rendering - we are using a hybrid approach, where we render all moving objects as bboxes and raymarch voxels inside in pixel shader. for static destructive environment we have 8x8x8 node based global voxel grid that is constantly updated and we raymarch through it.

There's a ton of stuff left to do, but I think it's a best time to show it to the world.

I don't know if links are allowed on this sub. So if someone would like to see more videos in HQ I'll post it in comment section when needed :)

u/bonzajplc — 19 days ago
▲ 106 r/GraphicsProgramming+1 crossposts

Removing UnrealEngine's Niagara in exchange for our own VFX system

So we had this problem that we tried to solve for some time with couple of attempts. We didn't want 10 explosions each consisting of 100000 particles. We wanted 100000 explosions each consisting of 10 particles. We wanted to do it with DataChannels but we failed due to complexity of interconnecting our own RWByteAddress buffers with Niagara so they could be interpreted in UI.

Instead we went full resistance mode implementing our own data driven system that is easily controlled with Data Assets. Now we can do all VFX in the game that we want and the system pracically does not pop up in the profiler.

It took us 3 weeks to implement, 2 another weeks for tech artist to create first pack of VFX

u/bonzajplc — 20 days ago

My Greenhouse across ages (that means 4 years)

Notice the tree on the left side of the greenhouse. I'm slowly getting terrified 😃

u/bonzajplc — 23 days ago
▲ 590 r/VoxelGameDev+3 crossposts

BFS - this is how snow is made. A lot of it

BFS is our multiplayer voxel sandbox where we give players a plenty of toys to experiment. Now you can have snow.

u/bonzajplc — 25 days ago
▲ 98 r/VoxelGameDev+1 crossposts

BFS - Voxel Terrain Generator

Hi, I'm new person here so I'm still learning. We are still deep in development and our editor is still junky here and there but I think it's a good moment to share some insights on our tech.

The good:
We are using global voxel grid that is being computed on GPU.
It is GPU only so there are no precomputed voxel chunks (except for scattered assets) being sent from CPU.
Biomes are defined with layers and a simple VM for basic layer operations
When edited the whole world is recomputed not just the edited part - to our surprise it is fast.
The whole editor supports multiplayer (players send just the last commited change of the terrain)

The bad:
UI still needs a polish - it's our second one, you can fluently paint over the terrain, but it sucks a bit on gamepad.
Temporal antialiasing :( - there's a lot of ghosting, since we can't reproduce motion vectors when every voxel is being regenerated every frame
size currently 2048x2048x1024 - could be 4k x 4k but it consumes memory. We will probably just raymarch a top heightmap in the distance with some detail sacrifices

We are opened for feedback

u/bonzajplc — 1 month ago

BFS - will they dig to the core?

BFS is our voxel sandbox game where you can create experiments and feed your curiosity. The most important thing is that it runs in multiplayer

u/bonzajplc — 1 month ago
▲ 508 r/VoxelGameDev+1 crossposts

BFS - a massive multiplayer voxel sandbox running entirely on GPU

Hi, together with my team Plastic, for the last 8 years, we were working on a massive voxel sandbox game. The interesting thing about it is that the game runs entirely on GPU. It means all physics and gameplay, not just graphics rendering.

u/bonzajplc — 1 month ago

Realtime Sheep Fin [OC]

My kid's asked me what happens when sheeps are close to each other. Well the new sheep is formed. And then what? Well, they create Sheep Fin.

The simulation was created in BFS game

u/bonzajplc — 1 month ago