---
number: 16
title: Mountains are landform — a range is one mountain now, not a field of cones
date: 2026-08-19
summary: A contiguous group of the same mountain flavour is now one continuous massif in the ground itself — smooth steep faces, a sheer foot, a real apex — a group of the blocky kind is one big rounded cube, and stacking needs the exact same hexagram so a mixed painting reads as a range of separate peaks; the ground mesh got cheaper doing it, from 64,800 triangles in the Badlands to 18,900.
epic: ground-look-and-levels
status: delivered
due-with: null
artifacts: ["https://lor.kris.ai-task-runner.com/play","https://lor-server.cocreations.com.au/download/land-of-lor-v18.apk","land-of-lor/game/world/client/ground_mesh.gd","land-of-lor/game/world/client/ground.gdshader","land-of-lor/game/world/client/world_units.gd"]
cta: [object Object]
---

Until today a mountain was an **object standing in its cell** — a six-sided cone, one per
cell, each scaled a little taller the further it sat from the edge of its group. Deliverable
14's cone range is that: a field of separate cones read as a range because they were sized in
rings. Kris, playing it: *what I actually would like is that it becomes a single mountain that
grows — so the more you stack together, the taller and bigger this gets, and they combine into
one.*

So mountains are not objects any more. **They are the ground.** The same ring measure that
used to scale a cone now lifts the floor mesh itself, and a contiguous group of one flavour
comes out as one continuous landform — no seams, because it is literally one mesh.

![The Badlands, whole, from the game's own camera angle](/images/game/land-of-lor/2026-08-19-mountains-the-badlands.png)

## The massif

![The massif standing in the Badlands](/images/game/land-of-lor/2026-08-19-mountains-massif-in-the-badlands.png)

Two rules make it read as a mountain rather than a hill you could walk up. Its **foot is
sheer** — a vertex lifts only where every cell touching it is mountain, so the range drops
straight to the grass on its own footprint and never raises the walkable ground beside it.
And inside that footprint the height is sampled **continuously** between cell centres, so the
face climbs in one sweep from rim to peak.

The first attempt terraced instead, and Kris named the problem exactly: *it makes you think
you can climb up it, which of course you can't.* A mountain has to look impossible.

![The caldera — the volcano at the centre of the range](/images/game/land-of-lor/2026-08-19-mountains-the-caldera-and-volcano.png)

That bowl is not authored. Stacking now needs the **exact same hexagram**, so the volcano at
the centre counts as its own kind and breaks the ring-growth around itself — the mountains
encircling it all sit at the rim height, with the volcano in the dip. It is a caldera by
arithmetic. The same rule is what lets a range be *built*: paint one flavour in a block and it
grows into a single massif; mix the flavours and you get a run of separate peaks at an even
height, which is a mountain range rather than one giant mountain.

A lone mountain is a peak with an actual point — which needed the mesh lattice to gain a line
down the middle of every cell, because a peak's highest point is the centre of its cell and
until today there was no vertex there to reach it.

## The blocky kind is one cube

![The boulder square, now a single rounded cube](/images/game/land-of-lor/2026-08-19-mountains-the-boulder-cube.png)

Earth over Mountain is the blocky flavour, and it gets the same treatment with a different
profile: a whole connected group takes **one** height — flat on top, sheer at the sides, its
top edges and corners eased off — so a five-by-five square of them is a single giant cube
rather than a stepped pyramid. Wider still means taller; it just doesn't terrace on the way.

## It got cheaper, not dearer

The flanks also stopped wearing the cliff-face texture — a mountain's side is mountain, so it
keeps its own tile, darkened by its slope.

Adding a lattice line down every cell would have cost 78% more triangles, so the mesh now
emits them **per cell**: a cell whose lattice vertices are all at one height is drawn as a
single quad, and only cells with something actually going on — a sink, a ramp, a level change,
a mountain, a raised neighbour — pay for the full lattice. Nothing moves a hair, because the
vertices skipped lie exactly on the plane of the corners kept.

| The Badlands (60 x 60) | triangles | ground GPU, animated |
|---|---|---|
| cones, before today | 64,800 | 1.20–1.34 ms |
| landform, uniform lattice | 115,200 | 1.83–2.10 ms |
| **landform, per-cell** | **18,900** | **0.69–0.89 ms** |

So the ground draws in about half the time it did yesterday, with a third of the triangles,
and one draw call as always.

![The Badlands from straight above](/images/game/land-of-lor/2026-08-19-mountains-the-badlands-from-above.png)

## What is not done

The mountain wears the ground tile of its own flavour on its faces, which is honest but is
still a *floor* texture standing up. A flank texture from Claude Design is the next thing
(`ground-look-and-levels/007`). Verified: 283 Godot tests, the shots above, and Kris playing
v18 on the phone. Web build `6ac465e` on `/play`; APK **v18**.