Choosing Winter instead of Swamp in the skirmish setup screen changes what the ground is made of. Not its colour: what it is. The gravel becomes packed snow over grey-blue rock, the mountains grow a low snowline, the trees change species, the night sky keeps a cold cast instead of washing out to black, and it starts snowing. Pick Wasteland instead and you get flat-topped mesas with sheer eroded flanks, no snow anywhere, and a night that reads warm. Pick Cave and the trees stop being trees.

For most of this project none of that was true. Every map loaded the forest texture set and multiplied it toward a target hue, so a swamp was green forest and a wasteland was rust-coloured forest. That is a reasonable place to start and a bad place to stop, because a tint cannot change what the ground is made of, only what colour the same gravel is. The instruction from Adam was blunt: the biomes should not be recolours of each other.
What a biome is made of now
The picker offers 11 of them: forest, winter, cave, swamp, wasteland, desert, jungle, plains, glade and gloom. Each one owns:
- A set of tiling ground textures. Eleven files is the required baseline: three grass variants, two dirt, two rock, two water, one forest floor and one shore. Extra variants above the baseline get loaded if they exist, and there are 139 such files across the ten sets.
- A colour grade, which decides how the raw texture is pushed toward the biome's look before anything else touches it.
- An average colour per material, measured from the textures themselves. This is not a duplicate of the grade, and it has its own section below.
- A rock language. Wastelands raise flat-topped mesas with sheer eroded flanks and no snow. Winter builds grey-blue ranges with a low snowline. Swamps hunch into low mossy mounds.
- A sky, day and night. Night keeps a faint cast of the daytime hue rather than washing out to black, so a snow night reads cold and a wasteland night reads warm.
- A tree species. Cave and swamp use a mushroom model rather than a tree.
- A kind of weather. Rain in forest, glade, gloom, jungle, swamp and plains, snow in winter, nothing in the dry biomes and the caves.
- Minimap colours, derived from the same palettes the world renders from, so the minimap of a wasteland is not a green map with orange dots on it.
Two of the rock roles look like a detail and are not. Cliffs you can walk on and the distant mountain ranges both use the first rock texture, while free-standing boulders and the cliffs drawn beyond the edge of the playable area use the second. Get those the wrong way round in a new set and the map edge stops matching the map.

Three edits that have to land together
A biome can borrow another biome's textures and fake its own colour with a single tint. That is a legitimate stopgap, and moving a biome off it means three edits that all have to land in the same change.
Stop borrowing. Without this, nothing else matters. Jungle is the cautionary tale. A complete, generated, uploaded texture set sat on disk unloaded for a month because the biome was still pointed at forest's textures. Everything about that failure is silent. The files exist, the manifest lists them, the CDN serves them, and the game asks for forest anyway. Desert did the same thing later and was cut loose in August, at which point it stopped rendering as rust-red badlands and started rendering as sand, with its own oasis water and sandstone mesas carried through the shoreline and the sky.
Measure the new textures' average colours. The ring of terrain drawn beyond the edge of the map is painted as flat colour on a canvas. It cannot run the ground shader, so it is handed the colour the shader would produce, and it computes that from the per-material averages. Skip this step and the failure is neither subtle nor central: the map grades from the new textures while the ring grades from the old ones, and you get a hard colour seam in a rectangle around the entire map edge. It is invisible from the middle of the map, which is exactly where a new biome gets checked first.
Reset the tint back toward neutral. A strong tint exists only to drag
borrowed textures toward a target hue. Left on top of correct textures it
applies twice. Desert's ground tint was [1.04, 1.27, 1.20], which existed
purely to lift wasteland's rust toward ochre. On actual sand it overshoots into
green-cyan.
No biome borrows any more, and a test now asserts for every biome that it is pointed at its own textures and that the measured averages exist. It runs 112 checks, which means the jungle failure cannot recur silently. It took two occurrences of the same bug to get that test written, which is roughly the normal number.
The portable form of this has nothing to do with terrain. When a subsystem can fall back to a shared default, the fallback needs an assertion saying which things are allowed to use it. A stopgap with no expiry date is indistinguishable from a finished feature from the inside, because everything downstream of it works perfectly.
What a biome costs
Each decoded texture set is about 14 MB at the 512 pixel tier. Touring the biomes in one session used to pin about 126 MB of decoded images, measured across nine of them, because a biome's textures are cached globally and deliberately outlive any one map. It is now capped at two live sets. Two rather than one, because changing map and the split-view capture mode both briefly want the old and the new set alive at the same time. Getting this wrong is how a browser tab dies, as described in keeping a browser game inside its memory budget.
Matches are pinned to the 512 pixel tier. That is not laziness. At the distance an RTS camera sits, the 512 set is already more detail than the screen can show, and pinning it makes download size and video memory predictable across the whole biome library rather than a function of which map is open. The higher tiers exist for close inspection.
The reason both renderers share one texture source at all is the subject of terrain that looks the same in 2D and 3D, and the argument is the same here: a biome that renders one way in 3D and another way in 2D is not a biome, it is two.

The biome that carries the most machinery
Winter is the only biome where the ground remembers anything. Snow accumulates, packs down where an army has walked, and holds the trench for a while after the army has gone. That whole stack is snow that remembers where you walked, and it is the clearest example of what all this structure is for: the same terrain, the same pathing, the same resource placement, and a completely different thing to look at and fight over.
If you want to see the difference rather than read about it, the map gallery generates its previews from the same biome definitions this post describes, so the shore transitions, the corruption overlays and the winter set are all visible without booting a match. Load one in the game and the ground under you is the one counted above.
The gap now is that only winter changes how a map plays. Rain falls in six biomes and does nothing but look like rain, and the obvious next move is to give it something to do.





