Building a Scott Adams Text Adventure Interpreter at 40,000 Feet
Explore my tools: agents-skills-plugins
The Programs That Made Us
Before we called them apps. Before we called them applications. We called them programs. And in the late 1970s and early 1980s, one name was synonymous with interactive fiction: Scott Adams.
Not the Dilbert guy. (More on that confusion in a moment.)
Scott Adams created some of the first commercial text adventure games. These weren't graphical masterpieces. They were pure imagination fuel. A blinking cursor. A text prompt. And your wits.
YOU ARE IN A FOREST. OBVIOUS EXITS: NORTH, SOUTH, EAST. YOU CAN ALSO SEE: A RUSTY AXE > _
That cursor changed everything for me.
Running Everywhere
The beauty of Scott Adams' adventures was their portability. These games ran on everything. The TRS-80. The Texas Instruments TI-99/4A. CP/M machines. The Apple II. The Commodore 64. Even calculators could run simplified versions.
The format was elegantly simple. A small interpreter engine paired with a
.datThis separation of engine and content was brilliant engineering for its time. Write the interpreter once. Ship dozens of games by just swapping the data file.
What Scott Adams created in the late 1970s was essentially a virtual machine. A portable bytecode format that could run on any hardware with a compatible interpreter. This was years before Java. Years before the term "virtual machine" entered the mainstream vocabulary. He solved the cross-platform problem with elegant simplicity: abstract the game logic into data, write thin interpreters for each platform, and let the same
.datThe man was ahead of his time.
A Case of Mistaken Identity
Yesterday I saw the news: "Scott Adams has died."
My heart sank. The developer whose work had sparked my love of programming, gone at 73.
Then I read further. It was Scott Adams the cartoonist. The Dilbert creator. Not Scott Adams the game developer.
The Scott Adams I'm writing about is alive and well, living in Miami, Florida. He's 73 years old and still remembered by those of us who typed "GO NORTH" thousands of times in our youth.
Why an Interpreter, Not a Port
After building the ELIZA tribute, I wanted to tackle another piece of computing history. Scott Adams' text adventures were the obvious choice.
But there's a problem. Unlike ELIZA, which has been reimplemented countless times, Scott Adams' games are still under copyright. The original
.datSo I built an interpreter instead.
The interpreter is 100% my code. It reads the original Scott Adams Adventure International format. It parses the vocabulary, loads the rooms, handles the two-word parser, manages inventory, processes conditions and actions. Everything the original interpreters did.
The games themselves? Those you download separately from the Internet Archive. I provide a link directly in the app. One extra step, but it keeps everything legal and gives Scott Adams the credit he deserves for his creative work.
Writing Code in the Sky
I built this interpreter on a flight from Philadelphia to Lisbon. Something about being disconnected at 40,000 feet makes for productive coding sessions. No Slack. No email. No distractions. Just me, TypeScript, and forty-year-old game formats.
The Scott Adams data format is surprisingly elegant:
- Header with game metadata
- Vocabulary (verbs and nouns)
- Room descriptions and connections
- Object definitions and locations
- Action tables with conditions and results
- Messages
The two-word parser keeps things simple. VERB NOUN. That's it. GO NORTH. GET LAMP. EXAMINE CHEST. The constraints bred creativity, both in game design and in how players approached puzzles.
Unfinished Business
I never did finish Voodoo Island.
As a kid, I got stuck somewhere in that game and eventually moved on. Life happened. Decades passed. But that unfinished adventure has been sitting in the back of my mind for forty years.
Now I have no excuse. I built the interpreter. The game runs perfectly. Maybe this time I'll finally figure out what I missed all those years ago.
Try It Yourself
The interpreter is live at scottadams.ericgrill.com.
Load up Adventureland, Pirate Adventure, Voodoo Island, or any of the classic Scott Adams games. Experience interactive fiction the way it was meant to be played. No graphics. No hand-holding. Just you and your imagination.
The source code is on GitHub: EricGrill/scott-adams-interpreter
Full Circle
Between ELIZA and now Scott Adams, I've been on a journey through the programs that made me who I am. These weren't just games or chat experiments. They were doorways into understanding how computers think, how we can make them do interesting things, and how simple text on a screen can create entire worlds.
Scott Adams is still with us. His games are still playable. And somewhere, right now, someone is typing their first "GO NORTH" and discovering the magic of interactive fiction.
Maybe it'll change their life too.
Play the interpreter: scottadams.ericgrill.com
Source code: GitHub