Ground look and levels
repo: land-of-lor (game + director + tools/world-editor + docs/design), and this workspace (epic, deliverables)
· depends on: ground-types
Where this stands (2026-09-18)
The rim, the falls and mud (2026-09-18; docs/handoff/rim-and-falls.md, docs/handoff/mud.md).
The rock slab added under the live Area on 2026-09-16 was a box with its top at −0.35, and deep
water is a whole level down (−1.25): the Badlands lake and every ramp into it were buried and
read as mud. Kris’s steer: never lower the floor to fit the water, and no conditional logic in
the skirt beyond the falls. So the live Area now stands on a rim — one thin wall per
outer-edge cell side, its top read from the floor’s own edge vertices, no lid — built off the
main thread like the lava; the islands keep their box. Where a liquid cell meets the edge its
wall becomes a fall: the cell’s own tile scrolled down, foam at the lip and a fade for water,
the lava lake’s pulse for lava, mud oozing. Cost below the noise floor on the GPU (~0.45 ms
either way). Mud is the ground look of hexagram 48 (Wellspring Stone, Water over Wind):
waist-deep, level 0, no ramp; a body that leaves it carries mud on its legs and hem, fading over
eight steps, drops brown footprints (one MultiMesh, no per-frame script), and water washes it
off at once. Nothing is placed — Kris paints mud in the editor. The mud tile is a placeholder
painted by tools/tiles/make-mud-tile.py until Claude Design makes one.
Open: from the chase camera you only see a fall when standing at the very edge; the edges
you look at across the gap are the islands’, which still wear the box (giving them the rim
costs ~70–130 ms of build each). landform_heights is computed twice per Area (floor + rim).
Earlier: 001–005 signed off 2026-08-18 (APK v15); the v3 tiles and landform mountains
2026-08-19 (deliverables #15, #16). Noted, not a task: a mountain flank texture (tried
2026-08-20, rolled back).
No open issues. Past task files (to 2026-09-13): workshop/historic-docs/epics/ground-look-and-levels/tasks/.
What this is
A workshop between Kris and a laptop session on 2026-08-18, run against two north-star pictures
(a cartoony painted coastline; a blockier one with a raised grass cliff over a beach), turned
into a build. The record — twelve decisions with their why, the levels rule stated precisely,
provisional hexagrams for the engine build, the consequences said out loud — is
land-of-lor/docs/design/2026-08-18-ground-look-and-levels-workshop.md. Read it first; this overview does not restate it.
The one-paragraph version: the ground shader goes unshaded so what Claude Design paints is what
the player sees; sand sinks an eighth of a cell like water sinks a quarter; every hexagram gains
a level (−1/0/+1) and you cross levels only over a ramp hexagram whose slope is derived from
its neighbours (one edge rule, in movement.gd for server and client prediction, in the flow
field for creatures, and in one shared shell/ground_rules.mjs for the loader’s validation and
the editor’s loose ends); the mesh becomes a height field on the lattice it already has (cliff
faces where water banks are today, shaded by the shader as an earth wall with a lip); mountains
stack only among the same flavour, to a double peak, the Volcano crowning any range, and Earth
over Mountain is a rounded-square boulder; water and lava move in the shader behind a toggle
with a frame-time readout; and the next tile brief asks for ~30 files (a hexagram points at its
tile, several may share one, a hexagram with no meaning shows its flat base colour) from a fresh
Claude Design project (became https://claude.ai/design/p/373a1833-0687-48d5-9ee0-70784f613ff3 — Kris reuses this same session for future tile tweaks).
Scope and non-goals
In: everything above, tests, shots, the editor’s palette and loose ends for levels and ramps, the Badlands repainted for the new mountain rules, the brief, and shipping v3 tiles when they come back (APK bump, droplet if the director changes — it shouldn’t; nothing on the wire moves).
Out: which hexagrams finally carry which meaning beyond the provisional four — that is task 005 with Kris, and it comes with a one-off migration of retired flavours in existing paint; passability by nature (water creatures on water) — later, as before; any decor layer (Kris: rocks and plants will be items and complex objects, not decoration); the tile art itself, which Claude Design makes.
Order
001 the look → 002 levels and ramps → 003 mountains → 004 animation → 005 meanings pass + brief (Kris) → 006 v3 tiles in and shipped. 001–004 are engine work a session does alone and shows in shots; 005 needs Kris; 006 waits on Claude Design.
Deliverables (3)
- #16 — Mountains are landform — a range is one mountain now, not a field of cones (2026-08-19)
- #15 — The v3 tiles are in — Claude Design's set on the ground of Lor (2026-08-19)
- #14 — Levels, ramps and mountains — the ground of Lor before the v3 tiles (2026-08-19)
Work on this epic
The granular work is GitHub Issues, one label per epic:
epic:ground-look-and-levels
(private repository — sign-in required).
The dated Where this stands section above names the open ones.
The task files that carried this epic until 2026-09-13 are kept in the repo:
task files to 2026-09-13
.
Ask an agent about this epic
Paste your AI Task Runner API key once. It stays in this browser and is sent only to kris.ai-task-runner.com.
Also available as raw markdown.