MADE WITH
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.