201Terrain Generation 3D
A Unity world generator where biomes come from a climate field, so cold never sits next to hot, designed for a 30 km by 30 km world.
- Year
- 2025
- Status
- In progress
- Unity
- C#
- procedural generation
- noise
What it is
A procedural world generator in Unity 6 and C#. The design targets a 30 km by 30 km world with five to eight continents, about 40% land and 60% ocean, and ten land biomes: grasslands, mountains, forest, hills, tundra, desert, mesa, swamp, jungle and savanna.
What I did
Wrote the design document first. The core rule is that cold can't sit next to hot and wet doesn't jump straight to bone-dry, so biomes aren't placed directly: they are chosen from a continuous climate field of temperature, moisture and large-scale elevation. Each biome declares the climate it prefers and how tolerant it is, and every point picks the closest two, a primary and a secondary, with a blend factor so transitions stay smooth and walkable (about 128 m wide, tunable). Oceans come from a separate land mask, not from "height below zero", and each biome sets how its coast meets the sea, from gentle beach to cliffs.
The plan has six phases. The first two are done: the folder structure and component shells, then the climate and biome system itself. Ocean points cost about two noise calls and exit early; land points cost about seven plus a short loop over the biomes.
What came out of it
The biome and climate system is implemented as designed. Height generation, coastlines, chunk streaming and the debugging tools are the remaining phases.
Screenshots coming soon.
What I'd try next
The next phases in the plan: the height pipeline, the coastline pipeline, then wiring the world generator to stream chunks around the player.