Skip to content

200 · Builds

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.