Game-1 dashboard fix: reassign 5 objectives off specialist-agent names onto valid team-leads so objectives-report.py regenerates (it aborts on any owner lacking a .project/team-leads/<owner>.md identity): p1-61 game-data->terraformer, p1-57 game-systems->envoy, p2-73/p2-60/p2-74 godot-engine|godot-ui->wireguard. Underground (Game 2, stays OOS): decompose g2-12 umbrella into 8 ordered phase objectives g2-12a..h (data model+save, worldgen, excavation, cross- layer movement+pathfinding, per-layer fog, collapse, layer UI, AI awareness); g2-11 blocked_by tightened to [g2-12a, g2-12c]. Dashboard regenerated: 319 objectives, README.md + objectives.json. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
| id | title | priority | status | scope | category | owner | created | updated_at | blocked_by | follow_ups | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| g2-12 | Underground layer stack (Game 2) — OOS | p3 | oos | game2 | terrain | unassigned | 2026-05-03 | 2026-06-06 |
|
Phases (Game 2 implementation order)
Umbrella; the wholesale acceptance below is decomposed into ordered child objectives (all oos/game2):
- g2-12a — N-layer data model + save format (foundation; unblocks all)
- g2-12b — underground worldgen (L1/L2/L3, natural caverns, terrain palette)
- g2-12c — excavation action + cavern lifecycle (state machine, tier gates)
- g2-12d — cross-layer movement, connection points + pathfinding
- g2-12e — per-layer fog of war + vision
- g2-12f — structural integrity + cross-layer collapse/sinkholes
- g2-12g — layer rendering + layer-switch UI (phase-gate proof)
- g2-12h — AI layer-awareness (or documented surface-only limitation)
Consumer (separate objective): g2-11 vertical city floor stack (depends on g2-12a).
Context
public/games/age-of-dwarves/docs/terrain/VERTICAL_LAYERS.md proposes a multi-layer GameMap: Surface + three subterranean layers (L1, L2, L3). Units carry a current_layer field and transition between layers via mine-shaft tiles. This is foundational for vertical cities (g2-11), underground biomes, and the Kzzykt race's natural habitat.
Game 1 ships surface-only. This objective is the wholesale Game-2 carve-out; nothing here is built for Game 1.
Acceptance (Game 2)
GameMapwidened to N-layer storage with per-layer tile arrays.- Unit
current_layer: LayerIndexfield; movement disallows direct cross-layer steps except on mine-shaft tiles. - Mine-shaft tile type with two-way transition action.
- Worldgen authors the underground layers per
VERTICAL_LAYERS.md. - Renderer supports layer toggle in the UI.
- Save/load round-trips per-layer state.
Source-of-truth rails
- Rust crate: would live in
mc-map(existing crate, widening required) and a newmc-verticalfor transitions. - JSON path:
public/resources/terrain/underground/*.jsonreserved. - mc-core wrapper:
LayerIndex(u8),LayerKindenum — to be added.
Out of scope (for any milestone)
- Single-surface gameplay continues to work in Game 1; widening cannot break the Game 1 save format.
References
public/games/age-of-dwarves/docs/terrain/VERTICAL_LAYERS.md.claude/instructions/scope-game1-vs-game2.md- Child (depends on this):
g2-11