A curated list of awesome things related to the z-machine, ZIL (Zork Implementation Language) programming, and Infocom.
The Z-machine is a virtual machine that was developed by Joel Berez and Marc Blank in 1979 and used by Infocom for its text adventure games. Infocom compiled game code to files containing Z-machine instructions (called story files or Z-code files) and could therefore port its text adventures to a new platform simply by writing a Z-machine implementation for that platform. With the large number of incompatible home computer systems in use at the time, this was an important advantage over using native code or developing a compiler for each system.
This tiny archive attempts to collect key z-machine documents.
-
https://en.wikipedia.org/wiki/Z-machine
The Z-machine is a virtual machine that was developed by Joel Berez and Marc Blank in 1979 and used by Infocom for its text adventure games. Infocom compiled game code to files containing Z-machine instructions (called story files or Z-code files) and could therefore port its text adventures to a new platform simply by writing a Z-machine implementation for that platform. With the large number of incompatible home computer systems in use at the time, this was an important advantage over using native code or developing a compiler for each system.
-
A Short History of the Z-machine
Infocom made six main Versions of the Z-machine and several minor variant forms. These are recognisably similar but with labyrinthine differences, like different archaic dialects of the same language. (The archaeological record stops sharply in 1989 when the civilisation in question collapsed.)
-
The Z-Machine Standards Document v1.1 // 24 Feb 2014
-
The Z-machine was created on a coffee table in Pittsburgh in 1979. It is an imaginary computer whose programs are adventure games, and is well-adapted to its task, implementing complex games remarkably compactly. They were still perhaps 100K long, too large for the memory of the home computers of their day, and the Z-machine seems to have made the first usage of virtual memory on a microcomputer. Further ahead of its time was the ability to efficiently save and restore the entire execution state.
-
-
The Z-machine is a virtual machine that was developed by Joel Berez and Marc Blank in 1979 and used by Infocom for its text adventure games. Infocom compiled game code to files containing Z-machine instructions (called story files, or Z-code files), and could therefore port all its text adventures to a new platform simply by writing a Z-machine implementation for that platform. With the large number of incompatible home computer systems in use at the time, this was an important advantage over using native code.
The compiler (called Zilch) which Infocom used to produce its story files has never been released, although documentation of the language used (called ZIL, for Zork Implementation Language) is still in existence.
The "Z" of Z-machine stands for Zork, Infocom's first adventure game. Z-code files usually have names ending in .z1, .z2, .z3, .z4, .z5, .z6, .z7 or .z8 (and occasionally .dat), where the number is the version number of the Z-machine on which the file is intended to be run, as given by the first byte of the story file.
-
Digital Antiquarian Z-Machine articles:
- https://www.filfre.net/2019/10/new-tricks-for-an-old-z-machine-part-1-digging-the-trenches/
- https://www.filfre.net/2019/11/new-tricks-for-an-old-z-machine-part-2-hacking-deeper-or-follies-of-graham-nelsons-youth/
- https://www.filfre.net/2019/11/new-tricks-for-an-old-z-machine-part-3-a-renaissance-is-nigh/
ZIL is short for Zork Implementation Language, a programming language developed by Infocom and based on MDL, which itself is a version of Lisp.
MDL (Model Development Language,or colloquially also referred to as More Datatypes than Lisp or MIT Design Language is a programming language, a descendant of the language Lisp. Its initial purpose was to provide high level language support for the Dynamic Modeling Group at Massachusetts Institute of Technology's (MIT) Project MAC. It was initially developed in 1971 on a PDP-10 computer on a time-sharing operating system named Incompatible Timesharing System (ITS).
From: https://en.wikipedia.org/wiki/MDL_(programming_language)
-
The MDL Programming Language by S. W. Galley and Greg Pfister // GitHub
-
MDL Programming Language Primer by Michael Dornbrook and Marc Blank
-
A Device-Independent Graphics Manager For MDL by Poh Chuan Lim
The Lisp language is the oldest and most widely used functional language. Lisp is essentially typeless, but originally had two types of data objects: atoms and lists. Indeed, Lisp stands for “LISt Processing.” Lisp has long been a popular language for applications in artificial intelligence.
From: https://www.sciencedirect.com/topics/computer-science/lisp
ZILF is an open-source ZIL compiler, Z-machine assembler, world model, and related tools written by Jesse McGrew. ZILF has been said to stand for either Zork Implementation Language of the Future or The ZIL Implementation You Really, Really Like. It is written in C#, and runs under Windows, or under MacOS or Linux using Mono. It takes ZIL source code and compiles it into Z-machine assembly code, which is then passed to ZAPF to make the final Z-code story file.
-
ZIP: Z-language Interpreter Program (1982, 1984), by Joel M. Berez and Marc S. Blank
-
EZIP: Z-language Interpreter Program (Expanded) (1984, 1985), by Joel M. Berez and Marc S. Blank
-
ZILF Reference Guide (2021) // Github
-
The goal is to list all commands in the ZILF developing environment with a short description of the command and some short examples to illustrate how the command is used.
-
-
Adam Sommerfield's Learning Zil and Zilf (2021) series // YouTube
-
A 65 min behind-the-scenes video on VERSION and STATUS-LINE.
-
Episode 4 - Adam's Extra Resources
Extra Samples plus the verbs_plus.zil file
-
-
Cleaned-Up Source Collection by Adam Sommerfield
Large collection of Infocom source, test games, and ZIL libraries. If you want useful samples of ZIL in action -- check this out.
-
ZIL port of Ryan Veeder's 'Craverly Heights'. Nicely annotated.
Since its invention (by Graham Nelson in 1993), Inform has been used to design some hundreds of works of interactive fiction, in eight languages, reviewed in periodicals ranging in specialisation from XYZZYnews to The New York Times. It accounts for around ten thousand postings per year to Internet newsgroups. Having started as a revival of the then-disused Infocom adventure game format, the Z-Machine, Inform came full circle when it produced Infocom's only text game of the 1990s: Zork: The Undiscovered Underground, by Mike Berlyn and Marc Blank.
-
...more here
-
Zarf's The Obsessively Complete Infocom Catalog
If 'awesome-z-machine' could be summed up in a single link, this is it.
-
Zork and the Future of Computerized Fantasy Simulations // Byte Magazine
-
Milliways: Infocom's Unreleased Sequel to Hitchhiker's Guide to the Galaxy
-
Infocom Cabinet // Archive.org
A collection of digitized scans from a large cache of documents related to the game publisher Infocom, Inc. of Cambridge, MA. Assembled by Steven Meretzky of Infocom.
-
Long Lost ‘Zork’ Source Code Uploaded to GitHub, But Few People Understand It // Vice.com
-
Radio Shack TRS-80 Zork Packaging
This is how I first encountered Zork in the early 80s -- hanging in a plastic bag alongside 'Dancing Demon' and 'Eliza' in the 'TRS-80 Personal Computer Corner' of a Radio Shack in a mall in small-town Illinois.
I spent nearly all my weekends in that Radio Shack or in the Aladdin's Castle -- a few stores away.
A collection of Infocom source code files, for education and perusal.
See Zarf's 'The Obsessively Complete Infocom Catalog' for more information on these source files.