Play the original 1980 Zork I text adventure with animated pixel art scenes and ambient sound.
Explore a real-time auto-map that draws itself as you move through the game.
Study how to build a read-only observer layer that visualizes a running program's internal state.
| posabsolute/zork-ui | codeweb-dev/spark-ui | cuzteam/cpapro | |
|---|---|---|---|
| Stars | 25 | 25 | 25 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | — | easy |
| Complexity | 2/5 | — | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires Node.js and npm, running npm install and npm run dev starts a local Vite dev server.
Zork UI is a browser wrapper built around the original 1980 text adventure game Zork I. The actual game is untouched: the same original story file runs word for word on a genuine Z-machine interpreter, with the same parser, puzzles, and deaths players experienced decades ago. What this project adds is a visual and audio shell layered on top, without changing a single rule of the game underneath. That shell includes 110 hand drawn pixel art scenes, one for each room, all rendered live in code rather than as image files, with small animations like rain, fireflies, or torch flicker. These scenes track the actual state of the game by reading the Z-machine's memory directly, so an object like a sack stays on a table until the player picks it up, and disappears from the scene if a character in the story takes it away. The project also adds a generated ambient soundtrack built entirely from code with no audio files, a map that draws itself automatically as the player explores, and a spoiler-light clue command that gives hints without acting like a full walkthrough. Everyday conveniences are included too, such as autosave with multiple save slots, command history, and a mobile-friendly layout. Technically, the game itself runs through an existing open-source Z-machine interpreter called ifvms.js, with GlkOte handling input and output. The visual layer reads the game's internal object tree and listens to its text output to react to events, but never injects commands or changes the game's logic, so the original story file remains the only source of truth. Scenes are drawn using TypeScript and canvas code onto a small pixel buffer that gets scaled up, and the ambient audio is built with the WebAudio API. To run the project locally you need Node.js and npm. After installing dependencies, a dev server can be started with Vite, or the project can be built and served in a production-like way with a small Node server. The original Zork I game and its story file are MIT licensed following their 2025 historical open-source release, and this project is described as an unofficial fan tribute with no official affiliation.
A browser wrapper that adds animated pixel art, ambient sound, and an auto-map on top of the original, unaltered 1980 Zork I text adventure.
Mainly TypeScript. The stack also includes TypeScript, Canvas, WebAudio.
The original Zork I game and story file are MIT licensed, meaning free use for any purpose including commercial use, as long as the copyright notice is kept.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.