Background

I vividly remember the first time I saw a computer.

In 1985, my Uncle Mikey brought home an IBM 5150 and showed me a game called Zork.

IBM 5150

IBM 5150

My first computer

IBM 5150

Zork I Box Art

Zork I

My first computer game

Zork

Zork I Gameplay

Zork I gameplay

What it's like to play

ZIL

Infocom created a lot of games like these in the 1980s. The most famous ones are the Zork trilogy and Enchanter trilogy. The way they worked is, you (the player) type commands like:

  • open the mailbox
  • attack the troll with the sword

…and the game would carry out your action.

Parsing human language was a very impressive capability for the computers in the 1980s because they were so limited! The genius behind it is the ZIL programming language.

What I did

I wrote an app that:

  • extends an open source ZIL parser
  • translates syntaxes, rooms, objects, etc. to JSON
  • provides a website to explore the internals of the game

Create maps from room code

ZIL code: West of House

ZIL code: West of House

ZIL code snippet for defining a "room" in the game.

Zork Map

Zork Map

App shows the room and its adjoining rooms

Explore syntaxes

ZIL code: Syntaxes

ZIL code: Syntaxes

ZIL code snippet for sentence structures supported.

Zork Syntaxes

Syntaxes

App shows which "sentence structures" cause which "verb routines" to be called.

Explore objects like the sword

ZIL code: Sword Object

ZIL code: Sword Object

ZIL code: Sword Object

ZIL code snippet for defining the sword object in the game.

Zork Sword

Sword

App shows the sword object and its characteristics.

You can substitute "Glamdring" for sword!

Tech used

  • ZIL computer language
  • C#.NET for zil-to-json language parser
  • JSON for metadata
  • Angular 11 for explore web app

Status

What This Demonstrates

  • my interest in human linguistics
  • my ability to learn esoteric technology
  • my ability to make ancient tech modernly accessible
  • simple web app development