HEXWORK - A Lantern in the Deep: 3D ASCII terminal roguelike RPG in Rust. Entirely designed and built by Muse Spark 1.3 to evaluate if I like the model.
hexwork docs 01-player-experience.md
8.1 kB
Markdown
at main

01 — Player Experience #

"What do players do, feel, think, see?"

This is the minute-by-minute fantasy. If a feature doesn't serve a moment described here, it gets cut.


1. The first 60 seconds (the hook) #

SEE: Terminal opens. Black. A phosphor-green prompt blinks:

HEXWORK v1.0 — a lantern in the deep
· new delver [n] · continue [c] · demo [d] · help [?]

Pick n. The screen resolves — ASCII density crawling out of darkness like developing film. You're standing on a cobbled road at dusk. To the left, a half-timbered coaching inn, warm amber windows (# glass glowing). To the right, wheat fields rendered as whispering , ; ' drifting in wind. Above: a sky of dim . stars and a huge low moon — a ring of O. A signpost reads MILTHOLLOW — pop. 312 — BY LANTERN-LAW. Your lantern throws a cone of +* light; beyond it, honest darkness.

DO: Walk (arrow keys / WASD / hjkl all work). Bump into the signpost — it rattles with a *clack* log line. Bump into the inn door — it swings open with a creak rendered as expanding ( arcs.

FEEL: "Wait, this is IN my terminal?" Disbelief → delight. It looks like 1982 dreaming about 2032.

THINK: "I can go anywhere. Let me check that field."

2. The first 10 minutes (illiteracy) #

You wander Milthollow. A bell tolls (the chapel's ∩ bell visibly swings). NPCs with names and jobs walk home: MARA the MILLER [carrying flour], TOMM the LAMPLIGHTER [lighting lamp 4/9]. A notice board bristles with contracts — this is the Witcher heartbeat:

> rats in the granary (2c) — easy?
> drowned bell in the mere (18c) — BRING ROPE, BRING A FRIEND
> my husband walks since the Last Boot (talk to Widow Rennick)

You take the rats job because you're genre-literate. The granary is dark. Your lantern gutters. Something the size of a dog moves above you in the rafters — represented by shifting ? glyphs at the edge of light. You throw a stone. It arcs (true parabola, you see the · trail), misses, clatters three floors down through a knothole — and something down there squeaks.

FEEL: Vertigo. NetHack never had an "above you." Your instincts are wrong here, and that's thrilling.

THINK: "I need to look UP. How do I look up?" (You learn: x = look mode, mouse-drag = orbit, > = tilt camera up. The game never told you; the key-hint ribbon glowed subtly when you stared into darkness.)

You kill one "rat." It was a cable-rat, belly full of copper wire, sparking. Its corpse hums. Do you butcher it? Eat it? Sell the wire? (Pocket the wire. The miller pays for copper. Everything has some use — that's the promise.)

3. The first hour (first dungeon, first real story) #

The granary cellar connects to the Shallows — dungeon floor 1, an old Aetherium relay station dressed as a root cellar: brick arches plus dead server shrines, cable-ducts like roots.

Core loop crystallizes — DELVE → HAUL → PREP → DESCEND:

  1. DELVE: Push into darkness with limited lantern oil, rope, rations. Light is a resource. Sound is a resource (sneak vs. slam).
  2. HAUL: Fill your pack with wire, relics, unidentified phials, a punchcard-scroll. Every kilo slows you. Dropping loot to flee hurts.
  3. PREP: Back in town: identify (pay the tinker, or drink-and-see), mend, buy oil, read the board, sleep (the dungeon respawns around your absence — factions move).
  4. DESCEND: Floor 2's elevator is dead. Drop a boulder down the shaft first — classic delver wisdom — and hear it not land. "How deep IS this place?" (Hook for the session.)

A canonical first-hour story (emergent, unscripted, typical):

You find a sealed copper door with a grate. Behind it, glinting. You pour lamp oil under the door and light it — smoke gets sucked through the grate (airflow! rooms breathe). Inside, something coughs. The door's lock is rusted; you remember cable-rat blood is acidic (you watched it pit your spare knife). You smear blood on the hinges, wait, kick — the door sags. Inside: a dead delver, your oil-smoke choking out the mimic-vending machine that killed him, still sparking. You loot his lantern, his map (fog-of-war partially filled!), and a punchcard labeled ELEVATOR HYMN. You feel like a genius. Nobody scripted this.

FEEL: Cleverness. The game respected your reasoning.

4. The first 10 hours (literacy begins, hubris follows) #

Now you have opinions: which oil burns longest, which god answers fastest, which tinker waters the identification ink. You've died twice (rat-king + your own fire — the replay showed the exact rule chain; you laughed, then changed loadouts).

Mid-game verbs unlocked: contracts get stranger (haunted millstone, a saint's ghost in the machine-chapel, a toll-bridge troll unionizing), factions court you (the Lampwrights vs. the Salvage Congregation), gods notice you (small boons, smaller print). You buy a mule. You name the mule. You will lose the mule. (Everyone loses the mule. The mule's death-replay is a rite of passage.)

Signature mid-game moment: the storm-cellar descent — Floor 5 to 6 is a flooded vertical shaft. You must rig a rope, douse the lantern (oil and water...), navigate by tinker-moss glow, while drowned bells ring below (sound pulls things). Half the players descend headfirst. Half lower the mule first with a light. Both halves get stories.

5. The endgame (the Deep and the Choice) #

The Deep (floors 9–12): the machine-god's corpse — the Core Vault. Reality thins: gravity stutters (falls go sideways), dead delvers' lanterns still burn, gods speak plainly for the first time (they're scared).

The final choice (no wrong answer, both cost):

  • SEAL THE CORE (Lantern-law ending): bury the machine, end the salvage economy, towns go dark but free. Your name on the chapel wall.
  • CROWN YOURSELF (Saint-of-the-Deep ending): take the Core's seat, become the thing future delvers loot. New Game+ as a dungeon boss haunting other players' demo-replays.

FEEL: Weight. The world kept receipts — every faction, debt, and spared monster tallies into who stands with you at the Vault door.

6. Moment-to-moment texture (always-on) #

  • Light: lantern cone + carried glow + muzzle-flash of wands. Darkness is nearly total. The player loves their lantern like a pet.
  • Sound rendered visually: ( ripples for noise, direction + intensity. Slamming doors is a tactical choice with upstairs consequences.
  • Smell/weight words: terse NetHack-voice log: "You smell ozone and wet wool. Something large passed here recently."
  • Camera: first-person default; press Tab to toggle chase-orbit and first-person; M toggles the playable north-up tactical map, preserving the prior perspective angles. Perspective movement follows horizontal camera heading; tactical movement remains world-relative on the player's floor. x enters spatial look (movement keys rotate/tilt; x/Esc closes). All three share one sim: Classic remains live; Story tactical pauses between accepted actions. Canonical replay/headless directions remain world-relative. These approved interface controls are under recovery validation; see player-interface-audit.md for evidence and outstanding human acceptance.
  • Death: slow zoom on the @, cause-of-death epitaph in NetHack voice ("Slain by own cleverness, via falling boulder, while overburdened"), then the replay prompt: [r] watch how it happened [e] epitaph [n] new delver.

7. Kindness layer (modern QoL, non-negotiable) #

Auto-explore, auto-loot filters, searchable log (/), undo-able interface mistakes (never sim mistakes), persistent tooltips with identification state, full keyboard + optional mouse, colorblind palettes, screenreader mode (sim events → text stream), gamma/FOV/shake sliders, story mode (checkpoint at town entries, same sim, no shame).

Rule: kindness removes friction, never consequence.