Projects/Dungeon of Doom
Dungeon of Doom
A single-file browser ASCII roguelike. Descend eight floors, seize the Amulet of Yendor, die, and come back permanently stronger.
Play it
Overview
A procedurally generated dungeon, twenty-one kinds of monster, permadeath, and the Amulet of Yendor waiting on depth eight. No build step, no dependencies, no assets — one HTML file you can open from a thumb drive.
Runs are tuned for fifteen to twenty minutes. Coffee-break length, not campaign length.
Controls
- Arrow keys or
h j k l— move y u b n(or numpad1–9) — move diagonally.— wait a turn,>— descend stairsq— quaff a healing potion,r— read a teleport scrollT— cycle theme: colour, green phosphor, amber phosphorC— toggle CRT glow, scanlines and vignetteM— mute,?— help
Walk into a monster to attack it. Some are fast; some strike from range.
What's in it
- Torchlit field of view via recursive shadowcasting, and monsters that pathfind around corners toward you.
- A full progression ladder: XP and levels, weapons and armour, potions (heal, strength, life), scrolls (teleport, magic mapping), treasure vaults, and a boss.
- Meta-progression. Every run earns Soul Shards, win or lose. Spend them in the Soul Forge on eight permanent upgrades, so a bad run still moves you forward.
- High scores and records persist between sessions.
The single-file constraint
Everything — map generation, field of view, combat, the sound synth, the CRT shader-ish effects — lives in one HTML file with zero dependencies. It's a real design constraint rather than a gimmick: it forces the whole game to stay small enough to read, and it means the thing still runs in ten years.
Stack
- JavaScript
- Canvas
- WebAudio