NetHack Console
A training-grade RL and evaluation environment for NetHack, built on a
custom NetHack fork driven through a ctypes binding — not the
nle gym wrapper. The fork turns NetHack into a controllable
substrate: difficulty becomes a set of dials, any game state can be captured and
branched in memory, and an agent can be dropped onto any floor of the dungeon
without playing its way there.
Everything on this site runs in your browser — the engine is compiled to WebAssembly. No server, no install, nothing to download but the page.
What's different from vanilla NetHack
- 17 live difficulty & generation knobs
- Vision (night-vision radius, fog-of-war, full-map reveal) · stat scaling (damage dealt and taken, HP, regen, hunger, XP) · dungeon & spawns (room density and size, monster difficulty and speed, traps, locked doors, corridors). Live knobs apply mid-game; reset knobs regenerate the floor.
- In-memory snapshot / restore / branch
- The whole game — engine context, coroutine stack, arena, display mirror — captured in constant time and restored byte-for-byte. That is live Monte-Carlo lookahead, not a save-file reload.
- Secure, bounds-checked state edits
goto_depth,hp,gold,xp_level,hunger— whitelisted and range-validated, for building an exact eval scenario without hand-playing into it.- A six-level curriculum
- Dungeons of Doom 1–3 and Gehennom 48–50, entered directly via a cross-branch jump — the reverse-curriculum research setup, playable here.
Two ways in
Replays
40 recorded LLM-agent trials across two agent
architectures. Scrub turn by turn: the map the agent saw, the code it wrote,
the skills it composed, and how deep it got.
Map Viewer
Play the dungeon live and turn the knobs while you do.
Undo any step, checkpoint and restore, jump to any depth, or start on a
curriculum floor. Loads the ~5 MB engine.
Source
The harness, the engine fork, the curriculum, and the
docs — including how this page was compiled to WebAssembly.