Skip to content

Terrain variants

New looks for existing terrain: flat materials, and cities with roofs, lights, architecture and signs of their own.

A mod can add appearances for existing terrain. Each variant keeps its base terrain's movement, construction, cover and destruction rules. Enabling a mod does not change ordinary maps: a map selects its styles with "terrainVariants": { "city": "my-mod-city" }, or through the terrain style chooser in the editor. Exports and saves retain these choices. A missing or disabled variant displays the ordinary base terrain.

Materials

Declare material images in sprites with keys such as ter.my-mod-concrete. They must be single-frame squares with equal whole fw and fh between 4 and 512; 128 is recommended. Terrain materials preserve the full image: teams, stripBg, rotated, fitFootprint and freezeStatic default to false and cannot be enabled. Anchors, mounts, pivots and animation settings do not apply. Use opaque, seamless flat materials without painted buildings, text or cast shadows; city.signTexture may instead contain sign artwork. References must name sheets in the same mod.

Flat terrains use texture. A city instead uses city to color and texture roofs, walls and courtyards, with optional window, streetlamp and architectural lighting colors. At least one city property is required. Without architecture, its building geometry stays ordinary. A terrain-only mod can supply "defs": [].

City architecture

The optional city.architecture kit redesigns visible buildings while preserving the underlying city tiles and their movement, cover and destruction rules. Choose distinct slab, courtyard, terrace and stepped forms; set the visible storey range and lot coverage; and control vegetation, rooftop equipment and facade structure. signTexture supplies artwork for the kit's architectural signs. Damage states still collapse buildings and extinguish signs. The minimum storey count must not exceed the maximum, including the defaults when either is omitted.

Signs

signTexture contains a 4×4 grid of 16 square signs, ordered left to right, then top to bottom. Each building's deterministic seed selects one cell. Use equal fw/fh divisible by four (128 is recommended), dark unlit backing, and bright lettering or symbols. Pixels whose strongest RGB channel exceeds 120 emit their own color at night. This is one atlas frame, not a horizontal animation strip. Missing artwork falls back to procedural glyphs.

Reference

A terrain variant (terrains[])

fieldtyperequireddefaultmeaning
ididyesunique terrain variant id, prefixed with the mod id and a dash
nametextyesthe terrain style name in the editor
basegrass | sand | road | mud | marsh | snow | rubble | ice | cityyesthe existing terrain whose movement, construction and combat behavior stays unchanged
texturestringflat terrain material: a ter.<mod id>-<name> sheet in this pack; city uses its city materials instead
city{ roof, wall, window, lamp, roofTexture, wallTexture, groundTexture, signTexture, accent, accent2, architecture }materials, lights and optional visual architecture; only with base city

A city (terrains[].city)

fieldtyperequireddefaultmeaning
roofstringroof color, #RRGGBB
wallstringwall color, #RRGGBB
windowstringlit window color, #RRGGBB
lampstringstreetlamp color, #RRGGBB
roofTexturestringroof material, a ter.<mod id>-<name> sheet in this pack
wallTexturestringwall material, a ter.<mod id>-<name> sheet in this pack
groundTexturestringcourtyard material, a ter.<mod id>-<name> sheet in this pack
signTexturestring4×4 atlas of 16 square signs in row-major order, a ter.<mod id>-<name> sheet in this pack; custom architecture selects a cell per building
accentstringprimary architectural lighting color, #RRGGBB
accent2stringsecondary architectural lighting color, #RRGGBB
architecture{ forms, minStoreys, maxStoreys, coverage, greenery, equipment, facade }optional building kit; omitted keeps ordinary city geometry

City architecture (terrains[].city.architecture)

fieldtyperequireddefaultmeaning
forms(slab | court | terrace | stepped)[]slab, court, terrace, steppeddistinct building forms to mix: slab blocks, courtyard blocks, terraces and stepped towers
minStoreysinteger 1–42minimum target storeys for the main building; smaller lots and wings may be shorter; must not exceed maxStoreys
maxStoreysinteger 1–44maximum target storeys for the main building; does not change terrain height or cover
coveragenumber 0.35–0.90.72building coverage within each visual lot
greenerynumber 0–10.1decorative vegetation density
equipmentnumber 0–10.65rooftop machinery and service equipment density
facaderibbon | panel | industrialpanelwall structure: ribbon windows, panel cladding or industrial frames

Last edited