u/carlosparamio

▲ 13 r/interactivefiction+2 crossposts

[Show IF] A modern JSON-based PAWS engine & interpreter for classic 8-bit adventures with improved intent guessing and enhanced graphics

Hi everyone,

I’ve been working on a project that sits at the intersection of retro reverse-engineering and modern software architecture. Like many of you, I grew up obsessed with 8-bit text adventures created with the Professional Adventure Writing System (PAWS).

While I love the nostalgia of these games, we all know the classic frustration: the rigid Verb + Noun parser and the dreaded "guess-the-verb" bottlenecks. To bridge this gap, I’ve built a modern interpreter and a transformation pipeline to bring these classics into the 2020s.

The Reverse Engineering Challenge

Since original source databases for these games are rarely preserved—only Z80 emulator snapshots remain—I went down a heavy reverse-engineering rabbit hole. I’ve implemented a tool in Ruby that extends the concepts of legacy extractors like unPAWS to achieve 100% data recovery.

My pipeline now dumps the entire game logic into a clean, highly readable JSON file. This includes:

  • Full vocabulary, messages, and logical instruction blocks ("condacts").
  • User-defined charsets.
  • Original vector-based graphic primitive commands (points, lines, fills, and patterns).

To streamline this, I built a Model Context Protocol (MCP) tool to interface directly with the ZEsarUX emulator. This allowed me to automate memory dumps, compare state changes, and handle disassembly through a high-level orchestration layer.

What the Engine Does Right Now:

  • Web & Terminal UI: Play classic games natively in a browser with modern typography and full fidelity.
  • Semantic Intent Layer: I’ve added a middleware layer that acts as a translator. If a player types a natural language sentence, the engine performs a semantic mapping to rewrite it into the precise syntactic command the original logic expects (e.g., translating a complex phrase into exactly SAY TO EDDIE "DANGER").
  • Dynamic Visual Reinterpretation: The interpreter reads original Spectrum vector commands and uses modern neural rendering models to reinterpret them in real-time. You can switch visual styles (pixel art, digital painting, etc.) while maintaining the original composition.
  • Developer Tooling: Includes a feature-rich visual debugger to trace flags, full playthrough transcription, and autoplay for integration testing.

Next Steps: A Modern Authoring Tool

Because the core engine decouples the game logic from old hardware and runs entirely on readable JSON, it has evolved into a full framework. You can already write a brand new adventure entirely in JSON from scratch.

My next big milestone is a Graphical Adventure Editor to facilitate the creation of new narrative games using this reimagined interpreter.

I’m posting technical updates and devlogs here: 👉https://shorturl.at/MsziX

I'd love to hear your thoughts on the architecture, the challenges of preserving vector-based graphics, and what features you’d like to see in a modern JSON-backed adventure editor!

reddit.com
u/carlosparamio — 4 days ago