Zork Explorer using ZIL Parser
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
My first computer
Zork I
My first computer game
Zork I gameplay
What it's like to play
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 mailboxattack 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 snippet for defining a "room" in the game.
Zork Map
App shows the room and its adjoining rooms
Explore syntaxes
ZIL code: Syntaxes
ZIL code snippet for sentence structures supported.
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
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-jsonlanguage parser - JSON for metadata
- Angular 11 for
exploreweb app
Status
- Publicly available: - Zork Explorer web app
- Source code in github:
zil-to-json: https://github.com/zork-playground/zil-to-json- JSON metadata: https://github.com/zork-playground/zil-to-json/tree/main/data/
exploreweb app: https://github.com/zork-playground/explore
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