ZL—LAB 04 / Colony / World substrate
Name it
last.
Lab 04 holds the environmental side of Colony: an attempt to model the conditions from which geography, weather and living systems can emerge rather than assigning those outcomes as labels.
Foundation before category
The direction changed once arbitrary biome labels stopped being necessary. Elevation became geometry rather than a terrain name. Sunlight drives temperature. Elevation changes how heat and air behave. Water proximity affects humidity. Neighbouring cells provide gradients rather than borders.
The map should contain causes before it contains nouns.
A forest should not be wet because a cell was assigned FOREST. A place may become forest-like because temperature, water, soil, elevation, light and life make that outcome possible. Names can still exist for rendering, language or indexing, but they should describe a result rather than cause it.
Relations make terrain
A cell is not independent. Elevation only becomes slope, basin or ridge when compared with neighbouring elevation. Temperature becomes weather only when gradients exist. Water moves because nearby states permit movement. Geography is therefore a relation between cells, not merely a list of cell properties.
Time changes causes
Day and night should change incoming energy rather than toggle a decorative state. Seasons should alter the pattern of energy arriving over time. Weather can then become a transient consequence of unequal heating, pressure, moisture and terrain.
Life reads the world
Flora, fauna and agents should consume the same underlying environmental facts. A plant can respond to light, moisture, temperature and substrate without needing a biome enum. An animal can respond to food, shelter, water and exposure. A later observer may call the resulting place grassland, swamp or forest.
This follows the same instinct used elsewhere in the Labs: avoid defining high-level behaviour when lower-level pressures can produce it.
Water should choose the route
The first transport layer should remain deliberately small. Each cell needs a ground elevation, a surface-water store and some measure of how easily water can leave. A useful local quantity is therefore head = elevation + surface_water. Water compares its head with neighbouring heads and can only move where a lower destination exists.
Do not draw the river first. Give water somewhere lower to go and see whether a river survives.
The transfer does not need fluid dynamics to become useful. For each neighbouring cell, calculate the positive head difference, distribute only a bounded fraction of available water across those downhill differences, then apply infiltration and evaporation after movement. This is intentionally conservative: the world should change gradually enough that causes remain inspectable.
A minimal step can be thought of as outflow = available_water × mobility × downhill_share, with total outflow capped below the cell's current water store. mobility can later absorb substrate, vegetation, ice, engineered drainage or saturation without changing the basic rule.
Basins are information
A cell with no lower neighbour should not be treated as an error. It has discovered a basin. Water can accumulate there until the combined head rises enough to spill across the lowest rim, evaporates, infiltrates, or is consumed. Lakes and intermittent pools can therefore emerge from the same mechanism as streams.
This gives later erosion something meaningful to read. Persistent high-volume routes can gradually lower or reshape terrain; sediment can move and settle where transport loses energy. The important order is water first, erosion second. Otherwise the simulation would sculpt channels for rivers that had not yet earned them.
Water closes several loops
Once water moves, several previously separate systems begin to couple. Temperature changes evaporation. Evaporation changes atmospheric moisture. Terrain controls drainage. Moisture changes vegetation. Vegetation can change infiltration and surface flow. Agents can then discover reliable water sources rather than receiving them as world-generation conveniences.
The same state also provides useful history. A dry channel can remain legible because erosion remembers earlier flow. A settlement may persist beside a lake whose feeder stream has migrated. A place can therefore acquire geography that records its own past rather than merely its current values.
Next bench
The practical next experiment is a small height field with rainfall and no biome logic: seed water uniformly or from a moving rain band, iterate bounded downhill transport, and inspect whether stable drainage networks, basins and wet/dry gradients appear. Only after that behaviour is believable should infiltration, erosion and atmospheric transport be allowed to complicate it.