Porting Mainframe Zork to the Sharpee Interactive Fiction Engine
Project Dungeo is an ambitious effort to port the complete Mainframe Zork (also known as "Dungeon") to Sharpee, a modern interactive fiction engine. After a comprehensive room audit, we confirmed that the canonical Mainframe Zork has 169 roomsโall now implemented. The project is now feature-complete with all 650 points worth of treasures implemented.
Rooms: 169 / 169
Treasures: 650 / 650 points
Core Puzzles: 19 / 19
The game world is organized into 12 distinct regions, each with unique theming and puzzles:
Faithful recreation of original combat mechanics
Supports attack, parry, and dodge with weapon modifiers. Death respawn at forest with -10 points penalty.
| NPC | Behavior | Status |
|---|---|---|
| Troll | Blocks east passage, respawns from corpse | Complete |
| Thief | Steals treasures, opens egg, guards maze | Complete |
| Cyclops | Blocking, fed by lunch/water, "ULYSSES" trick | Complete |
| Vampire Bat | Random teleport, repelled by garlic | Complete |
| Spirits | Protect crypt, require bell/candles/book exorcism | Complete |
| Robot | Follows TELL commands, presses carousel button | Complete |
| Dungeon Master | Trivia quiz (3 questions), guards endgame | Complete |
| Puzzle | Mechanic | Status |
|---|---|---|
| Trapdoor | RUG/MOVE reveals, requires raised gate | Complete |
| Dam Control | Bolt/button mechanism, drains reservoir | Complete |
| Loud Room | Echo puzzle - whisper "echo" to solve | Complete |
| Exorcism | Bell, book, candles ritual sequence | Complete |
| Bank of Zork | Confusingly-named exits puzzle | Complete |
| Royal Puzzle | 4ร4 sliding puzzle (15-puzzle) | Complete |
| Robot/Carousel | TELL ROBOT TO PUSH BUTTON | Complete |
| Mirror Toggle | PUSH PANEL swaps North/South connections | Complete |
| Inside Mirror | Drop treasures, enter mirror, retrieve them | Complete |
| Thief's Canvas | Valuable painting in thief's lair | Complete |
| INCANT Endgame | INCANT <cheat> unlocks endgame | Complete |
| Dungeon Master | Trivia quiz (3 correct to pass) | Complete |
| Parapet Dial | Set dial 1-8, push button to activate cells | Complete |
| Victory Handler | Enter Treasury with endgame active | Complete |
| Rainbow | WAVE sceptre makes rainbow solid | Complete |
| Glacier | Throw lit torch to melt passage | Complete |
| Buried Treasure | DIG at Sandy Beach reveals statue | Complete |
| Egg/Canary/Bauble | Open egg, WIND canary in forest | Complete |
| Mail Order | SEND FOR BROCHURE delivers stamp | Complete |
Faithful recreation of the original 1981 "Game Debugging Tool" with new commands for endgame testing:
Core Commands: DA - Display Adventurer DR - Display Room DO - Display Object DS - Display State DC - Display Clock DX - Display Exits AH - Alter Here AO - Alter Object TK - Take any object ND/RD - Toggle deaths NR/RR - Toggle thief New Endgame Commands: TQ - Display trivia state TQ RESET - Reset to question 0 (deterministic) TQ SOLVE - Auto-solve trivia DL - Display dial state DL SET n - Set dial to 1-8 DL PUSH - Push dial button DL ENDGAME - Activate endgame mode
Project Kickoff & Core Systems
ADRs 070-072, SchedulerService, NpcService, CombatService.
Rooms & Testing Infrastructure
30+ rooms, transcript tester, Dam region, Coal Mine.
NPCs & Puzzles
Thief, Cyclops, Robot. GDT tool. Bank puzzle. Maze (24 rooms).
Advanced Mechanics
Effects system, Mirror toggle, word puzzles, Royal Puzzle.
Release Planning & Branch Merge
8,400+ lines merged. ADR-080, ADR-081 created.
๐ Beta Release & npm Publish
11 packages to npm. INCANT cheat. Inside Mirror puzzle. 418 tests.
๐ Endgame Complete & Victory!
Dungeon Master + trivia system. Parapet dial puzzle. Victory handler. Room audit confirms 169/169 (100%). WAVE/DIG/WIND actions. Rainbow puzzle. Glacier puzzle. 572 tests passing.
๐ Feature Complete - 650/650 Points!
Egg/Canary/Bauble puzzle. Mail Order system with Don Woods stamp. All 33 treasures implemented. 636 tests in 36 transcripts. Project Dungeo reaches 100% treasure completion!
All user-facing text flows through message IDs, never hardcoded strings.
Validate โ Execute โ Report keeps actions clean and testable.
Each phase delivers playable increments, validating systems before scaling.
Simple text files serve as both tests and documentation for IF content.
Only pnpm properly converts workspace:* to real versions during publish.
ADR-084 deleted 930 lines of StoryGrammarImpl wrapper that added no value.
| Category | Nice-to-Have Improvements |
|---|---|
| Vehicles | Boat navigation, balloon puzzle mechanics |
| Mechanics | Bucket/well puzzle, match lighting |
| Polish | Additional room descriptions, edge cases |
๐ All core gameplay is complete!
Players can explore all 169 rooms, collect all 33 treasures (650 points), and achieve victory.
> knock on door The Dungeon Master appears. "Answer my questions, adventurer..." "What room must one enter to reach the lair of the thief?" > answer temple "Correct! Now then..." "What is one way to read the cakes?" > answer flask "Correct! One more..." "What object in the dungeon is haunted?" > answer rusty knife "You have proven yourself worthy." The door swings open to the north. > n Narrow Corridor > s Treasury of Zork You have entered the Treasury of Zork! Congratulations, brave adventurer! Your final score is 650 points out of a possible 650. You have achieved the rank of MASTER ADVENTURER. *** THE END ***