Appropriate topic for IFWiki? (Inside Infocom Games)


I’ve written a big technical white paper on the basic internal workings of Infocom games (in general). It talks about things like the layout of the parsing system, how objects are found, and how syntax entries are matched. It basically fills in the gap between the article “Learning ZIL - or - Everything You Always Wanted to Know About Writing Interactive Fiction But Couldn’t Find Anyone Still Working Here to Ask” and the games themselves. It also talks a bit about how these routines and functions have changed with different games.

I’m just curious if this is something appropriate for IFWiki? Otherwise, I’d probably just make a blog about it or maybe just a massive PDF.


I’d certainly be interested in reading it regardless of where and how it’s published.


Blog it then link it to ifwiki. Add your blog to planet-if as well.


I would like to read it too, about how the parser and other things are work. I seem to remember I have read somewhere that Infocom’s YZIP games use LALR(1) parsing; presumably that is the reason for the new stack operations in YZIP (although I do not actually know). I don’t know what the older games use, though.

(Andrew Plotkin) #5 is a repository of such information, and we’d welcome that addition.


I don’t have the technical background to distinguish if the Infocom parser uses a LALR parsing method. If someone can provide some concrete examples of how to tell the difference, I can try to figure that out. However, the parser mechanics really haven’t changed much from ZIP 1 through XZIP (ZIP 5) games. They are able to recognize more special cases where the command given is not matched against the allowed syntaxes (such as an OOPS command).


Sounds good. I’ll try to get it up in blog form and link it to other sites. Thanks.

(Jesse McGrew) #8

Interesting! I’ve written a few blog posts about how those operate in ZILF, so I’m looking forward to comparing the analyses:

Part 1: The ideal sentence
Part 2: Noun phrases
Part 3: From noun phrase to object


Just skimming through your posts, it looks like the analysis will be similar though maybe a bit more detailed in sections (maybe too detailed).

For everyone else, I’ve created a blog to slowly post up all the sections on to it: Internal Secrets of Infocom Gamesl

Right now, it only contains basic info about the ZIL and game data structures. All of this has been described by others. But Chapter 4 does describe the overall looping of the various functions that make up the game.