reikhelm/tools/out/atlas/69
Parley Hatch 5813ee3b5a feat(game): REIKHELM: DESCENT — playable first-person roguelike
The pieces finally meet: procgen dungeons + the baked EoB atlas pipeline +
the Vigor combat engine become one game. Three fixed pre-baked floors
(seeds 7 → 69 → 59, 208 frames), monsters/loot/encounters rerolled per run
and composited over the empty scenes; the Ember Sovereign waits at the
bottom.

- game-wasm: run state machine in Rust (manifest nav graph as dungeon
  truth, seeded spawning by theme/depth, embedded combat-core Encounter,
  vigor/fatigue persistence between fights, rest/potions/relics/flee,
  permadeath + victory). 8 native tests incl. a whole-run bot and a
  ScriptedPlayer boss-winnability probe used for tuning.
- game-web: no-framework front-end — title/death/victory screens, baked
  frames with screen-blend monster portraits, combat overlay (dual vigor
  bars, cast telegraphs, cooldown sweeps, floaters), minimap with fog,
  all SFX synthesized in WebAudio.
- balance: floor-scaled levels with a hero's edge over trash, no packs on
  floor 1, boss tuned by sim sweep (~35%/55% win at skill 50/80).
- campaign atlases now versioned (tools/.gitignore exception); boss
  portrait added to the Z-Image roster.

Verified end-to-end in-browser: an autopilot beat the full game through
the real UI (10 fights, 2 flees, Sovereign down), and died plenty before
that.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:30:50 -06:00
..
manifest.json feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r0_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r0_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r0_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r0_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r1_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r1_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r1_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r1_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r2_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r2_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r2_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r2_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r3_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r3_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r3_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r3_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r4_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r4_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r4_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r4_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r5_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r5_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r5_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r5_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r6_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r6_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r6_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r6_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r7_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r7_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r7_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r7_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r8_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r8_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r8_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r8_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r9_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r9_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r9_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r9_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r10_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r10_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r10_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r10_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r11_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r11_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r11_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r11_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r12_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r12_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r12_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r12_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r13_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r13_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r13_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r13_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r14_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r14_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r14_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r14_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r15_E.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r15_N.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r15_S.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00
r15_W.png feat(game): REIKHELM: DESCENT — playable first-person roguelike 2026-06-11 23:30:50 -06:00