Spotting X marks the spot

Thursday, September 4, 2025

Comments: 10   (latest September 13)

Tagged: infocom, if, interactive fiction, examine, abbrevations

Here's a bit of trivia from the Infocom source code collection.

All modern parser-IF tools let you type X as an abbreviation for EXAMINE. It's such a familiar shortcut that we forget that most Infocom games didn't work that way.

Back when we played Zork, you had to type out EXAMINE:

>x mailbox I don't know the word "x".

>examine mailbox The small mailbox is closed.

Although L was a supported abbreviation for LOOK, so you could save a couple of keystrokes in a goofy way:

>l at mailbox The small mailbox is closed.

This came up in a forum thread. When did Infocom adopt the X abbreviation? Hey, I keep the source code collection handy for just these questions. Regex search!

Turns out the following games support X:

  • The very late-period games: Beyond Zork, Border Zone, Bureaucracy, Lurking Horror, Moonmist, Nord and Bert, Plundered Hearts, Sherlock
  • The graphical games: Arthur, Zork Zero, Shogun
  • The "Solid Gold" releases of Hitchhiker, Leather Goddesses, Planetfall, and Wishbringer (the re-releases with built-in hints)
  • A couple of the "Infocom Samplers" (several game demos packed into a single playable file)
  • The in-development games that were dropped when Infocom shut down: The Abyss, Restaurant at the End of the Universe

From this we observe that 1987 was the year that Infocom adopted the X. Leather Goddesses and Stationfall did not pick it up, but Bureaucracy, Lurking Horror, and all later games did. (Except for Journey, which was not a parser game.)

The "Solid Gold" re-releases also started in 1987, so it's not surprising that they got the X as well. Except, interestingly, for Zork 1! The SG release of that is dated Nov 1987, but no X. I don't have a guess why not.

As the forum thread notes, some modern Z-code interpreters provide X support for all games, by sneakily modifying your input. This is a bit tricky. You can imagine a game where you have to say COMPUTER, X is 135. You wouldn't want the interpreter to mess that up. Or you might be playing a German game where the verb to substitute is UNTERSUCHE! Or something. Tread carefully, anyhow.


For reference, my file search:

% ack -l 'SYNONYM.* X[ >]' | sort

We're looking for lines that look something like:

<VERB-SYNONYM EXAMINE X>
<SYNONYM EXAMINE X INSPECT DESCRIBE STUDY OBSERVE SEE SCOUR>
<VERB-SYNONYM EXAMINE X INSPECT DESCRIBE CHECK STUDY SURVEY SEE TRACE>

(Different games have different sets of synonyms. Which could be an interesting post on its own...)

The output of the above command:

abyss-r1/syntax.zil
arthur-r41/syntax.zil
arthur-r74/syntax.zil
arthur-rmid1/syntax.zil
arthur-rmid2/syntax.zil
beyondzork-r50/syntax.zil
beyondzork-r57/syntax.zil
beyondzork-r60/syntax.zil
borderzone-r9/syntax.zabstr
borderzone-r9/syntax.zil
borderzone-rlater/syntax.zil
bureaucracy-r160/syntax.zil
hitchhiker-invclues-r31/syntax.zil
leathergoddesses-invclues-r4/syntax.zil
lurkinghorror-r203/syntax.zil
lurkinghorror-r221/syntax.zil
moonmist-r13/syntax.zil
moonmist-r9/syntax.zil
nordandbert-r19/syntax.zil
nordandbert-r20/syntax.zil
planetfall-invclues-r10/syntax.zil
plunderedhearts-r26/syntax.zil
plunderedhearts-rlater/syntax.zil
restaurant-r15/syntax.zil
restaurant-r184/syntax.zil
sampler-clean-r8/syntax.zil
sampler-r97/syntax.zil
sherlock-nosound-r26/syntax.zil
sherlock-r26/syntax.zil
sherlock-sound-r26/syntax.zil
sherlock-ss-rearlier/syntax.zil
shogun-r322/syntax.zil
shogun-rearlier/syntax.zil
wishbringer-invclues-r23/syntax.zil
zork0-r242/syntax.zil
zork0-r286/syntax.zil
zork0-r296/syntax.zil
zork0-r393/syntax.zil

I'm omitting intermediate (non-source) files, and also generic/x-syntax.zil, which was a sample-code template rather than a full game.


Comments from Mastodon


Comments from Bluesky


Comments from Mastodon