Profile picture
David Jefferies
Game Developer & GPU Programmer
Home
About Me
Published Games
Interactive Demos
Personal Projects
Publications & Patents
Personal

World Simulator

Real-time world simulation using GPU compute shaders for large-scale terrain, water simulation and dinosaur ecosystems.

Your browser does not support the video tag.

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

World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot World Simulator Screenshot

Videos

Descending to the South Downs

The procedural terrain generator handles the transition from seeing half the country down to individual trees and grasses.

Your browser does not support the video tag.

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.

Your browser does not support the video tag.

Download link: Download Downs.mp4

×
Click anywhere or press ESC to close