World Simulator — GPU-Driven, Deterministic Ecosystem
The World Simulator sits on top of my LiDAR-based terrain generator and builds a procedural ecosystem across the UK. It uses high-resolution elevation data to recreate the landscape at roughly metre-level accuracy, giving you realistic valleys, ridges, river basins and coastlines. From there, a GPU-driven biome system works out where forests, plains, wetlands and river networks should form based on the terrain and climate data.
Everything in the world is generated on the GPU using a deterministic procedural system written in HLSL compute shaders. That includes vegetation, trees, ground cover and even the occasional dinosaur. Nothing is stored on disk — a hash-based deterministic random number generator keeps things consistent, so if you spot a group of Triceratops near Lake Windermere on one visit, they'll appear in the same place the next time. The population still changes over time, but the overall world remains stable without needing large save files.
To make this run smoothly at a national scale:
- All ecosystem logic stays on the GPU, avoiding CPU bottlenecks.
- Dedicated compute passes handle vegetation growth, creature behaviour, movement and animation each frame in parallel.
- A multi-pass indirect rendering setup (using
Graphics.DrawMeshInstancedIndirect) draws large numbers of plants and creatures without involving the CPU in draw calls. - The simulation and rendering loop is entirely GPU-driven, allowing detailed ecosystems to stream in real time.
Overall, it's a deterministic, large-scale procedural simulation where terrain, ecosystems, AI and animation all run on GPU compute — showing that you can represent something the size of a country, wildlife included, without loading the whole world into CPU memory or saving it out to disk.
Project Screenshots
Click any image to view full resolution
Videos
Descending to the South Downs
The procedural terrain generator handles the transition from seeing half the country down to individual trees and grasses.
Terraforming Water Simulation
Due to the terrain being dynamically generated we can also alter the height map in realtime and see the procedural generation altering the landscape.
Download link: Download Downs.mp4