Map editor: road/terracing tool to level slopes into walkable paths #246

Closed
opened 2026-08-01 20:04:35 +02:00 by panda · 1 comment
Collaborator

Follow-up from the cliff-faces work (#245) + terrain-Z (#224/#238).

Context: GameOptions.MaxStepZ = 2, so any adjacent step of ΔZ ≥ 3 already blocks walking (server TileMap.CanStep). Cliff faces (#245) render the dramatic steps (ΔZ ≥ 8) as visible walls; the smaller 3–7 steps stay walkable-blocking but are deliberately NOT walled (would over-clutter, and coasts must stay clean).

Need: a map-editor road / terracing tool — paint a walkable path across a slope that levels (terraces) the underlying relief so the path's step-to-step ΔZ stays within MaxStepZ, making it walkable through otherwise-blocking relief. Roads already exist as terrains (road_dirt, road_dirt_snow); this is the elevation-levelling authoring on top.

Rough shape:

  • Editor brush: stroke a path; the tool re-grades the touched cells' relief so consecutive cells along the stroke differ by ≤ MaxStepZ (a smoothed ramp), optionally widening to the neighbours.
  • Writes the levelled relief into the chunked elevation grid (the authoritative GroundZAt), so the server's CanStep passes along the road with no rule change.
  • Purely authoring/content — no runtime/protocol change.

Deferred; capture before world-building leans on relief-heavy regions.

Follow-up from the cliff-faces work (#245) + terrain-Z (#224/#238). **Context:** `GameOptions.MaxStepZ = 2`, so any adjacent step of ΔZ ≥ 3 already blocks walking (server `TileMap.CanStep`). Cliff faces (#245) render the *dramatic* steps (ΔZ ≥ 8) as visible walls; the smaller 3–7 steps stay walkable-blocking but are deliberately NOT walled (would over-clutter, and coasts must stay clean). **Need:** a map-editor **road / terracing tool** — paint a walkable path across a slope that levels (terraces) the underlying relief so the path's step-to-step ΔZ stays within `MaxStepZ`, making it walkable through otherwise-blocking relief. Roads already exist as terrains (`road_dirt`, `road_dirt_snow`); this is the *elevation-levelling* authoring on top. **Rough shape:** - Editor brush: stroke a path; the tool re-grades the touched cells' relief so consecutive cells along the stroke differ by ≤ `MaxStepZ` (a smoothed ramp), optionally widening to the neighbours. - Writes the levelled relief into the chunked elevation grid (the authoritative `GroundZAt`), so the server's `CanStep` passes along the road with no rule change. - Purely authoring/content — no runtime/protocol change. Deferred; capture before world-building leans on relief-heavy regions.
Author
Collaborator

Marco aiutami invece di farti le unghie a tema pokemon 💅

Risolta: editor con Z visibile + road auto-grading su main (#248).

Marco aiutami invece di farti le unghie a tema pokemon 💅 Risolta: editor con Z visibile + road auto-grading su main (#248).
panda closed this issue 2026-08-02 00:47:17 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marco/IsoMmo#246
No description provided.