← all epics

Ground types

client done

repo: land-of-lor (game + director + tools/world-editor) and this workspace (deliverables, site/play) · depends on: world-map-and-portals · updated 2026-08-18

What this is

Kris wrote the spec on 2026-08-17: land-of-lor/docs/specs/GROUND_TYPES.md. Read it first; this overview does not restate it. The short version: a cell’s ground is a hexagram. The lower trigram says what the ground is — Lake is deep water, Mountain is a mountain, Earth is grass, Wind is sand, Fire is lava, Water is water, Thunder is snow and ice, Heaven is stone, tiles and decorative floors. The upper trigram is one of eight flavours of that type. Water and lava sit lower than the ground around them; mountains stand up out of the cell (taller when ringed by eight more); a cell holds exactly one type but the picture shows soft transitions to its neighbours rather than hard block edges.

This epic is the implementation of that spec, end to end: the lookup that puts the hexagram at the centre of the code, the storage and the wire, the rendering, the eight looks and their variations, painting every existing Area (plain grass everywhere; a river through the Village; every type on show in the Badlands), and an area map editor reachable from the world editor.

Where it started from

Until this epic there was no per-cell data anywhere: the floor of every Area was one flat green plane, the server grid held only walkable / wall / portal flags, and three places in the code carried an explicit “ground types don’t exist yet” placeholder waiting for exactly this — grid.gd’s build_for_area, area_server.gd’s _area_payload (“when authored terrain exists it gets a cells key right here”), and the disabled Edit the cell map · later button in the world editor’s inspector. The parked world-traversal-and-ground epic was waiting on the spec that now exists; its one task is answered by it, and that epic stays parked for the deeper traversal questions (fertile ground, what a player does to ground on purpose) which this spec deliberately does not settle.

Decisions taken with Kris (2026-08-17, planning session)

Design decisions the tasks are built on

Written down once so sessions don’t re-derive them; the full reasoning is in the planning session’s plan and in each task file.

Non-goals

Relevant docs

Status

8 done

Next: Done — all eight signed off 2026-08-18. The look itself continues in ground-look-and-levels.

Deliverables (3)

Tasks (8)

done (8)

Ask an agent about this epic

    Also available as raw markdown.