Infinite Terrain Generation Demo

MADE WITH

C# Unity Git



REPOSITORY

As part of a long-term project I’m developing, I created a fully procedural, threaded, mesh-based world generation system. The system dynamically generates endless biomes, different types of foliage, randomly placed structures, NPC spawns, and a 3D collision system. All of these systems work together to create a world that feels alive.


Taking inspiration from other games that use procedural generation, I designed the system to be seed-based. This means that by saving the correct seed value, the exact same world can be generated again every time. This allows for a large variety of landscapes, biomes, foliage, and structures while still keeping each world consistent. It’s also as simple as changing a few values to create completely different environments.

To create natural looking landscapes, the system uses layered Perlin noise and Poisson disk sampling These techniques help create terrain that feels varied and organic while still being consistent from one to another. The foliage is also placed in a way that gives it natural spacing and variation, rather than looking randomly scattered.

Overall, this system has allowed me to create large, varied worlds that can be generated and explored in countless different ways.