<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Zarf Updates</title><link href="https://blog.zarfhome.com/" rel="alternate"/><link href="https://blog.zarfhome.com/feeds/posts/default" rel="self"/><id>https://blog.zarfhome.com/</id><updated>2026-06-10T02:36:20+00:00</updated><author><name>Andrew Plotkin</name></author><subtitle>Interactive fiction, narrative in games, and so on</subtitle><category term="80 days"/><category term="a monster's expedition"/><category term="aaron reed"/><category term="abuse"/><category term="accessibility"/><category term="activision"/><category term="adventure"/><category term="adventure games"/><category term="adventures"/><category term="ai"/><category term="alchemy"/><category term="algorithms"/><category term="alt-frequencies"/><category term="an airport for aliens currently run by dogs"/><category term="anchorhead"/><category term="animal well"/><category term="app store"/><category term="apple"/><category term="apple arcade"/><category term="apple tv"/><category term="apple vision pro"/><category term="archiving"/><category term="arfs"/><category term="args"/><category term="arisia"/><category term="arrog"/><category term="art"/><category term="ascension"/><category term="astronomy"/><category term="audio"/><category term="awards"/><category term="backwards compatibility"/><category term="balticon"/><category term="baphl"/><category term="beer"/><category term="bite me"/><category term="blaseball"/><category term="blockchain"/><category term="blockhouse"/><category term="blog"/><category term="blogs"/><category term="boodler"/><category term="book of ti'ana"/><category term="books"/><category term="boston"/><category term="bostonfig"/><category term="brian moriarty"/><category term="bugs"/><category term="byron preiss"/><category term="call of the sea"/><category term="card games"/><category term="casual games"/><category term="casual rpgs"/><category term="caves of qud"/><category term="chants of sennaar"/><category term="chogon"/><category term="chuck carter"/><category term="citizen sleeper"/><category term="cliff johnson"/><category term="cloudpunk"/><category term="cocoon"/><category term="colossal cave"/><category term="comics"/><category term="conferences"/><category term="console"/><category term="consoles"/><category term="conventions"/><category term="cosmic encounter"/><category term="covid-19"/><category term="craft"/><category term="cragne manor"/><category term="cranky"/><category term="creaks"/><category term="crowdfunding"/><category term="crpgs"/><category term="ctfws"/><category term="cyan"/><category term="cyoa"/><category term="dash"/><category term="davey wreden"/><category term="deadline"/><category term="deater"/><category term="deck-building games"/><category term="deirdra kiai"/><category term="delve films"/><category term="design"/><category term="diane duane"/><category term="digital antiquarian"/><category term="doctor who"/><category term="documentary"/><category term="doobes"/><category term="dreamhold"/><category term="dungeon"/><category term="echo bazaar"/><category term="echoes of the eye"/><category term="eclipse"/><category term="economics"/><category term="edifice gumshoe"/><category term="eliza"/><category term="elon musk"/><category term="emily short"/><category term="endings"/><category term="enshittification"/><category term="episodic games"/><category term="eric anderson"/><category term="extrasolar"/><category term="faction paradox"/><category term="fanfic"/><category term="firmament"/><category term="flash games"/><category term="flashpaper"/><category term="game design"/><category term="games"/><category term="gdc"/><category term="genre"/><category term="george alec effinger"/><category term="get lamp"/><category term="glk"/><category term="glulx"/><category term="graham nelson"/><category term="graphical adventures"/><category term="greenlight"/><category term="greydragon"/><category term="guild of archivists"/><category term="guillaume lethuillier"/><category term="hadean lands"/><category term="hannah gamiel"/><category term="heaven's vault"/><category term="heliopause"/><category term="her story"/><category term="history"/><category term="horror"/><category term="hugos"/><category term="hulu"/><category term="humble"/><category term="humble store"/><category term="hypercard"/><category term="hypertext"/><category term="ico"/><category term="if"/><category term="ifarchive"/><category term="ifcomp"/><category term="ifdb"/><category term="iftf"/><category term="igf"/><category term="immortality"/><category term="indiecade"/><category term="indiepocalypse"/><category term="indika"/><category term="infocom"/><category term="inform"/><category term="inform 6"/><category term="inform 7"/><category term="ink"/><category term="intangibles"/><category term="interactive comics"/><category term="interactive fiction"/><category term="interpreters"/><category term="interviews"/><category term="inua"/><category term="inventory"/><category term="ios"/><category term="iosfizmo"/><category term="iosglk"/><category term="iosglulxe"/><category term="ipad"/><category term="iphone"/><category term="irc"/><category term="islands"/><category term="itch"/><category term="itch.io"/><category term="jams"/><category term="jason scott"/><category term="jason shiga"/><category term="javascript"/><category term="jayiscomp"/><category term="jayisgames"/><category term="jenni polodna"/><category term="jim munroe"/><category term="job"/><category term="john m ford"/><category term="jon ingold"/><category term="journey"/><category term="karateka"/><category term="ken williams"/><category term="kickstarter"/><category term="kld"/><category term="kory heath"/><category term="lake"/><category term="language"/><category term="layoffs"/><category term="lectrote"/><category term="legacy of kain"/><category term="legendary"/><category term="lego"/><category term="leviathan"/><category term="life"/><category term="lightmatter"/><category term="link farm"/><category term="linking book"/><category term="llms"/><category term="los angeles"/><category term="m37"/><category term="macos"/><category term="magic"/><category term="maps"/><category term="mark deforest"/><category term="mastodon"/><category term="mateusz skutnik"/><category term="mazes"/><category term="meanwhile"/><category term="memory blocks"/><category term="metapuzzles"/><category term="michael gentry"/><category term="microsoft"/><category term="mit"/><category term="mmo"/><category term="mmos"/><category term="mobile"/><category term="movie"/><category term="movies"/><category term="mud"/><category term="muds"/><category term="music"/><category term="my secret hideout"/><category term="myst"/><category term="myst online"/><category term="mysteriacs"/><category term="mysterium"/><category term="mystery hunt"/><category term="narrascope"/><category term="narrative"/><category term="neptune"/><category term="neural nets"/><category term="nick montfort"/><category term="nonlinear"/><category term="nonprofit"/><category term="norco"/><category term="noshowconf"/><category term="nostalgia"/><category term="not games"/><category term="obduction"/><category term="observation"/><category term="off-topic"/><category term="okidata"/><category term="old papers"/><category term="open source"/><category term="oregon trail"/><category term="outer wilds"/><category term="pacing"/><category term="paradise killer"/><category term="parser"/><category term="patents"/><category term="patreon"/><category term="patrick dulebohn"/><category term="pax"/><category term="philadelphia"/><category term="philip shane"/><category term="phogg"/><category term="photos"/><category term="physics"/><category term="pittsburgh"/><category term="plague"/><category term="planet of lana"/><category term="pocket storm"/><category term="poetry"/><category term="politics"/><category term="portal"/><category term="possibility space"/><category term="pr-if"/><category term="practice"/><category term="preservation"/><category term="prif"/><category term="prince of persia"/><category term="printed artifacts"/><category term="procgen"/><category term="professional validation for the win"/><category term="programming"/><category term="prompt engineering"/><category term="prytania"/><category term="purple blurb"/><category term="puzzle books"/><category term="puzzle boxes"/><category term="puzzle hunts"/><category term="puzzles"/><category term="python"/><category term="quick links"/><category term="quixe"/><category term="rand miller"/><category term="realmyst"/><category term="return to monkey island"/><category term="reviews"/><category term="rime"/><category term="rise of the golden idol"/><category term="riven"/><category term="road trips"/><category term="roadwarden"/><category term="roberta williams"/><category term="robyn miller"/><category term="rpgs"/><category term="rss"/><category term="ruminations"/><category term="rusty lake"/><category term="ryan veeder"/><category term="ryan warzecha"/><category term="sales"/><category term="science fiction"/><category term="search"/><category term="seattle"/><category term="security"/><category term="selenitic"/><category term="seltani"/><category term="sexual assault"/><category term="sfwa"/><category term="shade"/><category term="shadow of the colossus"/><category term="sherlock holmes"/><category term="shipping"/><category term="skia"/><category term="skiasharp"/><category term="slack"/><category term="social media"/><category term="software"/><category term="soul reaver"/><category term="source code"/><category term="space paranoids"/><category term="spider and web"/><category term="spirit ai"/><category term="spore"/><category term="sports"/><category term="starry expanse"/><category term="static site generators"/><category term="steam"/><category term="steam deck"/><category term="steampal"/><category term="steve meretzky"/><category term="stray gods"/><category term="stross"/><category term="structure"/><category term="sub-q"/><category term="subcutanean"/><category term="submachine"/><category term="subscriptions"/><category term="sunset"/><category term="survival horror"/><category term="susan cooper"/><category term="swarthmore"/><category term="system's twilight"/><category term="tabletop games"/><category term="tacoma"/><category term="tagging"/><category term="talks"/><category term="teaser"/><category term="television"/><category term="telltale"/><category term="terminology"/><category term="terps"/><category term="text"/><category term="the beyond"/><category term="the case of the golden idol"/><category term="the cosmic wheel sisterhood"/><category term="the dark is rising"/><category term="the fool and his money"/><category term="the fool's errand"/><category term="the molasses flood"/><category term="the past within"/><category term="the prisoner"/><category term="the roottrees are dead"/><category term="the talos principle"/><category term="the thaumaturge"/><category term="the witness"/><category term="the wreck"/><category term="thematic apperception"/><category term="theory"/><category term="thinkycon"/><category term="tinyapp"/><category term="too many authors to list"/><category term="tools"/><category term="toronto"/><category term="trademarks"/><category term="trailers"/><category term="transcripts"/><category term="transient"/><category term="trinity"/><category term="tron"/><category term="tv"/><category term="twine"/><category term="twitter"/><category term="ui"/><category term="unavowed"/><category term="unity"/><category term="uru"/><category term="usenet"/><category term="valve"/><category term="versu"/><category term="vghf"/><category term="videos"/><category term="vince weaver"/><category term="visible zorker"/><category term="vr"/><category term="wadjet eye"/><category term="walking simulators"/><category term="web"/><category term="web services"/><category term="werewolf"/><category term="windows"/><category term="wordless narrative"/><category term="wordplay"/><category term="worldcon"/><category term="writing"/><category term="wumpus"/><category term="xmpp"/><category term="xyzzy"/><category term="xyzzy awards"/><category term="z-machine"/><category term="zarf"/><category term="zarfhome"/><category term="zarfplan"/><category term="zcode"/><category term="zed"/><category term="zil"/><category term="zilf"/><category term="zoe quinn"/><category term="zork"/><category term="zork 3"/><entry><title>Spring surprise games</title><link href="https://blog.zarfhome.com/2026/06/spring-surprise-games" rel="alternate"/><published>2026-06-10T02:36:20+00:00</published><updated>2026-06-10T02:36:20+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-06-10:/2026/06/spring-surprise-games</id><summary type="html">Not a Monty Python reference (unless you really want one), but rather: it's still spring (barely) and here's some games that surprised me. They popped up suddenly out of nowhere; I hadn't heard much about them; I enjoyed 'em. (Okay, 7th Guest ...</summary><content type="html">&lt;p&gt;Not a Monty Python reference (unless you really want one), but rather: it's still spring (barely) and here's some games that surprised me. They popped up suddenly out of nowhere; I hadn't heard much about them; I enjoyed 'em.&lt;/p&gt;
&lt;p&gt;(Okay, &lt;em&gt;7th Guest&lt;/em&gt; was announced a couple of months ago, and in fact has existed for three years in VR. Still, in the span of 1993 to now, that's sudden.)&lt;/p&gt;
&lt;p&gt;Have some brief commentary, plus one design rumination.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Archives of Trevosa&lt;/li&gt;
&lt;li&gt;Hypogea&lt;/li&gt;
&lt;li&gt;The 7th Guest Remake (2023)&lt;/li&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;h2 id="trevosa"&gt;The Archives of Trevosa&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Jamwitch -- &lt;a href="https://jamwitch.itch.io/trevosa"&gt;web game&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A free browser-based mini-Roottrees-like. Pin down the names and titles of thirty members of the royal family of Trevosa. The gimmick: all of their documents use Trevosan terms for familial relations. (Not to mention clans, animals, and so on.) It's not a full conlang but you have to figure out the words relevant to the family tree. To the Archives!&lt;/p&gt;
&lt;p&gt;It took me a bit to internalize the setup. You can only search the Archives for &lt;em&gt;Trevosan&lt;/em&gt; words and names. The search shows at most three documents at a time (hey, a &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2016/01/igf-nominees-my-comments#her-story"&gt;Her Story&lt;/a&gt;&lt;/em&gt;-like too!) so you can't just flail; you have to focus on specifically-relevant terms. On the flip side, the list of documents that you've &lt;em&gt;found&lt;/em&gt; is not so limited. There, you can search for English words and browse any number of matching results.&lt;/p&gt;
&lt;p&gt;The game uses the now-standard "lock three correct guesses" mechanic. With only two blanks to fill in per person, you can probably brute-force anything you get really stuck on. But the clues are all fair and reasonably findable.&lt;/p&gt;
&lt;p&gt;This only took me a couple of hours and I enjoyed the time. As with all these database-searching games, everybody's path through will be different. But at least in my case, the pacing was really good. By the time I hit 100% of documents found, I had 90% of the names filled in, and I was cackling over my answer to the bonus question: "Who are these people and what has kept their kingdom secret?"&lt;/p&gt;
&lt;h2 id="hypogea"&gt;Hypogea&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Charlie Wagner -- &lt;a href="https://store.steampowered.com/app/2980260/Hypogea/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A sweet little nonverbal-narrative platformer. You're an acrobatic robot with a staff. You and a companion bot make your way through the ruins of an underground megastructure. Other friendly mechanical beings help you along the way.&lt;/p&gt;
&lt;p&gt;The game is focused on the traversal puzzles rather than physical reflexes. You need &lt;em&gt;some&lt;/em&gt; button skills. (Run towards edge, pole vault, jump, swing on hook, catch chain...) But the timing is generous and "push &lt;code&gt;X&lt;/code&gt; to snag with staff" usually saves your ass. Mostly you're looking around to see where you can go, then deciding what moves will get you there. And feeling like a ninja while you do it.&lt;/p&gt;
&lt;p&gt;No, not a ninja. Nonviolent game. Feeling like a robot monk, then.&lt;/p&gt;
&lt;p&gt;The environments are rusty-industrial-ruin, which isn't my favorite genre of megastructure. But it does feature wonderfully vast depths and heights. Towers of collapsed machinery, cables trailing into misty-dark chasms. As long as I'm the robot-guy scaling the scenery, I have no complaint. &lt;/p&gt;
&lt;p&gt;It occurs to me that the Steam page's key art uses a rough painterly style which I liked a lot more than the game's PS2-era lo-fi-lo-poly. Could the whole game have been done up with, I dunno, shaders? Well, the dev ran solo; I'm sure he scoped to what he could ship. No argument there. The lighting is excellent, regardless.&lt;/p&gt;
&lt;p&gt;The machine-people you meet are beautifully animated and expressive. I wasn't so into the human prehistory, which you glimpse through brief recorded recollections. Those meat people looked like jerks. I would rather have had more about the robot times. Ah well.&lt;/p&gt;
&lt;p&gt;Short, excellently designed. Well worth your time.&lt;/p&gt;
&lt;h2 id="7th-guest"&gt;The 7th Guest Remake (2023)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Vertigo Games -- &lt;a href="https://the7thguestremake.com/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I never played &lt;em&gt;The 7th Guest&lt;/em&gt;. It was a big title in the 90s when I was excited about all sorts of Mac CD-ROM games. I somehow never got to it. Did I hear through the (Usenet) grapevine that the puzzles were bad? Maybe I was just lazy. I can't remember.&lt;/p&gt;
&lt;p&gt;The puzzles were terrible. See &lt;a href="https://www.filfre.net/2020/04/the-7th-guests-new-clothes/"&gt;Jimmy Maher's writeup&lt;/a&gt;. One of my &lt;a href="https://blog.zarfhome.com/2026/06/effinger-replies"&gt;Usenet&lt;/a&gt; compatriots made this comment, which was a popular sig-file quote for a while:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;I mean, what the hell kind of villain thwarts the hero's              
progress with soup cans in the kitchen pantry?                        
  --Russ Bryan 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So when I heard there was a modern remake, I said: As long as they rewrite all the puzzles from scratch. And they did!&lt;/p&gt;
&lt;p&gt;In fact I was behind the times. This &lt;em&gt;7th Guest Remake&lt;/em&gt; was a &lt;em&gt;VR&lt;/em&gt; remake a few years ago. I paid no attention because I'm not interested in VR. Happily, the developers then decided to make the jump to regular flatscreen PC. I shall hope &lt;a href="https://www.fireproofgames.com/games/the-room-vr-a-dark-matter"&gt;others&lt;/a&gt; follow suit.&lt;/p&gt;
&lt;p&gt;(To be clear: this is the same &lt;em&gt;game&lt;/em&gt; as the 2023 VR release. Same design, same graphics, same puzzles. Only the controls have been updated. So I'm referring to it as &lt;em&gt;The 7th Guest Remake (2023)&lt;/em&gt;, even though the Steam release is dated 2026. And even though "Reboot" or "Reimagining" would be more accurate.) (There was a literal remake in &lt;a href="https://store.steampowered.com/app/1044340/The_7th_Guest_25th_Anniversary_Edition/"&gt;2019&lt;/a&gt;, for some reason, but this isn't that.)&lt;/p&gt;
&lt;p&gt;Really, you can tell this is a VR-native game. The core interactions are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You walk around an awesomely detailed creepy house.&lt;/li&gt;
&lt;li&gt;Spectral people appear and perform little scenes. You can walk around or even through them, but not interact.&lt;/li&gt;
&lt;li&gt;You can pick up any piece of scenery and numbly rotate it in space, but you can't do anything with it. Then you drop it -- doesn't matter where; it zaps back to where it belongs.&lt;/li&gt;
&lt;li&gt;Solve puzzles, but all the elements are selected with d-pad or arrow keys, not mouse.&lt;/li&gt;
&lt;li&gt;Swirls of spectral energy fly impressively around the room or turn into butterflies and flutter around.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In short, everything is visual and all around you, but there's no tangible interaction. Because you're waving a pair of plastic wands! (With d-pads on them.) No fine manipulation at all. It's the exact opposite of &lt;em&gt;Myst&lt;/em&gt;'s native mouse-focus or &lt;em&gt;The Room&lt;/em&gt;'s native finger-touch interaction.&lt;/p&gt;
&lt;p&gt;(The one exception is a theremin puzzle, which is of course the perfect "wave your clunky hand extensions in space" interface. I suspect they simplified that one for mouse control.)&lt;/p&gt;
&lt;p&gt;None of this is a complaint! It's just a distinctly weird experience after 35 flippin' years of "normal" (mouse-centric) graphical adventures. It took me a while to peg it as "Oh, &lt;em&gt;VR&lt;/em&gt; controls!" and then it all made sense.&lt;/p&gt;
&lt;p&gt;I don't have much to say about the puzzles. I'm sorry about that! They're most of the game. They're competent. They are, if not completely original, at least creative takes on stock ideas. Almost every puzzle is a notch easier than it could have been. I completely understand; the hardcore puzzle nerds were never going to show up for this party. But it means that the difficulty ranges from "took a bit of thought" down to "there were only three moves and I did them and that was it".&lt;/p&gt;
&lt;p&gt;On top of that, there's free hints and nearly-free puzzle bypass tokens. You have to hunt around for the tokens, which is of course fun, but you'll find plenty.&lt;/p&gt;
&lt;p&gt;As for the story, they kept the bones of the original plot. (I flipped through a video walkthrough of the original game to compare.) Same setup; some of the same dialogue even. They added quite a bit of new stuff to make the story flow better. They punched up the struggle between the six guests as the backbone of the plot. They added a bunch more backstory for evil old Henry Stauf. The narrative decisions are all reasonable. Again, it's competent work. But not &lt;em&gt;compelling&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;You'd think that in a game called &lt;em&gt;The 7th Guest&lt;/em&gt;, there would be a story arc where the six guests realize that there &lt;em&gt;is&lt;/em&gt; a seventh guest -- but &lt;em&gt;who&lt;/em&gt;? Dramatic tension! But no. Some kid wanders in, and then at some point everybody is chasing the kid around, and that's the story.&lt;/p&gt;
&lt;p&gt;The actors are fun to watch, sure. The original 1993 game was famously shot in a two-day rush with no-name community actors. How do you play a nostalgic remake of terrible acting? You can't make it &lt;em&gt;good&lt;/em&gt;; fans would complain! The solution seems to be to find talented actors and tell them to ham it to the nines. That way everybody is in on the joke.&lt;/p&gt;
&lt;p&gt;It's the overall shape that's missing. Stauf tells everybody that his house is full of clues about what to do. &lt;em&gt;The house is not in fact full of clues.&lt;/em&gt; Buddy, I have been in a house full of clues, and this is not it. This is a house full of &lt;em&gt;puzzles&lt;/em&gt;, but there is no metapuzzle. No surprise meanings or hidden patterns. The puzzles are purely a gating mechanism: solve all the puzzles in this chapter's room, and the next chapter unlocks.&lt;/p&gt;
&lt;p&gt;There's exactly one puzzle where you're supposed to think about the story and the clues from elsewhere in the house... and then the game doesn't make you &lt;em&gt;do&lt;/em&gt; that. You can ignore the story clues and solve it based on mechanical feedback. &lt;/p&gt;
&lt;p&gt;The designers added a big climactic challenge, which I gather the original game lacked. But it's not dramatic either. It's not presented as you staking your life or taking a stand. It exists so that Stauf has a way to lose and thus get his comeuppance. It's not even a puzzle; it's a board game. You play Parcheesi against the forces of darkness. Stauf says he won't explain the rules, but you get an abundance of hints, and then winning is straightforward. It's just a slog.&lt;/p&gt;
&lt;p&gt;I think the designers took the premise of &lt;em&gt;The 7th Guest&lt;/em&gt; for granted. They didn't do the work to sell it to players in the game.&lt;/p&gt;
&lt;p&gt;So: a perfectly good lightweight puzzle game, and the environment is wonderfully rendered. I loved poking around in all the corners. (The obligatory magic-lens-or-lantern is used to excellent effect.) But it's not a must-play unless the original is a hallowed creepy memory of your youth.&lt;/p&gt;
&lt;p&gt;I will put in a rec for Jonathan van den Wijngaarden's &lt;a href="https://musicbyjonathan.bandcamp.com/album/the-7th-guest-vr-original-soundtrack"&gt;soundtrack&lt;/a&gt;, though. It's a sweet blend of eerie ambience and mellow jazz themes. Appropriate for a game entirely populated by Jazz Age ghosts! And of course it's headlined by the classic theme from the &lt;a href="https://thefatmanandteamfat.bandcamp.com/album/the-7th-guest-come-back"&gt;original soundtrack&lt;/a&gt;. Props for getting George "&lt;a href="https://www.fatman.com/"&gt;The Fat Man&lt;/a&gt;" Sanger back as a performer.&lt;/p&gt;</content><category term="reviews"/><category term="ruminations"/><category term="the archives of trevosa"/><category term="hypogea"/><category term="the 7th guest"/></entry><entry><title>Effinger replies to me</title><link href="https://blog.zarfhome.com/2026/06/effinger-replies" rel="alternate"/><published>2026-06-04T00:38:41+00:00</published><updated>2026-06-04T00:38:41+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-06-04:/2026/06/effinger-replies</id><summary type="html">I posted a couple of weeks ago about Infocom tie-in novels, with a bit of a digression on the work of George Alec Effinger. It turns out that I have a response from Effinger to relay! Not a response to my 2026 post, obviously. Effinger passed ...</summary><content type="html">&lt;p&gt;I posted a couple of weeks ago about &lt;a href="https://blog.zarfhome.com/2026/05/infocom-tie-ins"&gt;Infocom tie-in novels&lt;/a&gt;, with a bit of a digression on the work of &lt;a href="https://www.isfdb.org/cgi-bin/ea.cgi?201"&gt;George Alec Effinger&lt;/a&gt;. It turns out that I have a response from Effinger to relay!&lt;/p&gt;
&lt;p&gt;Not a response to my 2026 post, obviously. Effinger passed away in 2002. But his books were mentioned on Usenet in 1997. It was a thread about the "Groundhog Day" trope, which brought up Effinger's books &lt;em&gt;The Nick of Time&lt;/em&gt; and &lt;em&gt;The Bird of Time&lt;/em&gt;. (The first Effinger that I read, as it happens.)&lt;/p&gt;
&lt;p&gt;Anyhow, someone made a rather dismissive comment to the effect of "...before Mr. Effinger ran out of ideas and was reduced to writing things like 'The Zork Chronicles'." And guess who showed up to &lt;a href="https://groups.google.com/g/rec.arts.int-fiction/c/xDZt-ysDZ8o/m/c0aujVUub8QJ"&gt;riposte&lt;/a&gt;?&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;Newsgroups: rec.arts.int-fiction
Subject: Re: Groundhog Day as Interactive Fiction
Date: Tue, 13 May 1997 14:41:42 -0600
From: g.effinger2@genie.com&lt;/p&gt;
&lt;p&gt;I've read with a lack of amusement the opinion that I wrote THE ZORK CHRONICLES because I ran out of ideas.   Generally, I don't respond to negative opinions of my work--I really don't expect everyone to like everything I write.  I don't like everything I write.  I'm interested to hear why some of my stories or novels don't work for particular readers; however, "Mr. Effinger ran out of ideas" doesn't convey any useful information to me. [...]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;I regret to say that I had &lt;em&gt;also&lt;/em&gt; posted to that thread -- agreeing with the original poster. Although, in my defense, I added that I was a Glorian of the Knowledge fan. Still, embarrassing. And not just because I totally forgot that this exchange happened! Thirty years ago. Yikes.&lt;/p&gt;
&lt;p&gt;You can read Effinger's entire post &lt;a href="https://groups.google.com/g/rec.arts.int-fiction/c/xDZt-ysDZ8o/m/c0aujVUub8QJ"&gt;here&lt;/a&gt;. If Google Search goes ass-up, as it keeps threatening to, you can also find the post archived in this &lt;a href="https://ifarchive.org/if-archive/rec.arts.int-fiction/news_archive.zip"&gt;Usenet thread collection&lt;/a&gt; (unzip, search the text file &lt;code&gt;raif970828&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;However, I need to quote more of Effinger's post. It gives valuable context for those days of 1989 or so. And, well, it trashes a lot of the assumptions I made in my &lt;a href="https://blog.zarfhome.com/2026/05/infocom-tie-ins"&gt;earlier tie-in post&lt;/a&gt;. Further embarrassment! At least I tried to label all my assumptions &lt;em&gt;as&lt;/em&gt; assumptions.&lt;/p&gt;
&lt;p&gt;I wrote that Effinger might have written &lt;em&gt;The Zork Chronicles&lt;/em&gt; "as an on-ramp to the videogame industry". Turns out I had it backwards:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;I wanted to write the novel and this was an opportunity to do it.  Also, I had worked with Infocom when I wrote a game for them, "Circuit's Edge," based on characters and locations in WHEN GRAVITY FAILS, and I liked the Infocom people.  They asked if I'd be interested in doing a novelization for them, and they offered me what they called "the big one"--the Zork games. I'd played all the games enthusiastically when I got my first computer, years before, and I was glad they thought of me for the book.&lt;/p&gt;
&lt;p&gt;(Effinger, ibid.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;That bit shows up another of my mistakes. I asserted that Effinger was not a gamer or a computer nerd. I was going off &lt;a href="https://www.stayforever.de/circuits-edge-a-conversation-with-michael-legg/"&gt;this interview&lt;/a&gt;, recorded in 2020. There, Mike Legg says that Effinger "...didn’t have a PC, he didn’t have a word processor; at least I don’t think he had." Oops on both of us.&lt;/p&gt;
&lt;p&gt;Jumping back, and relevant to the topic of my original post, Byron Preiss:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;First, although I've faced large medical debts for a considerable time, I didn't write ZORK for money.  I was paid $5,000 for it, a flat fee from the packager, with no royalties--something I tell my writing class not to do (work-for-hire it's called).  I did it, knowing I'd never see another penny and knowing that the $5,000 was probably not enough to cover my living expenses during the time it took to write the book, because it was a book I'd always wanted to write.  Not THE ZORK CHRONICLES, but the third book about the character of Glorian; he was in WHAT ENTROPY MEANS TO ME and HEROICS, and this was to be his apotheosis.  I was discouraged in writing such a book because my Budayeen series looked more promising, and because my earlier humorous books never did well in a commercial sense (BIRD, NICK, and HEROICS have never even been in paperback).&lt;/p&gt;
&lt;p&gt;(Effinger, ibid.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;Preiss was referred to as a "book packager" in &lt;a href="https://ore.exeter.ac.uk/articles/journal_contribution/The_Strange_Case_of_Byron_Preiss_Visual_Publications/29748458"&gt;this 2019 article&lt;/a&gt;. It's good to see the use of the term validated.&lt;/p&gt;
&lt;p&gt;I do get to correct Mr. Effinger in turn on one trivial point: &lt;em&gt;The Nick of Time&lt;/em&gt; and &lt;em&gt;The Bird of Time&lt;/em&gt; &lt;em&gt;were&lt;/em&gt; published in paperback editions -- in the UK. I only know this because I picked up a second-hand copy. (Possibly at the Toronto Worldcon of 2003.)&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/06/bird-of-time.jpeg"&gt;&lt;img alt="The cover of &amp;quot;The Bird of Time&amp;quot;. A man in a peculiar helmet and a woman wearing a low-cut gown and a high-cut cape; they are relaxing on a futuristic balcony with an antigravity cocktail. A subtitle notes &amp;quot;First UK publication&amp;quot;." height="612" src="https://blog.zarfhome.com/pic/2026/06/bird-of-time-s.jpeg" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Effinger goes on to defend the practice of writing licensed works, and to deny that they're inherently crap. He is polite but clearly annoyed that he has to do this. I won't quote because we've hopefully grown out of making such attacks.&lt;/p&gt;
&lt;p&gt;On to more interesting details:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;I am currently engaged in helping to develop a game entitled "Aeon" with White Wolf, and I'll be  doing more work-for-hire books for them.  A legal situation has prevented me from delivering any new books under my name using previous characters or series--especially finishing the last two books in the WHEN GRAVITY FAILS series.  I may never be allowed to publish them, so I've had to turn entirely to work-for-hire until the final judgment is made later this year.  &lt;/p&gt;
&lt;p&gt;(Effinger, ibid.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;The legal situation is mentioned in Effinger's &lt;a href="https://en.wikipedia.org/wiki/George_Alec_Effinger"&gt;Wikipedia entry&lt;/a&gt;: a medical bankruptcy which could have stripped him of his ownership of his own work. Happily, that didn't happen. He went on to publish those two sequels, &lt;em&gt;A Fire in the Sun&lt;/em&gt; (1989) and &lt;em&gt;The Exile Kiss&lt;/em&gt; (1991), to acclaim.&lt;/p&gt;
&lt;p&gt;But what about that game "Aeon"?&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;However, although I'm making the same money now that I made for the Zork book (i.e., not very much although White Wolf will pay me royalties), I'm eager about the project. Andrew Bates, the game's developer, has some wonderful SF ideas, and he's been enthusiastic about my thoughts and suggestions.  I was approached originally about doing only an 8,000 word short story for the game's original book, but the novels happened only after I decided I liked the intelligence and possibilities of the setting and theme.  The novels' story and most of the characters are mine, not White Wolf's, and will be incorporated in the game itself.&lt;/p&gt;
&lt;p&gt;(Effinger, ibid.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;img alt="The cover of &amp;quot;Aeon&amp;quot;. It's an unadorned black cover with the word AEON in stylized red letters." height="500" src="https://blog.zarfhome.com/pic/2026/06/aeon-cover.jpeg" width="377" /&gt;
A bold choice of cover design.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;ÆON&lt;/em&gt;, an ambitious sci-fi RPG, was released by White Wolf Publishing in late 1997. They promptly got slapped with a lawsuit from MTV's animated show &lt;em&gt;Æon Flux&lt;/em&gt;. One hasty &lt;a href="https://whitewolf.fandom.com/wiki/Rhymes_with_crayon"&gt;press release&lt;/a&gt; later, the game was retitled &lt;em&gt;Trinity&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;RPGs aren't my field, so I won't try to summarize the history of &lt;em&gt;Trinity&lt;/em&gt; or Effinger's connection to it. It seems to still be in print (now from &lt;a href="https://theonyxpath.com/category/worlds/trinitycontinuum/tc-aeon/"&gt;Onyx Path&lt;/a&gt;). Hopefully Effinger got his promised royalties.&lt;/p&gt;
&lt;p&gt;One can peek at the original &lt;a href="https://archive.org/details/white-wolf-aeon-trinity-core-rulebook"&gt;Æon/Trinity&lt;/a&gt; rulebook. (A true monument to the '90s trend of hyper-greeblied page layouts!) The book opens with the promised Effinger short story. It's titled "The Honored Dead"; it's literally the first twenty pages of the rulebook, before the table of contents.&lt;/p&gt;
&lt;p&gt;...I just sat down and read it. It's a decent bit of sci-fi thriller. Tough Guy and Mysterious Lady smuggle some valuable biotech across the Alps. Which cup is the &lt;s&gt;Maltese Falcon&lt;/s&gt; cryovial under? It's got character backstory and an intro to some big-shots of the Æon setting. (As promised, their names appear in the background material of the rest of the sourcebook.) What it doesn't do is give a sense of the setting as a whole. There's supposed to be aliens, space colonies, a world reshaped by psi-wars. What we see is a few miles of Switzerland. Fine for a story, questionable for an RPG intro.&lt;/p&gt;
&lt;p&gt;Also, as I said, I prefer the whimsical Effinger. White Wolf hired the gritty one.&lt;/p&gt;
&lt;p&gt;But what about those novels? Sadly, they never appeared. Wikis mention the titles as &lt;em&gt;Æon 1: Dawn&lt;/em&gt; and &lt;em&gt;Æon 2: Meridian&lt;/em&gt; -- both cancelled in 1998. Effinger says they "happened", which sounds like manuscripts got written. If so, they presumably got stuffed in a drawer and remained there until his death.&lt;/p&gt;
&lt;p&gt;Of course, I've gotten myself into trouble with assumptions before...&lt;/p&gt;
&lt;p&gt;I should note that the &lt;a href="https://theonyxpath.com/trinity-continuum-aeon-products/"&gt;Onyx Path Æon page&lt;/a&gt; lists stories titled &lt;em&gt;Dawn&lt;/em&gt; and &lt;em&gt;Meridian&lt;/em&gt;. However, if you click through, they're shown as novellas (not novels), written in 2021 by Lauren Roy and Chris Allen respectively. Written from scratch from the original 1997 outlines? Or just borrowing the titles? I have no idea.&lt;/p&gt;
&lt;p&gt;Well, that's all I've got on this particular path. My very belated thanks to Mr. Effinger for dropping in on our discussion, and my very belated apologies for my mostly-dismissive attitude back then.&lt;/p&gt;
&lt;p&gt;Although... Huh. One of the designers of Trinity, after Andrew Bates, is a guy named Richard Dansky.... who's giving a &lt;a href="https://narrascope.org/schedule/#for-anyway"&gt;talk&lt;/a&gt; at &lt;a href="https://narrascope.org/"&gt;NarraScope&lt;/a&gt; in less than two weeks. Maybe I'll corner him and ask him about Effinger.&lt;/p&gt;</content><category term="infocom"/><category term="zork"/><category term="george alec effinger"/><category term="byron preiss"/><category term="books"/><category term="trinity"/><category term="aeon"/><category term="rpgs"/></entry><entry><title>Visible Deadline is now available to all</title><link href="https://blog.zarfhome.com/2026/06/visible-deadline" rel="alternate"/><published>2026-06-01T04:29:01+00:00</published><updated>2026-06-01T04:29:01+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-06-01:/2026/06/visible-deadline</id><summary type="html">Welcome to June. The latest from the Visible Zorker project: Visible Deadline! "A locked door. A dead man. And 12 hours to solve the murder." As usual, the source code repository is also live, licensed with the open-source MIT license. Deadline ...</summary><content type="html">&lt;p&gt;Welcome to June. The latest from the &lt;a href="https://eblong.com/infocom/visi/"&gt;Visible Zorker&lt;/a&gt; project: &lt;a href="https://eblong.com/infocom/visi/deadline/"&gt;Visible Deadline&lt;/a&gt;!&lt;/p&gt;
&lt;div class="ImageWrap ImageBorder Center"&gt;
&lt;p&gt;&lt;a href="https://eblong.com/infocom/visi/deadline/"&gt;&lt;img alt="A screenshot titled &amp;quot;The Visible Zorker: Deadline&amp;quot;. The left side of the window shows the opening of Deadline, up to the command EXAMINE DOOR.  The right side shows a list of ZIL function calls and the message &amp;quot;The [D PRSO] is open, but you can't tell what's beyond it.&amp;quot;" height="549" src="https://blog.zarfhome.com/pic/2026/06/visideadline-app.png" width="600" /&gt;&lt;/a&gt;
"A locked door. A dead man. And 12 hours to solve the murder."&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;As usual, the &lt;a href="https://github.com/visible-zorking/visi-deadline"&gt;source code repository&lt;/a&gt; is also live, licensed with the open-source MIT license.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Deadline&lt;/em&gt; was Infocom's first non-Zork game, and they pulled out all the stops to make it feel like a new and different thing. Which made my job a lot more interesting!&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;For a start, &lt;em&gt;Deadline&lt;/em&gt;'s "feelies" were absolutely integral. When I bought &lt;em&gt;Zork 2&lt;/em&gt; and &lt;em&gt;Zork 3&lt;/em&gt;, back in the day, I was basically able to throw the manual aside and jump straight into the game. (I'd already learned how the parser worked, and what else was there?) But &lt;em&gt;Deadline&lt;/em&gt; came with a full police dossier introducing the murder scene: the coroner's report, interviews with the suspects, a little envelope containing a "sample" of the pills that did for Mr. Robner.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://eblong.com/infocom/visi/deadline/"&gt;Visible Deadline&lt;/a&gt; wouldn't make sense without these documents. So I've included images in the "Feelies" tab. These are scanned directly from the copy of &lt;em&gt;Deadline&lt;/em&gt; that I played as a kid! Except that my pills have crumbled to moldy crud over the decades.&lt;/p&gt;
&lt;p&gt;I've posted the &lt;a href="https://archive.org/details/Casebook_Deadline_Infocom_Apple/"&gt;original, high-resolution images&lt;/a&gt; from this scan session on the Internet Archive. I'm not the first person to do this, of course; here's a &lt;a href="https://archive.org/details/CasebookDeadlineInfocom/"&gt;set of scans&lt;/a&gt; from the Atari &lt;em&gt;Deadline&lt;/em&gt; package. However, that's missing the interviews, and also I was able to do full 600dpi scans. So now you have both. &lt;/p&gt;
&lt;p&gt;On the technical side, &lt;em&gt;Deadline&lt;/em&gt; made an enormous leap: all of the game's NPCs were autonomous agents. Over the game's twelve-hour timeline, each character moved around the mansion on their own schedule. They could also react to your investigation. Certain questions or revelations would send characters running off to confer, conspire, destroy evidence, or (in the worst case) commit another murder. (When will these people learn that crime never pays?)&lt;/p&gt;
&lt;p&gt;All of this required a pile of brand-new NPC navigation code. I've exhibited this in two ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The "Schedule" tab shows each character's current movement goal, as well as the daily schedule for the whole crew. It's a pretty complicated system. I've included a full explanation as I understand it.&lt;/li&gt;
&lt;li&gt;The "Map" tab shows NPC routing paths and sightlines. The blue paths are internal tables which allow a character to move to a desired destination. The pink lines allow you to see a character in adjacent rooms down the hall.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(The routing logic is referred to as the "T system" in the source code, after the transit system that serves Boston and Cambridge. Infocom will always have its home-town in-jokes.)&lt;/p&gt;
&lt;p&gt;Other than that stuff, this game runs pretty much like the previous Visible Infocom titles. Objects, functions, global variables, verb grammar. Enjoy browsing!&lt;/p&gt;
&lt;p&gt;I guess I should also note that &lt;em&gt;Deadline&lt;/em&gt; has &lt;em&gt;not&lt;/em&gt; been licensed as open source by Microsoft. So I am somewhat jumping the gun by taking the Visible Zorker to this milestone. But it's where I &lt;a href="https://blog.zarfhome.com/2025/01/the-visible-zorker"&gt;started&lt;/a&gt;, and it's what I said I would do. So we're doing it. I don't really expect problems; we're all fans here.&lt;/p&gt;
&lt;p&gt;More readings on &lt;em&gt;Deadline&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.filfre.net/2012/07/deadline/"&gt;The Digital Antiquarian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://golmac.org/deadline-there-is-a-bear-in-the-rosebush/"&gt;Drew Cook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bluerenga.blog/2022/04/01/deadline-1982/"&gt;Jason Dyer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;Upcoming work:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Visible Starcross&lt;/em&gt; will be the next public release on July 1st.&lt;/p&gt;
&lt;p&gt;Patreon supporters got access to &lt;em&gt;Visible Starcross&lt;/em&gt; a month ago, and &lt;em&gt;Visible Suspended&lt;/em&gt; today.&lt;/p&gt;
&lt;p&gt;Speaking of which, here's my &lt;a href="https://archive.org/details/Suspended_Map_Recreation"&gt;recreation of the Suspended map&lt;/a&gt;. And my &lt;a href="https://archive.org/details/Suspended-Infocom-Apple"&gt;high-res scans&lt;/a&gt; of the &lt;em&gt;original&lt;/em&gt; map and manual. &lt;/p&gt;
&lt;div class="ImageWrap ImageBorder Center"&gt;
&lt;p&gt;&lt;a href="https://archive.org/details/Suspended_Map_Recreation"&gt;&lt;img alt="A colorful diagrammatic map of the Underground Complex." height="225" src="https://blog.zarfhome.com/pic/2026/06/suspended-map.png" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I've decided not to skip June after all. &lt;a href="https://narrascope.org/"&gt;NarraScope&lt;/a&gt; is coming in on schedule; it hasn't required the last-minute burst of emergency work that I feared. So the monthly releases will remain on track. I'll tackle the next early-access game, &lt;em&gt;The Witness&lt;/em&gt;, as soon as the conference wraps up. Patreon supporters will see it on July 1st.&lt;/p&gt;
&lt;p&gt;See you next month!&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="deadline"/><category term="infocom"/><category term="visible zorker"/><category term="patreon"/><category term="zarf"/></entry><entry><title>Some games that happen to be all about music</title><link href="https://blog.zarfhome.com/2026/05/games-about-music" rel="alternate"/><published>2026-05-31T23:35:21+00:00</published><updated>2026-05-31T23:35:21+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-05-31:/2026/05/games-about-music</id><summary type="html">A musical city, a record store, and a 90s soundtrack album! Okay, and a Lovecraftian adventure game. Phonopolis Wax Heads Mixtape Call of the Elder Gods Now that I think about it, the Lovecraftian adventure has a puzzle where you control ...</summary><content type="html">&lt;p&gt;A musical city, a record store, and a 90s soundtrack album! Okay, and a Lovecraftian adventure game. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Phonopolis&lt;/li&gt;
&lt;li&gt;Wax Heads&lt;/li&gt;
&lt;li&gt;Mixtape&lt;/li&gt;
&lt;li&gt;Call of the Elder Gods&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now that I think about it, the Lovecraftian adventure has a puzzle where you control alien technology through musical resonance. &lt;em&gt;See. It all fits.&lt;/em&gt;&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;h2 id="phonopolis"&gt;Phonopolis&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Amanita Design -- &lt;a href="https://amanita-design.net/games/phonopolis.html"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An adorable animated puzzle-adventure game about a city ruled by sound.&lt;/p&gt;
&lt;p&gt;I almost said "tiny adventure game", because of course Amanita games are tiny. It's part of their charm, right? But in fact &lt;em&gt;Phonopolis&lt;/em&gt; is pretty substantial. I mean, it's not gigantic, but it's comparable to &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/12/adorable-little-games#keeper"&gt;Keeper&lt;/a&gt;&lt;/em&gt; or &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/12/late-fall-puzzle-games#mind-diver"&gt;Mind Diver&lt;/a&gt;&lt;/em&gt; (to name two games which I played recently and didn't call "small").&lt;/p&gt;
&lt;p&gt;I'd say &lt;em&gt;Phonopolis&lt;/em&gt; leans more towards the "puzzlebox" side of the genre than to puzzle games per se. The aesthetic is machinery that you don't know how it works. You play with the controls until you've done the right thing. Very often that's "make the machine explode messily and satisfyingly all over the place." Then you encounter a new weird machine.&lt;/p&gt;
&lt;p&gt;I'm not saying it's &lt;em&gt;not&lt;/em&gt; puzzly. You definitely have to pay attention to the game's reactions, think about where you're going, and put together consequences in the right order. And there are some mechanical puzzles that would be entirely at home in &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2024/07/replaying-riven"&gt;Riven&lt;/a&gt;&lt;/em&gt;. It's a mix.&lt;/p&gt;
&lt;p&gt;What I'm saying is that (a) if you feel stuck, it's because you haven't played around enough to see everything the machine can do. And (b) fairly often, when you discover the new thing it can do, it will complete the puzzle right there and leave you saying "Hey, what did I just do? Why did that &lt;s&gt;explode&lt;/s&gt; succeed?"&lt;/p&gt;
&lt;p&gt;Usually that's a bad reaction! You always want to understand the puzzle &lt;em&gt;after&lt;/em&gt; you solve it. But in &lt;em&gt;Phonopolis&lt;/em&gt; it didn't bother me. The fun is exploring all the weird little animations and reactions. If a scene wraps up unexpectedly, so what -- you get new toys to play with. Win!&lt;/p&gt;
&lt;p&gt;The toys are all modeled and hand-painted before being animated. It's a different style than &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2024/06/even-more-spring-games#harold-halibut"&gt;Harold Halibut&lt;/a&gt;&lt;/em&gt; -- krunkier, in a word -- but watching everything move is a joy. And everything moves. The main menu rattles as you move the mouse and collapses in a heap when you quit. It's all like that. Wonderful.&lt;/p&gt;
&lt;h2 id="wax-heads"&gt;Wax Heads&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Patattie Games -- &lt;a href="https://curvegames.com/our-games/wax-heads/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An adorable deduction-ish cartoon game about working in an indie record shop somewhere in Middle England. A customer comes into the shop and tells you what they're looking for, and then you flip through the stock and give them what they want. Or what they need -- not always the same thing.&lt;/p&gt;
&lt;p&gt;This isn't a iron-brained deduction game like &lt;em&gt;Golden Idol&lt;/em&gt;. Really, it's lighter than &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/09/post-equinox#strange-antiquities"&gt;Strange Antiquities&lt;/a&gt;&lt;/em&gt; was, and that wasn't particularly heavy. But it's not simplistic either. You'll find you need to think all over the record shop: sleeve art, reviewer comments, social media, the indie zine shelf. You wind up absorbing the backstory of several local bands, and then that turns out to matter.&lt;/p&gt;
&lt;p&gt;(The riffs on band and performer archetypes were all dead-on. They weren't send-ups of specific names like in &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2026/05/spring-id-games#birch-tree-theater"&gt;Birch Tree Theater&lt;/a&gt;&lt;/em&gt;, but they're still recognizable. I laughed.)&lt;/p&gt;
&lt;p&gt;In the end, it wasn't even about the puzzles. I was there for the character stories. Wax Heads is staffed by a coterie of queer nerds and alt-music-heads. They are all beautiful and I love them. The owner is an (equally great) cranky old lady, a refugee from a burned-out-not-faded-away 80s rock band. That turns out to matter too.&lt;/p&gt;
&lt;p&gt;I could have done without the Spotify subplot (on-the-nose but too easy a target). But the big finale show brought an unwonted tear to my eye. A bit of &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2023/10/summer-wowzers#stray-gods"&gt;Stray Gods&lt;/a&gt;&lt;/em&gt;-style dynamic musicologue, even, just to cement the game's place in my heart.&lt;/p&gt;
&lt;h2 id="mixtape"&gt;Mixtape&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Beethoven &amp;amp; Dinosaur -- &lt;a href="https://mixtape.game/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A reprise of 1990s high-school life as perceived through Stacey Rockford's headphones.&lt;/p&gt;
&lt;p&gt;Just like &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/09/bloom-and-rage"&gt;Bloom and Rage&lt;/a&gt;&lt;/em&gt;, and for that matter &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2021/09/recent-narrative-games-summer-2021#the-artful-escape"&gt;The Artful Escape&lt;/a&gt;&lt;/em&gt;, this is set in an era that I never visited, with a musical idiom that I don't know a thing about. I have never inhabited a world where "Wanna go sit under the power lines and get blackout drunk?" was a question that people asked. But now I have some idea what it was like.&lt;/p&gt;
&lt;p&gt;Our protagonists are a tide-locked trio of extremely different teens: the music devotee, the rebellious coddled kid, the stoner artiste. Not that they're limited to those cliches. The joy of the game is seeing their future selves flicker through the self-centered adolescent burn.&lt;/p&gt;
&lt;p&gt;Rockford, as she tells the camera up front, is on a beeline to New York to transform her musical hyper-consciousness into a career as a hotshot music producer. Her friends are not entirely keen on being thus ditched. But they are entirely united on the need to find some alcohol to bring to Camille Cole's illicit summer beach party. Can't roll up without booze, man.&lt;/p&gt;
&lt;p&gt;The game is -- yes -- a mix: a series of vignettes, each with its mood, mechanics, and (of course) soundtrack. (Rockford introduces each track to the viewer with the elan of a born radio-host-to-be.) Just like in &lt;em&gt;Artful Escape&lt;/em&gt;, the music underpins your acrobatics and puts you in the groove. But where &lt;em&gt;Artful Escape&lt;/em&gt; had a single move -- the high-flying guitar riff -- &lt;em&gt;Mixtape&lt;/em&gt; gives you everything from nighttime sneaking to a lazy day skipping stones to a furious rampage. You're never doing the same thing twice.&lt;/p&gt;
&lt;p&gt;Really, &lt;em&gt;Mixtape&lt;/em&gt; is the same plan as &lt;em&gt;&lt;a href="https://www.giantsparrow.com/games/finch/"&gt;What Remains of Edith Finch&lt;/a&gt;&lt;/em&gt;. (Did I really never review that one?) Except instead of recounting generations of Finches, the scenes recount a single (triple) high-school existence, disordered, in flashback. Even the "present" scenes are rendered in the exaggerated colors of memory; surely this is Rockford's adult reflection how How It Was. Kids on skateboards, outrunning cops and their onrushing future.&lt;/p&gt;
&lt;p&gt;The art is stylized and generally great. (Photorealism has been &lt;a href="https://www.techradar.com/computing/gpu/why-do-gamers-already-hate-dlss-5-here-are-3-key-reasons-and-why-history-suggests-nvidia-will-win-them-over-eventually"&gt;ruined&lt;/a&gt;, it just means slop now.) I admit that I'm getting tired of the low-frame-rate stop-motion effect. "Animation on twos" made me look smart the &lt;a href="https://blog.zarfhome.com/2025/05/spring-narrative-games#south-of-midnight"&gt;first time&lt;/a&gt; I mentioned it, but I can't keep doing that, can I? Anyhow I think this one is on threes. Just jerky. However, the portrayal of the glow in a Sharper Image &lt;a href="https://en.wikipedia.org/wiki/File:Plasma_globe_60th.jpg"&gt;plasma sphere&lt;/a&gt; was dead on, and I have to admit that's what counts.&lt;/p&gt;
&lt;p&gt;Usually when people refer to a game as "cinematic", they mean that the game knows the camera can move around during cut-scenes. &lt;em&gt;Mixtape&lt;/em&gt; is cinematic in that it's keenly interested in &lt;em&gt;what&lt;/em&gt; the camera is showing you. And how, and what the soundtrack (of course) does alongside. I can't remember the last time a game made me laugh at a &lt;em&gt;camera cut&lt;/em&gt; and &lt;em&gt;Mixtape&lt;/em&gt; does it twice. Okay, now it's &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2017/01/2017-igf-nominees-my-comments#virginia"&gt;Virginia&lt;/a&gt;&lt;/em&gt;, except instead of &lt;em&gt;Twin Peaks&lt;/em&gt; it's doing a 90s music-nerd &lt;em&gt;Sixteen Candles&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;(Non-romantic candles. Crushes lurk, unvoiced as deep-sea magma, but this is not a kissing game.) (When you get to the kissing scene you'll see what I mean.)&lt;/p&gt;
&lt;p&gt;Anyway: I laughed, I cheered, I gasped. I pushed the buttons and did all the things. I made a horrified noise when Rockford said &lt;em&gt;Brazil&lt;/em&gt; was the best movie of the 80s and her friends &lt;em&gt;hadn't seen it&lt;/em&gt;. That much was true to my life. As for the rest, it's still palpably awesome. Go play it.&lt;/p&gt;
&lt;p&gt;I don't think anybody names a year beyond "the 90s". Since this is my &lt;a href="https://blog.zarfhome.com/2024/06/even-more-spring-games#open-roads"&gt;schtick&lt;/a&gt;, I choose to believe that it's 1995, and the planned summer road trip (of course there's a road trip) will pick up two &lt;a href="https://blog.zarfhome.com/2014/12/gone-home-design-ruminations"&gt;teenage hitchhikers&lt;/a&gt; in Northern California. And then, you know, whatever happened to Kat.&lt;/p&gt;
&lt;h2 id="call-of-the-elder-gods"&gt;Call of the Elder Gods&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Out of the Blue Games -- &lt;a href="https://www.outbluegames.com/calloftheeldergods"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A followup to &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2021/01/four-or-five-recent-lovecraftians#call-of-the-sea"&gt;Call of the Sea&lt;/a&gt;&lt;/em&gt;, a Lovecraftian puzzle adventure that I quite enjoyed. &lt;em&gt;Sea&lt;/em&gt; wasn't the deepest-rooted exploration of cosmic-horror-minus-the-horror, but it landed the vibe. I enjoyed &lt;em&gt;Elder Gods&lt;/em&gt; too. It introduces two new viewpoint characters, both connected to the previous story, and sends them off to explore a mysterious jungle island, overwrought cultic basements, an alien city lost to the depths of time. And more!&lt;/p&gt;
&lt;p&gt;Early on, Game 2 lets you choose which of Game 1's major endings you got... or prefer. The story proceeds from either starting point. It's ballsy way to avoid the classic &lt;em&gt;Soul Reaver&lt;/em&gt; fumble. Norah, the protagonist of &lt;em&gt;Sea&lt;/em&gt;, is absent either way (for different reasons). But she is still palpably present, both as backstory and as the offscreen narrator.&lt;/p&gt;
&lt;p&gt;Mind you, she narrates the game with an ironic tone which I found a bit distracting. I kept expecting her to refer to the current protagonist as "&lt;a href="https://www.stanleyparable.com/"&gt;Stanley&lt;/a&gt;". Maybe that's just me.&lt;/p&gt;
&lt;p&gt;As with the previous game, the puzzles are numerous but consistently light-weight. They're meant to pace the story, not deadlock you. On the other hand, a lot of the story they're pacing is that you explore a place in search of the clues you need to solve the puzzle. (And absorb story background along with the clues.) So, a collectathon, when it comes down to the foundation.&lt;/p&gt;
&lt;p&gt;This lands a bit off-key sometimes. In several scenes, you reach a "Leave or continue exploring?" choice. This sort of winking fourth-wall break usually indicates a story's finale. I don't expect to see it at the end of a &lt;em&gt;scene&lt;/em&gt;. Here it doesn't mean "Finish your side quests", because this game has no side quests. It's a bare admission that they couldn't work all the background info into the story progression. They've just scattered it around the room. If you don't read it all before you leave, tough.&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;&lt;a href="https://blog.zarfhome.com/2023/12/a-few-narrative#the-invincible"&gt;The Invincible&lt;/a&gt;&lt;/em&gt; did something like this. But that had multiple story threads, past and present, so it felt okay to focus on some of them and not bother journal-scraping for the others. &lt;em&gt;Elder Gods&lt;/em&gt; isn't as successful; you really do want to read everything.)&lt;/p&gt;
&lt;p&gt;And the story? Not as satisfying as &lt;em&gt;Sea&lt;/em&gt;. Pretty good though.&lt;/p&gt;
&lt;p&gt;I think Harry and Evie were less palpably connected to cosmic strangeness. They had both been &lt;em&gt;touched&lt;/em&gt; by weird stuff, but their real involvement was second-hand. (Harry's wife, Evie's father.) Their stories didn't have the element of cosmic self-discovery that gave Norah's story in &lt;em&gt;Sea&lt;/em&gt; its kick.&lt;/p&gt;
&lt;p&gt;Still, there's plenty of weird stuff, rooted in Lovecraft's mythos but building in interesting directions. And plenty of ambivalence in the ending. In &lt;em&gt;Sea&lt;/em&gt; I was committed to one interpretation of Norah's story; the ending choice was an easy one. &lt;em&gt;Elder Gods&lt;/em&gt;, in contrast, gave me pause. And then, once I chose, it didn't try very hard to reassure me that I'd chosen correctly. A happy ending, to be sure, but just that little bit too pat.&lt;/p&gt;
&lt;p&gt;Maybe a trace of cosmic horror after all. But only if you want to see it.&lt;/p&gt;
&lt;p&gt;Content warning: literal Nazis. I am not 100% off games where you take down Nazis. (&lt;a href="https://blog.zarfhome.com/2025/01/recent-timekillers#indiana-jones-and-the-great-circle"&gt;Obviously&lt;/a&gt;!) But I don't need a lot more Nazi imagery in my life. Times being what they are. ("...Indifferent.")&lt;/p&gt;</content><category term="reviews"/><category term="phonopolis"/><category term="wax heads"/><category term="mixtape"/><category term="call of the elder gods"/></entry><entry><title>A brief digression into Infocom tie-in novels</title><link href="https://blog.zarfhome.com/2026/05/infocom-tie-ins" rel="alternate"/><published>2026-05-23T02:21:44+00:00</published><updated>2026-05-23T02:21:44+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-05-23:/2026/05/infocom-tie-ins</id><summary type="html">Last week someone passed around a link to a post: "Classic Zork Novels, Now in E-book Format!" That's right, it's another instalment of "Somehow, obscure Zork media returned"! This time we're stepping out of the digital realm and into the world ...</summary><content type="html">&lt;p&gt;Last week someone passed around a link to a post: "&lt;a href="https://www.reddit.com/r/zork/comments/1tbv4cb/classic_zork_novels_now_in_ebook_format"&gt;Classic Zork Novels, Now in E-book Format!&lt;/a&gt;"&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;That's right, it's another instalment of "Somehow, obscure Zork media returned"!&lt;/p&gt;
&lt;p&gt;This time we're stepping out of the digital realm and into the world of official Zork (and Zork adjacent) prose. Presented here are four novels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;The Lost City of Zork&lt;/em&gt; by Robin W Bailey&lt;/li&gt;
&lt;li&gt;&lt;em&gt;The Zork Chronicles&lt;/em&gt; by George Alec Effinger&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Enchanter&lt;/em&gt; by Robin W Bailey&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Wishbringer&lt;/em&gt; by Craig Shaw Gardner&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to the work of dedicated fans, these books have been available as scanned pages for many years in places like The Internet Archive. But with advances in OCR tools, it was now possible for me to convert these pages back into editable text with no compromise to accuracy.&lt;/p&gt;
&lt;p&gt;-- PaulloDEC, &lt;a href="https://www.reddit.com/r/zork/comments/1tbv4cb/classic_zork_novels_now_in_ebook_format"&gt;May 13th&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;See the post for download links. PaulloDEC has now followed up with &lt;a href="https://www.reddit.com/r/zork/comments/1tgehky/zork_gamebooks_now_available_as_ebook_downloads/"&gt;downloads of the four Zork-themed gamebooks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So, this is convenient. These aren't rare books. As the post says, you can easily find scans of them (e.g. &lt;a href="https://archive.org/details/lostcityofzork0000bail"&gt;here&lt;/a&gt;). The used paperbacks are also not too hard to track down. I have &lt;em&gt;Wishbringer&lt;/em&gt; and &lt;em&gt;The Zork Chronicles&lt;/em&gt; on my shelves. But &lt;code&gt;.epub&lt;/code&gt; files are easier to tote around.&lt;/p&gt;
&lt;p&gt;The post got me looking at the books again, though. They're rather puzzling artifacts.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;p&gt;The gamebooks aren't that surprising. They were written in 1983, a time when Infocom games were really popular, and Choose-Your-Own-Adventure-TM books were really popular, so why not do some knock-offs and see if they sell? (I have no idea if they sold.) They were written in-house by Steve Meretzky and published by Tor Books.&lt;/p&gt;
&lt;p&gt;Digression from the digression: Tor was a young company (the same age as Infocom!), but it had launched with star power in both its editorial staff and its initial author lineup. Just to name a couple, they had Gene Wolfe, Orson Scott Card, and a promising newcomer who went by Robert Jordan. It seems they were happy to take on some smaller fry as well.&lt;/p&gt;
&lt;p&gt;Again, I don't know what the sales figures looked like, but Infocom didn't follow up with any more gamebooks after the four Zork titles. So it's a fair guess that sales were tepid.&lt;/p&gt;
&lt;p&gt;The books themselves are, let's say, workmanlike. Or maybe the later ones are really good! No, probably not. I confess that I've barely flipped through them. &lt;/p&gt;
&lt;p&gt;Even more disgression: The first gamebook mentions the "Three Palantirs of Zork". (The three crystal spheres in &lt;em&gt;Zork 2&lt;/em&gt; are referred to as "palantirs" in the source code, but the game never says the word out loud.) This mostly indicates that the books weren't notable enough for the Tolkien estate to sue over.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;The novels, on the other hand, are way more interesting.&lt;/p&gt;
&lt;p&gt;Timing, for a start. Here's the full list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://archive.org/details/planetfall00cove"&gt;Planetfall&lt;/a&gt;&lt;/em&gt;, Arthur Byron Cover, 1988&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://archive.org/details/wishbringer0000gard"&gt;Wishbringer&lt;/a&gt;&lt;/em&gt;, Craig Shaw Gardner, 1988&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Enchanter&lt;/em&gt;, Robin Wayne Bailey, 1989 (no scan online)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://archive.org/details/stationfall0000cove"&gt;Stationfall&lt;/a&gt;&lt;/em&gt;, Arthur Byron Cover, 1989&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://archive.org/details/zorkchronicles0000effi"&gt;The Zork Chronicles&lt;/a&gt;&lt;/em&gt;, George Alec Effinger, 1990&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://archive.org/details/lostcityofzork0000bail"&gt;The Lost City of Zork&lt;/a&gt;&lt;/em&gt;, Robin Wayne Bailey, 1991&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As you see, the two &lt;em&gt;Zork&lt;/em&gt; tie-in books shipped after Infocom had dissolved entirely -- and well before Activision brought the brand back with &lt;em&gt;Return to Zork&lt;/em&gt;. Curious!&lt;/p&gt;
&lt;p&gt;The novelization project must have kicked off in 1986 or 1987. At that point, Infocom was in financial straits and had been acquired by Activision. It seems certain that the books were a flailing attempt to find more revenue &lt;em&gt;somewhere&lt;/em&gt;. But unlike with the gamebooks, the original Infocom crew doesn't seem to have been involved at all. Other than a &lt;a href="https://invisiclues.org/library/sl-new-books-planetfall-wishbringer"&gt;1988 press release&lt;/a&gt; in the Status Line newsletter, I can't find any discussion of the novels in Infocom memos or internal discussion. (If you find something in the &lt;a href="https://archive.org/details/infocomcabinet"&gt;Cabinet&lt;/a&gt; that I missed, let me know!)&lt;/p&gt;
&lt;p&gt;My assumption is that Activision set up a deal for six books in three years (or two a year with options to continue), and that's how long it ran. The shutdown of the Infocom office wouldn't have factored in.&lt;/p&gt;
&lt;p&gt;As to the authors... the &lt;a href="https://invisiclues.org/library/sl-new-books-planetfall-wishbringer"&gt;Status Line article&lt;/a&gt; says "new novels by leading authors", which is a stretch. &lt;a href="https://www.isfdb.org/cgi-bin/ea.cgi?1406"&gt;Craig Shaw Gardner&lt;/a&gt; and &lt;a href="https://www.isfdb.org/cgi-bin/ea.cgi?1403"&gt;Robin Wayne Bailey&lt;/a&gt; were newcomers with a couple of readable but not groundbreaking fantasy novels each. &lt;a href="https://www.isfdb.org/cgi-bin/ea.cgi?480"&gt;Arthur Byron Cover&lt;/a&gt; had a few more years of publication history but was definitely not a big name. On the other hand, all three had done tie-in or shared-world work; they were clearly happy to crank out words to spec in somebody else's playground.&lt;/p&gt;
&lt;p&gt;Oh, but then there was &lt;a href="https://www.isfdb.org/cgi-bin/ea.cgi?201"&gt;George Alec Effinger&lt;/a&gt;, the genuine star of the list. His debut novel &lt;em&gt;&lt;a href="https://archive.org/details/whatentropymeans0000geor"&gt;What Entropy Means to Me&lt;/a&gt;&lt;/em&gt; (1972) had earned a Nebula nomination out of the gate. The following years had produced a string of offbeat, absurdist stories in a deadpan style which drew critical if not mainstream attention. I discovered Effinger in high school with &lt;em&gt;&lt;a href="https://archive.org/details/heroics00effi"&gt;Heroics&lt;/a&gt;&lt;/em&gt;, in which a senior citizen is assigned a professional supernatural guide and dragged across post-civilizational America to complete her collection of &lt;a href="https://en.wikipedia.org/wiki/Depression_glass"&gt;twentieth-century Depression glass&lt;/a&gt;. The Great Plains have been Teflon-coated. ("So that nothing would stick to them.") Shoulda been as famous as &lt;em&gt;Hitchhiker's&lt;/em&gt;, as far as I was concerned.&lt;/p&gt;
&lt;p&gt;Effinger had just landed his mainstream breakout with &lt;em&gt;&lt;a href="https://archive.org/details/whengravityfails00effi"&gt;When Gravity Fails&lt;/a&gt;&lt;/em&gt; (1987), a thriller about a brain-hacked gumshoe named Marîd Audran. It was cyberpunk with a North-African, Arab-Futurist tilt; it made a splash. Effinger was busy turning that hit into a trilogy. Why would he step off the escalator of success to do a videogame tie-in?&lt;/p&gt;
&lt;p&gt;As an on-ramp to the videogame industry, perhaps. &lt;em&gt;The Zork Chronicles&lt;/em&gt; is dedicated (in part):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To Rob Sears of Infocom, and Brett Sperry, Mike Legg, and the rest of the gang at Westwood Associates, who have made my own Infocom game, &lt;em&gt;Circuit’s Edge&lt;/em&gt;, a reality.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Again, a bit of a stretch. "Infocom" by that point was a brand name in Activision's portfolio. &lt;em&gt;&lt;a href="https://www.mobygames.com/game/247/circuits-edge/"&gt;Circuit's Edge&lt;/a&gt;&lt;/em&gt; wasn't a text adventure at all. It was a graphical RPG, set in the same Marîd Audran continuity as the cyberpunk trilogy. &lt;a href="https://www.stayforever.de/circuits-edge-a-conversation-with-michael-legg/"&gt;This interview&lt;/a&gt; notes that Effinger was deeply involved in the design and writing, despite not being a gamer or a computer nerd (at least not at that point).&lt;/p&gt;
&lt;p&gt;I'm afraid I never played &lt;em&gt;Circuit's Edge&lt;/em&gt;. I preferred Effinger's older stuff to the brutal and cynical Audran books, and the idea of a combat-heavy RPG didn't really appeal. Nonetheless, I was glad to see that the game existed and the author was making some money off of it.&lt;/p&gt;
&lt;p&gt;But back to &lt;em&gt;The Zork Chronicles&lt;/em&gt;. I wouldn't be at all surprised if Effinger took on the project for the sheer fun of it. It was an opportunity to go back to his absurdist roots. Mirakles of the Elastic Tendon (the Adventurer's most &lt;a href="https://www.mocagh.org/infocom/zorkps-alt.jpg"&gt;barbarian&lt;/a&gt;-esque iteration) meets up with Glorian of the Knowledge, the shape-changing supernatural guide from &lt;em&gt;Heroics&lt;/em&gt; and &lt;em&gt;What Entropy Means to Me&lt;/em&gt;. In fact the whole project is less a Zork novel than a few Zork characters and familiar scenery transplanted into Effinger's peculiar and whimsical world.&lt;/p&gt;
&lt;p&gt;Also there's a great quantity of very bad computer puns. (The Dipped Switch, the Scroll Lock, and alas more.) If Effinger came up with those, it's because he read a lot of microcomputer manuals in a hurry and then decided to share the pain.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;After all that, what really confused me was the title page.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/05/zchron-title.jpeg"&gt;&lt;img alt="The title page of a paperback book. &amp;quot;George Alec Effinger / The Zork Chronicles / A Byron Preiss Book / An Infocom Book / Avon Books, New York&amp;quot;" height="690" src="https://blog.zarfhome.com/pic/2026/05/zchron-title-s.jpeg" width="400" /&gt;&lt;/a&gt;
The title page of &lt;em&gt;The Zork Chronicles&lt;/em&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I set off on this road trip with one question: who owns the rights to these books? (I hope you're not disappointed at finding such a pedantic issue at the end of all these circuitous, or circuits'-edge-ous, digressions!) But that page doesn't really clear anything up, does it? This Effinger book is an Infocom book &lt;em&gt;and&lt;/em&gt; a Byron Preiss book &lt;em&gt;and&lt;/em&gt; it's from Avon Books.&lt;/p&gt;
&lt;p&gt;Better check the copyright page:&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/05/zchron-copyright.jpeg"&gt;&lt;img alt="The copyright page of a paperback book. &amp;quot;ZORK: THE NOVEL is an original publication of Avon Books.... Copyright 1990 by Byron Preiss Visual Publications.&amp;quot;" height="668" src="https://blog.zarfhome.com/pic/2026/05/zchron-copyright-s.jpeg" width="400" /&gt;&lt;/a&gt;
The copyright page of &lt;em&gt;The Zork Chronicles&lt;/em&gt;, and also my thumb.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;That's straightforward: the novel's copyright is owned by Byron Preiss Visual Publications.&lt;/p&gt;
&lt;p&gt;Why, though? For a tie-in novel, you'd generally expect the rights to be owned by the company that licensed the work. Those Zork gamebooks from 1984 all say "Copyright Infocom, Inc." Star Trek novels of the era say "Copyright Paramount Pictures". The X-COM novel I've got (don't laugh, it's Diane Duane) says "Copyright MicroProse". And so on. It's work for hire, and the company does the hiring. Only not in this case.&lt;/p&gt;
&lt;p&gt;At first glance, I thought Byron Preiss Visual Publications was the publisher. But that's clearly wrong. The publisher is Avon Books, an old-school publisher of genre paperbacks. Mostly romance (that's where the money was and still is) but back then Avon had a well-established sideline in sci-fi and fantasy. They were clearly in charge of the book's layout; they reserved the back flyleaf as an ad for Avon's then-big series launch, Roger Zelazny's Second Amber Chronicles.&lt;/p&gt;
&lt;p&gt;(To be sure, the back flyleaf of the &lt;em&gt;Wishbringer&lt;/em&gt; novel is an ad for &lt;em&gt;Planetfall&lt;/em&gt;.)&lt;/p&gt;
&lt;p&gt;So if Byron Preiss was not the author, licensor, or publisher, what was his role? The best explanation I've found is from an article "&lt;a href="https://ore.exeter.ac.uk/articles/journal_contribution/The_Strange_Case_of_Byron_Preiss_Visual_Publications/29748458"&gt;The Strange Case of Byron Preiss Visual Publications&lt;/a&gt;" (PG Williams, &lt;em&gt;Journal of American Studies&lt;/em&gt;, 2019). (The &lt;a href="https://doi.org/10.1017/S0021875818001494"&gt;magic citation thingie&lt;/a&gt; says "2021", I don't know why.)&lt;/p&gt;
&lt;p&gt;The article is primarily about Preiss's adventures in the comics industry in the late 1970s. It doesn't mention Infocom or gaming at all. However, it begins:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Between 1976 and 1979 Byron Preiss operated as a book packager specializing in graphic novels, bringing comics creators together on original stories and licensed properties and delivering the finished product to publishing houses.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Further explanation from the article:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;These agents, known as “book packagers,” would generate ideas for authors and bring writers, studios, and fashionable subjects into conversation. Packagers could have a book’s licensing rights finalized before the first draft was finished – in some cases, before writing had begun.&lt;/p&gt;
&lt;p&gt;[...] BPVP brought comics creators together to deliver books to publishing houses as
finished packages. Preiss sometimes wrote these books himself, or he paired up writers and artists, or he bought the rights to creative properties that other creators developed under his editorial control. Preiss operated as a book packager and not a self-publisher on the basis that if you only published a few books at a time, the resources invested were not likely to recoup adequate profit; he pursued multiple projects simultaneously...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In other words, Preiss ran a sort of middleman empire, setting up a whirlwind of deals -- and somehow having all the rights land in his pocket. It seems sketchy to me, but hey, I wasn't in the business. And he did get a lot of books published.&lt;/p&gt;
&lt;p&gt;The article focuses on Preiss's ambition to legitimize "graphic novels", and the reaction of comics fandom to this new and opinionated player. Preiss apparently annoyed a lot of people.&lt;/p&gt;
&lt;p&gt;It's also worth noting that the Infocom deal wasn't Preiss's first contact with the game industry. Under the label Byron Preiss Video Productions, he worked with Trillium/Telarium and Windham Classics to produce &lt;a href="https://www.mobygames.com/company/4630/byron-preiss-video-productions-inc/"&gt;adventure-game adaptions&lt;/a&gt; of four books.&lt;/p&gt;
&lt;p&gt;To digress even further (hey, this is the fun stuff): Preiss had attempted to get in on the &lt;em&gt;Masquerade&lt;/em&gt; treasure-hunt craze. &lt;em&gt;&lt;a href="https://bpreiss.com/secret.html"&gt;The Secret&lt;/a&gt;&lt;/em&gt; (1982) presented itself as an illustrated encyclopedia of modern Faerie. (The artists included then-newcomer &lt;a href="https://butlerart.com/exhibits/john-jude-palencar/"&gt;John Jude Palencar&lt;/a&gt;, now a big-name SF illustrator.) The book was supposed to clue the location of twelve treasure-boxes around the US. Apparently only three have been found -- one as recently as &lt;a href="https://northendwaterfront.com/2019/10/north-ends-baseball-fields-are-site-the-secret-treasure-hunt/"&gt;2019&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Whew! Okay, back to the question.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;So where are they now?&lt;/h3&gt;
&lt;p&gt;George Alec Effinger suffered life-long health problems. He died in 2002 in his beloved home town of New Orleans. (The Budayeen, Marîd Audran's home turf, apparently draws as much from the French Quarter as from the Middle East.)&lt;/p&gt;
&lt;p&gt;The other three authors of the Infocom novels are still around, as far as I know. So is Steve Meretzky. Apparently Meretzky was even at &lt;a href="https://blog.zarfhome.com/2026/03/twine-zork-gdc"&gt;GDC 2026&lt;/a&gt;, although I didn't catch him there.&lt;/p&gt;
&lt;p&gt;Byron Preiss was &lt;a href="https://icv2.com/articles/comics/view/7160/in-memoriam-byron-preiss"&gt;killed&lt;/a&gt; in a &lt;a href="https://www.cbr.com/publisher-byron-preiss-dead-at-the-age-of-52/"&gt;car accident&lt;/a&gt; in Long Island in 2005. His multifarious publication businesses were all apparently a one-man show; they did not survive his death. His widow &lt;a href="https://icv2.com/articles/comics/view/8272/ibooks-byron-preiss-visual-publications-file-chapter-7"&gt;announced in 2006&lt;/a&gt; that BPVP was filing for Chapter 7 bankruptcy. The company assets would be sold to pay off creditors.&lt;/p&gt;
&lt;p&gt;So who got them? I expected this to require a tedious legal trawl, but in fact the &lt;a href="https://www.comicsbeat.com/boylston-acquires-preiss-assets/"&gt;answer&lt;/a&gt; turned up on the first web search. (The open web: not yet entirely &lt;a href="https://techcrunch.com/2026/05/19/google-search-as-you-know-it-is-over/"&gt;destroyed&lt;/a&gt;!) &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;J. Boylston, Publishers, announces the acquisition of the companies owned by the late Byron Preiss. Ibooks, the trade publishing house known for its extensive backlist titles in science fiction, fantasy, history, popular culture, and military nonfiction will continue its publishing program of bringing new and solid titles to the marketplace. Readers of notable authors as Isaac Asimov, Roger Zelazny, Stan Lee, John Betancourt, and Chris Beakey will enjoy new and familiar favorites as the company develops its rich backlist while presenting a new generation of writers to booksellers.&lt;/p&gt;
&lt;p&gt;-- &lt;a href="https://www.comicsbeat.com/boylston-acquires-preiss-assets/"&gt;Press release, December 2006&lt;/a&gt;, via ComicsBeat&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The ComicsBeat article notes that the sale price was $125,000, which "seems low given the number of contracts Preiss had – numbering in the thousands." Here's &lt;a href="https://www.pipelinecomics.com/blacksad-ibooks-byron-preiss/"&gt;another article&lt;/a&gt; saying the same. However, it's likely that most of those contracts had expired or reverted.&lt;/p&gt;
&lt;p&gt;I should explain that the typical book contract has a reversion clause. If the publisher allows the book to go out of print, they lose the publication rights. The author (or copyright holder) is then free to seek out another publisher or self-publish the book.&lt;/p&gt;
&lt;p&gt;Preiss must have had some good sellers, on the sheer numbers. But I can't imagine that the Infocom titles were high on the list. They must have gone out of print (with Avon) almost immediately. And then they sat in Preiss's closet, unused. I don't know if Preiss's deals with the &lt;em&gt;authors&lt;/em&gt; were still in force, but it's a moot point if the books weren't being sold.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ibooksinc.com/"&gt;J. Boylston &amp;amp; Co&lt;/a&gt; still exists. They've got a web site up as &lt;a href="https://ibooksinc.com/"&gt;ibooksinc.com&lt;/a&gt;. ("IBooks", with varying capitalization, was another brand that Boylston picked up from the Preiss estate.) The site even still lists &lt;a href="https://ibooksinc.com/imprints/bpvp/index.html"&gt;Byron Preiss Visual Publications&lt;/a&gt; as an imprint. The titles number in the hundreds, though, not thousands. And the Preiss portfolio is rather scattered, with only a few listed directly under "&lt;a href="https://ibooksinc.com/imprints/bpvp/index.html"&gt;BPVP&lt;/a&gt;".&lt;/p&gt;
&lt;p&gt;Alfred Bester, Roger Zelazny, Isaac Asimov, and Tanith Lee are proudly featured on the site. As is &lt;em&gt;The Secret&lt;/em&gt;, the treasure-hunt extravaganza. Arthur Byron Cover, Craig Shaw Gardner, Robin Wayne Bailey, and George Alec Effinger are not to be found.&lt;/p&gt;
&lt;p&gt;No, wait, a Bailey fantasy trilogy called "Dragonkin" is listed. Go him. &lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;So that's where we stand. A brief experiment in IF novelization, abandoned and left to evaporate in the sun. Feel free to download the books off the &lt;a href="https://www.reddit.com/r/zork/comments/1tbv4cb/classic_zork_novels_now_in_ebook_format"&gt;links&lt;/a&gt; &lt;a href="https://www.reddit.com/r/zork/comments/1tgehky/zork_gamebooks_now_available_as_ebook_downloads/"&gt;above&lt;/a&gt;; nobody's watching.&lt;/p&gt;
&lt;p&gt;I doubt anybody is all that excited to read them. I plowed through &lt;em&gt;Wishbringer&lt;/em&gt; this week. Skimmed through it, I should say, with grim tenacity. The writing wasn't &lt;em&gt;bad&lt;/em&gt;, but it was, well, cutesy. The game characters and scenery were, honestly, well done. Gardner clearly thought about them and came up with his own takes, neither slavish nor unrecognizable. Still, a slog.&lt;/p&gt;
&lt;p&gt;Even &lt;em&gt;The Zork Chronicles&lt;/em&gt; -- for all my admiring comments about Effinger's writing -- defeats me. I've read it in bits but never all the way through. Effinger can do cutesy and make me like it. But he can't make the Topiary Garden (Zork 2) or the Scenic Vista (Zork 3) more interesting than they were the first time. And the puns, yeesh.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;"Above The Powers That Be is the Autoexec," explained Glorian. "Above the Autoexec is the Control Character. No one I ever know has ever seen the Control Character. A lot of us Association members even think he's a myth. I mean, a non-existent myth, not like the real myths the rest of us are."&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;See? Simultaneously adorable and grating. And that's if you're &lt;em&gt;into&lt;/em&gt; Effinger's stuff. He's at his best when he can spin off into unexpected tangent after unexpected tangent. The prescriptive rote of Zork IP just weighs him down.&lt;/p&gt;
&lt;p&gt;Still, it's a part of Infocom history.&lt;/p&gt;
&lt;p&gt;Hey, the ibooks site lists a contact address for "Media rights inquiries". Should I... hmmm... maybe I will.&lt;/p&gt;
&lt;p&gt;More news if I get a reply.&lt;/p&gt;</content><category term="infocom"/><category term="zork"/><category term="byron preiss"/><category term="george alec effinger"/><category term="arthur byron cover"/><category term="craig shaw garder"/><category term="robin wayne bailey"/><category term="books"/></entry><entry><title>Titanium Court</title><link href="https://blog.zarfhome.com/2026/05/titanium-court" rel="alternate"/><published>2026-05-20T01:29:06+00:00</published><updated>2026-05-20T01:29:06+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-05-20:/2026/05/titanium-court</id><summary type="html">Titanium Court is a stylized match-3 battle game in which you are possibly kidnapped by fairies. I loved it and I didn't like it. I mean, I didn't like playing it. I loved the game. It's doing two things. (Two big things. An infinite number ...</summary><content type="html">&lt;p&gt;&lt;em&gt;&lt;a href="https://store.steampowered.com/app/2364580/Titanium_Court/"&gt;Titanium Court&lt;/a&gt;&lt;/em&gt; is a stylized match-3 battle game in which you are possibly kidnapped by fairies. I loved it and I didn't like it. I mean, I didn't like &lt;em&gt;playing&lt;/em&gt; it. I loved the &lt;em&gt;game&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It's doing two things. (Two big things. An infinite number of tiny things.)&lt;/p&gt;
&lt;p&gt;One big thing is to build a narrative game on top of an RTS/autobattler on top of a match-3. All of these mechanics are coupled. Throupled? You arrange your battlefield by making groups of three tiles disappear; this also gains you resources, with which you buy units. Winning battles (or losing them) advances the storyline, as does exploration and dialogue; but you also occasionally take a shower, which is a match-3 grid of soap, water, and introspection.&lt;/p&gt;
&lt;p&gt;The other big thing is to tell a story in you go to fairyland. I mean &lt;em&gt;you&lt;/em&gt;, the person reading this review. Not "the protagonist" or "Wendy Darling" or "Alice". Not me -- I already went and came back. You.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;People are always being snatched away to fairyland to learn some valuable lesson about themself or life. Okay, not always. Alice and Wendy are bad examples. Instead think &lt;em&gt;Labyrinth&lt;/em&gt; or &lt;em&gt;Groundhog Day&lt;/em&gt; or the TARDIS (modern era). The &lt;em&gt;Divine Comedy&lt;/em&gt;, if you're middle-aged. It's an entirely familiar pattern. And since &lt;em&gt;Titanium Court&lt;/em&gt; is a game, it's couched in the (entirely familiar) second-person language of adventure games: you discover a castle, you enter the gates, you sit at the table and eat fairy-fruit.&lt;/p&gt;
&lt;p&gt;(It doesn't say "fairy-fruit", so you don't notice. I didn't notice.)&lt;/p&gt;
&lt;p&gt;So fairyland offers you a whole storyline about changing your life, deciding what you need, choosing your axioms. It's all very metaphorical. It's done up in &lt;em&gt;Midsummer Night's Dream&lt;/em&gt; by way of so many fourth-wall breaks that you could build a new proscenium out of the rubble. Fine. Good solid stuff.&lt;/p&gt;
&lt;p&gt;Only gradually do you catch on that the protagonist is negative space. I don't mean in the usual &lt;a href="https://www.ifwiki.org/AFGNCAAP"&gt;AFGNCAAP&lt;/a&gt; sense -- that's a way for you, the generic "you", to put yourself in an adventure that's &lt;em&gt;not&lt;/em&gt; about you. &lt;em&gt;Titanium Court&lt;/em&gt; &lt;em&gt;is&lt;/em&gt; about you; it's all about you; but the only "you" available is... you. What do &lt;em&gt;you&lt;/em&gt; want from your life?&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/05/tc-baseball.png"&gt;&lt;img alt="A screenshot showing a grid of terrain rendered in pixelated blue, magenta, green, and yellow. Below the map is an inset showing a baseball player swinging at a ball. To one side is a resource chart. Magenta curtains frame the screen." height="339" src="https://blog.zarfhome.com/pic/2026/05/tc-baseball-s.png" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Is it baseball? It might be baseball.&lt;/p&gt;
&lt;p&gt;These completely standard game-narrative tropes are stuck together in such an obvious way that it took me half the game to realize that they don't make &lt;em&gt;any&lt;/em&gt; sense together. The sense that they do not make is the illogic of fairyland. It's kind of brilliant.&lt;/p&gt;
&lt;p&gt;(I think this is what &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/03/wanderstop"&gt;Wanderstop&lt;/a&gt;&lt;/em&gt; was groping for and absolutely could not find because Davey Wreden thought it was a game about &lt;em&gt;him&lt;/em&gt;.)&lt;/p&gt;
&lt;p&gt;I really enjoyed... thinking about &lt;em&gt;Titanium Court&lt;/em&gt;. I enjoyed being surprised by &lt;em&gt;Titanium Court&lt;/em&gt;, which happened repeatedly. I enjoyed the jokes and the clowns. I enjoyed discovering all the wacky variations it throws at the "match-3 battlefield" premise.&lt;/p&gt;
&lt;p&gt;I didn't particularly enjoy &lt;em&gt;playing&lt;/em&gt; &lt;em&gt;Titanium Court&lt;/em&gt;. RTS combat isn't my thing. Match-3 actively bores me. I put in about six hours total, drilling for the mad little scenes with Robin or Puck. Everything in between left me feeling irritably dissatisfied with the time I'd just spent.&lt;/p&gt;
&lt;p&gt;But that's fine! Because one of the questions the game asks is &lt;em&gt;how much effort do you want to spend on this.&lt;/em&gt; By the time I'd put in six hours, I found four &lt;em&gt;&lt;code&gt;(spoiler)&lt;/code&gt;&lt;/em&gt; and had the option to use them. The game asked me, very directly, if I was done playing; if that was all I wanted out of &lt;em&gt;Titanium Court&lt;/em&gt;. Yes, I said, I'm done. So I rolled the credits.&lt;/p&gt;
&lt;p&gt;I know there's &lt;em&gt;enormously&lt;/em&gt; more to the game that I never saw. There's way more than four &lt;em&gt;&lt;code&gt;(spoiler)&lt;/code&gt;&lt;/em&gt; to be found. Plus I only did three &lt;em&gt;&lt;code&gt;(spoiler)&lt;/code&gt;&lt;/em&gt; of I think thirteen. That's all fine. What I wanted from the game was a way out, and it offered me one with grace and compassion and not a hint of disdain. I took it and didn't look back.&lt;/p&gt;
&lt;p&gt;I highly recommend taking a look -- whatever you want.&lt;/p&gt;
&lt;p&gt;Very minor footnote: The game nearly uses the color palette of &lt;a href="https://www.mobygames.com/game/878/exodus-ultima-iii/screenshots/apple2/178212/"&gt;Apple 2 hi-res graphics&lt;/a&gt; (blue, green, magenta, yellow instead of orange). &lt;em&gt;But&lt;/em&gt; it uses them in impossible combinations -- characters are detailed in blue and magenta, which cannot exist side-by-side on the Apple. This left me with a sense of ineffable disorientation which pervaded the entire game and which, yes, I might be totally making this up, I have no idea if AP Thomson was an Apple 2 nerd, but it's the kind of thing &lt;em&gt;Titanium Court&lt;/em&gt; leaves me wondering.&lt;/p&gt;</content><category term="reviews"/><category term="titanium court"/></entry><entry><title>That firefighting game I played in Toronto</title><link href="https://blog.zarfhome.com/2026/05/firefighting" rel="alternate"/><published>2026-05-10T01:57:06+00:00</published><updated>2026-05-10T01:57:06+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-05-10:/2026/05/firefighting</id><summary type="html">"What is the first computer game that you played?" One of those social forum threads which is really about reader demographics rather than games. Still, I tried to remember. No, my answer wasn't Adventure. I played Adventure in '79 or so -- ...</summary><content type="html">&lt;p&gt;"What is the first computer game that you played?" One of those social forum threads which is really about reader demographics rather than games. Still, I tried to remember.&lt;/p&gt;
&lt;p&gt;No, my answer wasn't &lt;em&gt;Adventure&lt;/em&gt;. I played &lt;em&gt;Adventure&lt;/em&gt; in '79 or so -- but before that, I probably ran into &lt;em&gt;Oregon Trail&lt;/em&gt; or &lt;em&gt;Lemonade Stand&lt;/em&gt; or one of those other BASIC games on a school PET machine. And I definitely played one of the &lt;em&gt;Star Trek&lt;/em&gt; variants on a neighbor's Apple 2 (not a II+, this was way early). &lt;/p&gt;
&lt;p&gt;But there's also a game that I played at the Ontario Science Center in... man, I really don't remember when. Certainly 1980 or earlier. It might have been before or after my initiation into &lt;em&gt;Adventure&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I will describe the game. You tried to contain a firest fire. The game was built in an arcade-like cabinet, but it was not a commercial arcade game. You had a graphical map of a forest, done in colored ASCII art. You had a cursor controlled by d-pad-style buttons. There was an info display showing wind speed and direction.&lt;/p&gt;
&lt;p&gt;A fire got started. (One red square!) You had to control the spread. Your tools were water-bombs -- very limited supply -- and setting back-fires. Maybe you could drop firefighters as well; I don't remember.&lt;/p&gt;
&lt;p&gt;I do remember that if you were fast and lucky, you could bang the cursor over to the initial spark and water-bomb it before it spread. That was the ideal outcome. Otherwise, things got out of control real fast. I didn't grasp the scenario well enough to use backfires effectively, but I understood the cheese-it solution.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;Come to think of it, I must have played Apple 2 games by then. Because I was clueful enough to recognize that it was &lt;em&gt;not&lt;/em&gt; running on an Apple; the Apple couldn't do color-blocks mixed with text like that.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I'll dispense with the tension up front: this game has been identified. Not &lt;em&gt;found&lt;/em&gt; -- it's unlikely that the original version survives anywhere. But someone recalls it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I am replying to a 13-year-old message, I know, I know, but still, for the record:&lt;/p&gt;
&lt;p&gt;The game in question was built to the extent of two or possibly three machines. They used an S-100 computer, likely using a Z80, and a custom graphics display that had originally been designed to run the TTC's Downsview control room. They were placed in a custom cabinet using OSC's unique push-buttons (remember the red rubbery tops?) The game used a cellular automata, like Conway's Life, to model the spread of the fire.&lt;/p&gt;
&lt;p&gt;The machines stayed with the OSC for years and one of them was taken on the road with their show that visited schools. The last I heard is that one of them ended up in the Firefighting Museum in Sault, but I have never heard back from them.&lt;/p&gt;
&lt;p&gt;So no, it's not the DOS game, it was all custom and actually pre-dates DOS.&lt;/p&gt;
&lt;p&gt;-- maurymarkowitz, &lt;a href="https://www.reddit.com/r/tipofmytongue/comments/cd99w/tomt_forest_fire_fighting_simulation_early_80s/"&gt;reddit thread, 3 Feb 2023&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There's no name for the game; it might not have &lt;em&gt;had&lt;/em&gt; a name. I don't think it had a splash screen or anything like that. But that was definitely it.&lt;/p&gt;
&lt;p&gt;As the thread notes, there was a later DOS game called &lt;a href="https://www.mobygames.com/game/28249/fire-fighter/"&gt;Fire Fighter&lt;/a&gt; (Eben Sprinsock, 1985) which was similar. Possibly close enough to have been directly inspired by the Toronto original? You can &lt;a href="https://archive.org/details/msdos_Fire_Fighter_1985"&gt;play the DOS game&lt;/a&gt; at Archive.org.&lt;/p&gt;
&lt;p&gt;Interestingly, the DOS game is turn-based but the original was definitely real-time. Or at least real-ish time. &lt;/p&gt;
&lt;p&gt;maurymarkowitz continues:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Found my notes, such as they are:&lt;/p&gt;
&lt;p&gt;The company was called United Technologies International, or UTI. Bunch of former UofWaterloo people most of whom ended up in the GTA or Ottawa (back when that was a big tech hub!). Their first machine used three 8080, one for a CPU, another for a disk controller, and a third for the graphics.&lt;/p&gt;
&lt;p&gt;The two game machines were built in 78 or 79. They used a single 8080 running CP/M, but I suspect there might have been a second for the graphics even though it had only one display. When I first saw them they were side-by-side in the Communications area where the PDP-11 used to be. Many years later (late 80s I think) I saw one had been moved upstairs into the Natural Resources area which was open and looked down into comms, but no one ever went there so that one was always free to use.&lt;/p&gt;
&lt;p&gt;At least one was still operational as late as 1998 mounted in the van they took to the schools. The guy that ran the outreach thinks its last public showing might have been at the CNE that year. He thinks the machine itself was around until 2000 when the shut down the outreach program. That's the one they thought ended up in the Sault. But it turns out I did contact them in the Sault and they say they never had it.&lt;/p&gt;
&lt;p&gt;So I guess they're in a landfill somewhere. Probably beside Science North's PDP-1! :-(&lt;/p&gt;
&lt;p&gt;-- maurymarkowitz, &lt;a href="https://www.reddit.com/r/tipofmytongue/comments/cd99w/tomt_forest_fire_fighting_simulation_early_80s/"&gt;reddit thread, 4 Feb 2023&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There's a couple of other forum threads which turn up the same information. (Because the same guy googled them, just like I'm doing now.) &lt;a href="https://toronto.livejournal.com/7739200.html"&gt;This post&lt;/a&gt; from Livejournal remembered more of the gameplay:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For example, maybe you took a bulldozer icon and cleared out some trees to make a firebreak, maybe you started a fire to burn out an area so that when the "real" forest fire got to that point, it had nothing to burn, or you sent in planes to drop water on parts of the fire, or you dropped smokejumpers, just had ordinary firetrucks, or whatever.&lt;/p&gt;
&lt;p&gt;-- planettom, &lt;a href="https://toronto.livejournal.com/7739200.html"&gt;toronto.livejournal.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(Same thread is linked from &lt;a href="https://forums.atariage.com/topic/276227-forest-fire-similar-games-and-the-origin/"&gt;this post&lt;/a&gt; on forums.atariage.com.)&lt;/p&gt;
&lt;p&gt;And... that's all the information there is. I have not located any photos or original records. Thanks to &lt;a href="https://www.reddit.com/user/maurymarkowitz/"&gt;maurymarkowitz&lt;/a&gt; for collecting what we've got.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;So why am I posting this?&lt;/p&gt;
&lt;p&gt;First, to collect information in one place. Livejournal is not a reliable platform. Reddit &lt;em&gt;probably&lt;/em&gt; isn't going to shrivel up and evaporate, but can we really be sure? At least this way the info is on &lt;em&gt;two&lt;/em&gt; web sites with a history of sticking around.&lt;/p&gt;
&lt;p&gt;Second, because the Ontario Science Center &lt;a href="https://www.ontariosciencecentre.ca/about-us/media-room/important-announcement"&gt;closed two years ago&lt;/a&gt;. I had no idea. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;On June 21, 2024, the Ministry of Infrastructure announced the &lt;a href="https://news.ontario.ca/en/release/1004747/professional-engineering-advice-leads-to-closure-of-ontario-science-centre"&gt;closure&lt;/a&gt; of the Ontario Science Centre to visitors, due to the building’s deteriorating infrastructure, including the potential for roof failure due to snow load as early as this winter.&lt;/p&gt;
&lt;p&gt;We understand this building holds many memories.&lt;/p&gt;
&lt;p&gt;For 55 years, the Ontario Science Centre has been a beloved landmark in our province. Our building itself has been a cherished space for generations of visitors, sparking wonder and curiosity about science and the world around us, every day. It's been the site of first jobs, first field trips, and countless "aha" moments. The memories made within these walls are truly special.&lt;/p&gt;
&lt;p&gt;While we are no longer able to welcome visitors at our current location, we will continue to deliver innovative science experiences virtually, through pop-up experiences and in an interim facility, as we plan for our new permanent home at Ontario Place. We will share more details shortly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My memories of the place go beyond that one videogame. The building was iconically 70s-futuristic -- a space-age outpost sprawling down a forested ravine in the heart of the Toronto. My mental imagery of The Future comes straight from the Ontario Science Center... and Ontario Place, speaking of which.&lt;/p&gt;
&lt;p&gt;I revisited the museum in college, and then again in 2015. The game was long gone but I remembered some of the other exhibits. It was still a magical place.&lt;/p&gt;
&lt;p&gt;In 2022, I heard that the sky-bridge between the museum buildings was in bad repair and &lt;a href="https://www.thetrillium.ca/news/municipalities-transit-and-infrastructure/after-cover-your-ass-meeting-science-centre-vp-wanted-second-opinion-of-2022-bridge-closure-9295589"&gt;had to be closed&lt;/a&gt;. See also &lt;a href="https://toronto.citynews.ca/2024/07/11/a-timeline-of-events-in-the-ontario-science-centre-closure/"&gt;this timeline&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the time, people were speculating that the whole museum had been starved of maintenance funds so that Rob Ford could shut it down and replace it with luxury condos. Or maybe it was Doug Ford. Forces of evil, anyhow.&lt;/p&gt;
&lt;p&gt;The report about the roof has been &lt;a href="https://globalnews.ca/news/11252077/ont-science-centre/"&gt;disputed&lt;/a&gt;. The replacement building at Ontario Place remains a fantasy, although the museum now has a pop-up exhibit space on the waterfront.&lt;/p&gt;
&lt;p&gt;I have another whole set of memories around the &lt;a href="https://www.youtube.com/watch?v=jJpmk7QOq30"&gt;1970s playground&lt;/a&gt; at Ontario Place. That's another post, though.&lt;/p&gt;
&lt;p&gt;Ontario Place turned up as an abandoned Illyrian city on &lt;em&gt;Star Trek: Strange New Worlds&lt;/em&gt;. That was weird.&lt;/p&gt;</content><category term="toronto"/><category term="museums"/><category term="firefighting game"/><category term="history"/><category term="ontario place"/></entry><entry><title>Those ZIL grammar flags</title><link href="https://blog.zarfhome.com/2026/05/zil-grammar-flags" rel="alternate"/><published>2026-05-08T00:02:22+00:00</published><updated>2026-05-08T00:02:22+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-05-08:/2026/05/zil-grammar-flags</id><summary type="html">A couple of months ago I referred to a quote from Infocom's internal ZIL manual: The other four tokens—ON-GROUND, IN-ROOM, HELD, and CARRIED—are incredibly confusing, and no one really understands them except Stu, so he should probably write ...</summary><content type="html">&lt;p&gt;A couple of months ago I &lt;a href="https://blog.zarfhome.com/2026/02/1989-in-context"&gt;referred to&lt;/a&gt; a quote from Infocom's internal ZIL manual:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;The other four tokens—&lt;code&gt;ON-GROUND&lt;/code&gt;, &lt;code&gt;IN-ROOM&lt;/code&gt;, &lt;code&gt;HELD&lt;/code&gt;, and &lt;code&gt;CARRIED&lt;/code&gt;—are incredibly confusing, and no one really understands them except Stu, so he should probably write this bit.&lt;/p&gt;
&lt;p&gt;-- &lt;em&gt;&lt;a href="https://eblong.com/infocom/other/Learning_ZIL_Meretzky_1995.pdf"&gt;Learning ZIL&lt;/a&gt;&lt;/em&gt;, chapter 9.6&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/2026/02/1989-in-context"&gt;That post&lt;/a&gt; was about the social context in which Steve Meretzky wrote those words. So I didn't get into what the ZIL tokens meant.&lt;/p&gt;
&lt;p&gt;But this week the question came up on the Visible Zorker Discord. Let's get technical!&lt;/p&gt;
&lt;p&gt;(This post is also available on my &lt;a href="https://www.patreon.com/posts/those-zil-flags-157670492"&gt;Patreon&lt;/a&gt;.)&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;p&gt;What kind of tokens are we talking about? The manual again:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are several tokens which can appear in parentheses within a syntax definition: &lt;code&gt;HAVE&lt;/code&gt;, &lt;code&gt;TAKE&lt;/code&gt;, &lt;code&gt;MANY&lt;/code&gt;, &lt;code&gt;EVERYWHERE&lt;/code&gt;, &lt;code&gt;ADJACENT&lt;/code&gt;, &lt;code&gt;HELD&lt;/code&gt;, &lt;code&gt;CARRIED&lt;/code&gt;, &lt;code&gt;ON-GROUND&lt;/code&gt;, and &lt;code&gt;IN-ROOM&lt;/code&gt;. This parenthetical list appears after either or both OBJECTs:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;SYNTAX
  GIVE
    OBJECT (HAVE)
  TO
    OBJECT (ON-GROUND IN-ROOM)
  = V-GIVE&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(I've spaced out the &lt;code&gt;&amp;lt;SYNTAX&amp;gt;&lt;/code&gt; line for clarity.)&lt;/p&gt;
&lt;p&gt;This example defines a grammar line: &lt;code&gt;GIVE ___ TO ___&lt;/code&gt;. The &lt;code&gt;V-GIVE&lt;/code&gt; routine will handle the action. The parenthesized tokens define some behavior for the two object slots. The parser will use this information when searching the world for objects to match the player's command.&lt;/p&gt;
&lt;p&gt;(Note: The manual dates from 1989. &lt;code&gt;EVERYWHERE&lt;/code&gt; and &lt;code&gt;ADJACENT&lt;/code&gt; were added with the "new" V6 parser used in &lt;em&gt;Zork Zero&lt;/em&gt;, etc. I'm still dealing with the early games, so I'll skip &lt;code&gt;EVERYWHERE&lt;/code&gt; and &lt;code&gt;ADJACENT&lt;/code&gt; in this post.)&lt;/p&gt;
&lt;p&gt;So how to figure out what &lt;code&gt;ON-GROUND&lt;/code&gt; and &lt;code&gt;IN-ROOM&lt;/code&gt; mean? Look at the parser code, right? Here we run into our first problem: the parser code and the syntax definitions use &lt;em&gt;different names&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Here's a set of &lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamesrc/gparser.zil#L838"&gt;definitions&lt;/a&gt; from Zork 1:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;CONSTANT SH 128&amp;gt;
&amp;lt;CONSTANT SC 64&amp;gt;
&amp;lt;CONSTANT SIR 32&amp;gt;
&amp;lt;CONSTANT SOG 16&amp;gt;
&amp;lt;CONSTANT STAKE 8&amp;gt;
&amp;lt;CONSTANT SMANY 4&amp;gt;
&amp;lt;CONSTANT SHAVE 2&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The initial &lt;code&gt;S&lt;/code&gt; is ZIL convention for constants (perhaps "static"), followed by abbreviations. &lt;code&gt;SOG&lt;/code&gt; is &lt;code&gt;ON-GROUND&lt;/code&gt;, for example. Annoyingly, &lt;code&gt;SH&lt;/code&gt; must be &lt;code&gt;HELD&lt;/code&gt; rather than &lt;code&gt;HAVE&lt;/code&gt;!&lt;/p&gt;
&lt;p&gt;By the way, note Infocom's preference for numbering from the &lt;em&gt;high bit down&lt;/em&gt;. Clearly &lt;code&gt;HELD&lt;/code&gt; was defined first. &lt;code&gt;SHAVE&lt;/code&gt; needed more letters because &lt;code&gt;SH&lt;/code&gt; was already taken. And they haven't used the low bit at all (yet). You see the same thing with &lt;a href="https://github.com/visible-zorking/visi-zork3/blob/master/gamedat/game-info#L261"&gt;attribute flags&lt;/a&gt; and &lt;a href="https://github.com/visible-zorking/visi-zork3/blob/master/gamedat/game-info#L290"&gt;property numbers&lt;/a&gt;; all games start with the high value, but not all make it down to zero.&lt;/p&gt;
&lt;p&gt;It would be smart to verify our understanding in, as it were, real life. Let's look at the &lt;code&gt;GIVE TO&lt;/code&gt; grammar line in Zork 1. Turns out the manual example was simplified. Here's the &lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamesrc/gsyntax.zil#L216"&gt;real definition&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;SYNTAX
  GIVE
    OBJECT (MANY HELD HAVE)
  TO
    OBJECT (FIND ACTORBIT) (ON-GROUND)
  = V-GIVE PRE-GIVE&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Messier... We have both an action routine (&lt;code&gt;V-GIVE&lt;/code&gt;) and a &lt;em&gt;preaction&lt;/em&gt; routine (&lt;code&gt;PRE-GIVE&lt;/code&gt;). The preaction routine checks prerequisites before the start of action handling proper.&lt;/p&gt;
&lt;p&gt;We also have a different kind of object flag: &lt;code&gt;(FIND ACTORBIT)&lt;/code&gt;. This is well-explained in the manual. If the player omits the second object (by typing &lt;code&gt;GIVE SANDWICH&lt;/code&gt;), the parser will try to fill in the blank by looking for an object in the room with the &lt;code&gt;ACTORBIT&lt;/code&gt; attribute. That is to say, an NPC. If there's exactly one, great! If there's two or more, ask for disambiguation.&lt;/p&gt;
&lt;p&gt;But back to the &lt;code&gt;ON-GROUND&lt;/code&gt; stuff. We can rip apart the compiled game file to look at the grammar table. (I use the &lt;a href="https://ifarchive.org/indexes/if-archive/infocom/tools/ztools/"&gt;txd&lt;/a&gt; tool for this.) The &lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamedat/grammar-dump.txt#L352"&gt;grammar line&lt;/a&gt; is eight bytes:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[02 00 ff 00 1e 86 10 3f] &amp;quot;give OBJ to OBJ&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I'll spare you the full decoding. (See &lt;a href="https://eblong.com/infocom/other/Internal_Secrets_Ko_2019.pdf"&gt;Michael Ko's document&lt;/a&gt; for that.) The relevant bytes are &lt;code&gt;$86&lt;/code&gt; for the first object &lt;code&gt;(MANY HELD HAVE)&lt;/code&gt; and &lt;code&gt;$10&lt;/code&gt; for the second &lt;code&gt;(ON-GROUND)&lt;/code&gt;. Do those bits match up with the definitions above? Yes! Whew.&lt;/p&gt;
&lt;p&gt;Let me rewrite the table, showing both the &lt;code&gt;SYNTAX&lt;/code&gt; names and the &lt;code&gt;CONSTANT&lt;/code&gt; labels:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;HELD       SH     128  ($80)
CARRIED    SC      64  ($40)
IN-ROOM    SIR     32  ($20)
ON-GROUND  SOG     16  ($10)
TAKE       STAKE    8  ($08)
MANY       SMANY    4  ($04)
HAVE       SHAVE    2  ($02)
    (unused)        1  ($01)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;p&gt;Armed with this knowledge, we can dig into the mysterious tokens.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;TAKE&lt;/code&gt; and &lt;code&gt;HAVE&lt;/code&gt; aren't that mysterious. The manual tells us that &lt;code&gt;TAKE&lt;/code&gt; means that we will try to automatically take a (portable) object before the action begins. &lt;code&gt;HAVE&lt;/code&gt; means the object must be in the player's inventory for the action to succeed. &lt;/p&gt;
&lt;p&gt;You'd think these would always go together. Not always! For example, the &lt;code&gt;READ&lt;/code&gt; action has the &lt;code&gt;TAKE&lt;/code&gt; flag but not &lt;code&gt;HAVE&lt;/code&gt;. You'd &lt;em&gt;prefer&lt;/em&gt; to be holding a book in order to read it, but a plaque bolted to the wall is still readable.&lt;/p&gt;
&lt;p&gt;Conversely, the &lt;code&gt;DROP&lt;/code&gt; action has the &lt;code&gt;HAVE&lt;/code&gt; flag but not &lt;code&gt;TAKE&lt;/code&gt;. You can only drop something you're holding, but it would be peculiar to auto-take something &lt;em&gt;in order&lt;/em&gt; to drop it.&lt;/p&gt;
&lt;p&gt;The rules point up some interesting corner cases. The &lt;code&gt;EAT&lt;/code&gt; action has &lt;code&gt;TAKE&lt;/code&gt;, but the &lt;code&gt;DRINK&lt;/code&gt; action does not. Why? Because drinkables are liquids, and taking liquids always has special rules -- if it's possible at all. You should be able &lt;code&gt;DRINK&lt;/code&gt; from a stream, or at least try, without executing &lt;code&gt;TAKE WATER&lt;/code&gt; behind the scenes.&lt;/p&gt;
&lt;p&gt;(Mind you, the rules aren't always clear. In Zork 1, lots of actions have &lt;code&gt;TAKE&lt;/code&gt;, but only a few have both &lt;code&gt;TAKE&lt;/code&gt; and &lt;code&gt;HAVE&lt;/code&gt;. Looks like &lt;code&gt;BURN&lt;/code&gt;, &lt;code&gt;LIGHT&lt;/code&gt;, &lt;code&gt;EXTINGUISH&lt;/code&gt;, and &lt;code&gt;WAVE&lt;/code&gt;. Why those?)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Okay, let's get to the &lt;em&gt;mysterious&lt;/em&gt; tokens.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SH&lt;/code&gt;, &lt;code&gt;SC&lt;/code&gt;, &lt;code&gt;SOG&lt;/code&gt;, and &lt;code&gt;SIR&lt;/code&gt; are used in exactly one place in the parser code. It's &lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamesrc/gparser.zil#L875"&gt;this stanza&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;COND (,LIT
  &amp;lt;FCLEAR ,PLAYER ,TRANSBIT&amp;gt;
  &amp;lt;DO-SL ,HERE ,SOG ,SIR&amp;gt;
  &amp;lt;FSET ,PLAYER ,TRANSBIT&amp;gt;)&amp;gt;
&amp;lt;DO-SL ,PLAYER ,SH ,SC&amp;gt;)&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Notice that they are used in pairs: &lt;code&gt;SH&lt;/code&gt; with &lt;code&gt;SC&lt;/code&gt;, &lt;code&gt;SOG&lt;/code&gt; with &lt;code&gt;SIR&lt;/code&gt;. That's how they're handed off to the &lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamesrc/gparser.zil#L1021"&gt;&lt;code&gt;DO-SL&lt;/code&gt;&lt;/a&gt; routine, which is quite short. Feel free to look at it, but here's the gist:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;DO-SL&lt;/code&gt; takes a container and two bit flags. If the slot has the &lt;em&gt;first&lt;/em&gt; flag, we'll check the container's &lt;em&gt;immediate&lt;/em&gt; children. If the slot has the &lt;em&gt;second&lt;/em&gt; flag, we'll check the container's &lt;em&gt;indirect&lt;/em&gt; descendants (those at the second level or below). If the slot has &lt;em&gt;both&lt;/em&gt; flags, we therefore wind up checking &lt;em&gt;all&lt;/em&gt; of the container's descendants, at every level. (There's a special case for this but it's just a shortcut.)&lt;/p&gt;
&lt;p&gt;That may seem rather abstract, but think about how it works with the stanza above. The line &lt;code&gt;&amp;lt;DO-SL ,PLAYER ,SH ,SC&amp;gt;&lt;/code&gt; simply means: Check the player's inventory. A &lt;code&gt;SH&lt;/code&gt; &lt;code&gt;(HELD)&lt;/code&gt; slot will match anything the player is directly holding. A &lt;code&gt;SC&lt;/code&gt; &lt;code&gt;(CARRIED)&lt;/code&gt; slot will match anything the player is carrying &lt;em&gt;in a container&lt;/em&gt;. If a slot has both tokens (which is by far the common case), any object anywhere in the player's inventory will match.&lt;/p&gt;
&lt;p&gt;The line &lt;code&gt;&amp;lt;DO-SL ,HERE ,SOG ,SIR&amp;gt;&lt;/code&gt; does exactly the same thing, but checking the room contents, with the &lt;code&gt;SOG&lt;/code&gt; &lt;code&gt;(ON-GROUND)&lt;/code&gt; and &lt;code&gt;SIR&lt;/code&gt; &lt;code&gt;(IN-ROOM)&lt;/code&gt; flags. The first means directly on the ground; the second means things in containers in the room; both flags together mean anywhere in the room. &lt;em&gt;Except&lt;/em&gt; for the player's inventory! We briefly set the player non-transparent, so this line doesn't search inside the player. That keeps the &lt;code&gt;HERE&lt;/code&gt; search from getting mixed up with the previous &lt;code&gt;PLAYER&lt;/code&gt; search.&lt;/p&gt;
&lt;p&gt;Again, most verbs pair &lt;code&gt;ON-GROUND&lt;/code&gt; with &lt;code&gt;IN-ROOM&lt;/code&gt;. (It's odd for an action to apply to only things in containers.)&lt;/p&gt;
&lt;p&gt;Oh, and the room search only runs if the location is &lt;code&gt;LIT&lt;/code&gt;. Zork convention is that dropped objects are inaccessible in pitch darkness. You can manipulate your inventory in the dark, like a good spelunker should -- but &lt;em&gt;only&lt;/em&gt; your inventory.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Well, now that we've dug through the details, it seems straightforward. Why did Meretzky say it was confusing? &lt;/p&gt;
&lt;p&gt;Turns out I skipped over one tricky detail. The &lt;code&gt;SH&lt;/code&gt;, &lt;code&gt;SC&lt;/code&gt;, &lt;code&gt;SOG&lt;/code&gt;, &lt;code&gt;SIR&lt;/code&gt; tokens are &lt;em&gt;suggestions&lt;/em&gt;, not requirements.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;HAVE&lt;/code&gt; is a requirement. Some actions can only be done when you're carrying a thing; they need to fail when you're not. But &lt;code&gt;HELD&lt;/code&gt; &lt;code&gt;(SH)&lt;/code&gt; and company only come into play for disambiguation.&lt;/p&gt;
&lt;p&gt;Let's go back to that original manual example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;SYNTAX
  GIVE
    OBJECT (MANY HELD HAVE)
  TO
    OBJECT (FIND ACTORBIT) (ON-GROUND)
  = V-GIVE PRE-GIVE&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you're carrying the lunch, you can type &lt;code&gt;GIVE LUNCH TO TROLL&lt;/code&gt; -- that's fine. (The troll eats it.)&lt;/p&gt;
&lt;p&gt;But you can equally well type &lt;code&gt;GIVE TROLL TO LUNCH&lt;/code&gt;. That fails the &lt;code&gt;HAVE&lt;/code&gt; test ("You're not carrying the troll") -- but before that point, it skims right by the &lt;code&gt;HELD&lt;/code&gt; token for the troll and the &lt;code&gt;ON-GROUND&lt;/code&gt; token for the lunch. Like I said, just suggestions.&lt;/p&gt;
&lt;p&gt;Say you were carrying a spicy meatball and &lt;em&gt;also&lt;/em&gt; a spicy pepper in a glass jar &lt;em&gt;and&lt;/em&gt; there was a spicy burrito on the floor. Then the command &lt;code&gt;GIVE SPICY TO TROLL&lt;/code&gt; would have three options. The &lt;code&gt;HELD&lt;/code&gt; token would cause it to prefer the meatball, because you're holding it directly.&lt;/p&gt;
&lt;p&gt;Similarly, in &lt;em&gt;Deadline&lt;/em&gt;, &lt;code&gt;GIVE HERRING TO WOMAN&lt;/code&gt; would prefer Mrs Rouke (standing in the room) to Ms Dunbar (sitting on the couch, and therefore not &lt;code&gt;ON-GROUND&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Again, it's common for these tokens to appear in pairs. Zork 1 has the &lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamesrc/gsyntax.zil#L302"&gt;syntax&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;SYNTAX LUBRICATE OBJECT WITH OBJECT (HELD CARRIED) = V-OIL&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So &lt;code&gt;LUBRICATE HINGES WITH GREASY&lt;/code&gt; would prefer a greasy object anywhere in your inventory to one lying on the ground.&lt;/p&gt;
&lt;p&gt;(Of course Zork doesn't have even one greasy object. That command is for the benefit of people trying a trick that worked in &lt;em&gt;Colossal Cave&lt;/em&gt;!)&lt;/p&gt;
&lt;p&gt;But look at &lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamesrc/gsyntax.zil#L407"&gt;this one&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;SYNTAX TALK TO OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This &lt;em&gt;doesn't&lt;/em&gt; have the &lt;code&gt;ON-GROUND&lt;/code&gt; token. So &lt;code&gt;TALK TO WOMAN&lt;/code&gt; would disambiguate to a female NPC sitting on the couch, rather than one standing in the room. Why on earth would you want that behavior?&lt;/p&gt;
&lt;p&gt;The answer is, you wouldn't! But this situation &lt;em&gt;can't happen&lt;/em&gt; in Zork; the three NPCs never enter containers. So the mistake isn't noticeable. In fact the NPCs in &lt;em&gt;Deadline&lt;/em&gt; don't sit on the furniture either, so it never comes up there either. (My example with Rourke and Dunbar was fake, sorry.)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/visible-zorking/visi-zork1/blob/master/gamesrc/gsyntax.zil#L376"&gt;Similarly&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;SYNTAX PUT ON OBJECT (IN-ROOM ON-GROUND CARRIED MANY) = V-WEAR&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This lacks &lt;code&gt;HELD&lt;/code&gt;, so it prefers items you're carrying in containers to items you're holding directly. This is ridiculous. &lt;code&gt;PUT ON HAT&lt;/code&gt; should not prefer the hat in your backpack to the hat in your hand. &lt;/p&gt;
&lt;p&gt;The problem is, demonstrating these bugs is &lt;em&gt;hard&lt;/em&gt;. You need to find two objects with a synonym in common, put one of them in a container, and then try a particular verb.&lt;/p&gt;
&lt;p&gt;Here's a demonstration. Remember that all treasures in Zork, including the &lt;code&gt;PAINTING&lt;/code&gt;, can be referred to as &lt;code&gt;TREASURE&lt;/code&gt;...&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;gt; I
You are carrying:
   A painting
   A brass lantern (providing light)
   A sword
   A brown sack
   The brown sack contains:
      A jewel-encrusted egg
      A clove of garlic&lt;/p&gt;
&lt;p&gt;&amp;gt; PUT ON TREASURE
You can't wear the jewel-encrusted egg.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;See? Picking the egg over the painting is silly! But of course the command &lt;code&gt;PUT ON TREASURE&lt;/code&gt; was silly to begin with. I guarantee that nobody at Infocom ever tested it. You need to spend a week staring at the parser logic to know how to even set this experiment up.&lt;/p&gt;
&lt;p&gt;To perform the parallel experiment for &lt;code&gt;ON-GROUND&lt;/code&gt;/&lt;code&gt;IN-ROOM&lt;/code&gt;, drop both the sack and the painting and type &lt;code&gt;TALK TO TREASURE&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The upshot is that if you're building a &lt;code&gt;&amp;lt;SYNTAX&amp;gt;&lt;/code&gt; line with &lt;code&gt;ON-GROUND&lt;/code&gt; and &lt;code&gt;IN-ROOM&lt;/code&gt;, getting it wrong almost doesn't matter. You'll never get any feedback that you should have used the other one (or both). Thus, confusing. It's a detail which is almost impossible to &lt;em&gt;learn&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The difference between &lt;code&gt;HELD&lt;/code&gt; and &lt;code&gt;CARRIED&lt;/code&gt; is a &lt;em&gt;bit&lt;/em&gt; clearer, because inventory containers are common and you don't want to screw up the affordances of the &lt;code&gt;DROP&lt;/code&gt; action. But the &lt;code&gt;DROP&lt;/code&gt; syntax is the same in every game; they copied those basic verbs around. Most Infocom folks probably never needed to know why &lt;code&gt;DROP&lt;/code&gt; is written the way it is.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;In conclusion...&lt;/p&gt;
&lt;p&gt;Nah, I'm not building up to a grand thesis here. I'm pointing out the ways that a design system can be opaque, even to the people who invented it.&lt;/p&gt;
&lt;p&gt;I guess the lesson is that ZIL should have provided a simpler set of options for common use. Maybe define &lt;code&gt;HELD&lt;/code&gt; and &lt;code&gt;IN-ROOM&lt;/code&gt; for most verbs, and then fancier terms (&lt;code&gt;HELD-DIRECT&lt;/code&gt; vs &lt;code&gt;HELD-INDIRECT&lt;/code&gt;, &lt;code&gt;IN-ROOM-DIRECT&lt;/code&gt; vs &lt;code&gt;IN-ROOM-INDIRECT&lt;/code&gt;) for the few cases that really required them. If there were any.&lt;/p&gt;
&lt;p&gt;Also, more regression tests. Create a "game" with a playground of objects, containers, and NPCs; run through every combination of actions and objects and containment setups. Or at least enough combinations to exercise every possible parsing outcome, plus all the weird experiments above.&lt;/p&gt;
&lt;p&gt;As far as I know, ZIL never had this testing setup. Neither did the hobbyist IF systems of the 1990s. Inform 7 has a very large suite of &lt;a href="https://github.com/ganelson/inform/tree/master/inform7/Tests"&gt;unit tests&lt;/a&gt;, but I don't know if they're written to exercise the &lt;em&gt;parser&lt;/em&gt; as distinct from the I7 compiler.&lt;/p&gt;
&lt;p&gt;Future goals? Maybe.&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="infocom"/><category term="zil"/><category term="parser"/></entry><entry><title>Spring games of the id</title><link href="https://blog.zarfhome.com/2026/05/spring-id-games" rel="alternate"/><published>2026-05-06T23:53:39+00:00</published><updated>2026-05-06T23:53:39+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-05-06:/2026/05/spring-id-games</id><summary type="html">The common thread this time is "the id". I don't mean the games are horny; they're not. (Although PSI has "flirt" dialogue options.) I mean somebody wanted a specific thing and made a game that catered to it. You want a style of puzzle that ...</summary><content type="html">&lt;p&gt;The common thread this time is "the id". I don't mean the games are horny; they're not. (Although &lt;em&gt;PSI&lt;/em&gt; has "flirt" dialogue options.) I mean somebody wanted a &lt;em&gt;specific thing&lt;/em&gt; and made a game that catered to it. You want a style of puzzle that videogames don't do much, or you want a building-climber with zero risk of falling, or you want 3000 books piled on the floor. Here you go.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Puzzle Spy International&lt;/li&gt;
&lt;li&gt;Murder at the Birch Tree Theater&lt;/li&gt;
&lt;li&gt;Gecko Gods&lt;/li&gt;
&lt;li&gt;Librarian: Tidy Up the Arcane Library!&lt;/li&gt;
&lt;li&gt;Legacy of Kain: Defiance: Remastered&lt;/li&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;h2 id="puzzle-spy-international"&gt;Puzzle Spy International&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Travel-Friendly Cake -- &lt;a href="https://store.steampowered.com/app/3406690/Puzzle_Spy_International/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A short puzzler made up of Hunt-style puzzles. That is to say: basically paper-and-pencil puzzles where you get a lot of clues and maybe a grid and no immediate idea what to do with it all. But when you start putting pieces together, a pattern emerges, and then a final solution. Neat! This form is very familiar to me as a Boston resident; in fact, some of my friends are off doing a &lt;a href="https://26.baphl.org/"&gt;BAPHL&lt;/a&gt; as I write this. (I skipped it for &lt;a href="https://www.somervilleopenstudios.org/"&gt;Open Studios&lt;/a&gt;.) However, the form is not common at all in videogames. I hope this becomes more of a trend.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;PSI&lt;/em&gt; (yes, the letter "Ψ" is their logo) is short and on the easy side. Hints are available to make it even easier. That's fine! It's a pleasant day's spy-themed entertainment. With just a hint of dating sim for flavor, if you're into that.&lt;/p&gt;
&lt;h2 id="birch-tree-theater"&gt;Murder at the Birch Tree Theater&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Crucible Juice -- &lt;a href="https://www.cruciblejuicegames.com/murder-at-the-btt"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Golden-Idol-alike set in a cursed community theater. "Cursed" because people keep dying! Totally by accident! Deduce the details of ten (or more) deaths, from 1975 through 1995, and figure out who's &lt;em&gt;really&lt;/em&gt; behind it all.&lt;/p&gt;
&lt;p&gt;(That's not actually a mystery -- one character is consistently a sociopathic jackass in every scene, although he's not the only one. Maybe I should say "jack-dog"; the characters are all rendered as anthro animal cartoons. Jackhound? Hm.)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Birch Tree Theater&lt;/em&gt; is a good playable example of its genre. It's fun to see the theater and its dramatis personae through the decades. The shows are mostly &lt;em&gt;musical&lt;/em&gt; theater, which gives the author scope for innumerable furry-musical puns and filks. You don't have to be a fan of musicals to get them. Well, you probably have to be a fan to get &lt;em&gt;all&lt;/em&gt; of them, but I caught "Alan Minken" so I figure I'm doing pretty well.&lt;/p&gt;
&lt;h2 id="gecko-gods"&gt;Gecko Gods&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Inresin -- &lt;a href="https://geckogods.com/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A nonviolent(*) open-world puzzle adventure in a tropical archipelago. These sorts of adventures always involve climbing charismatic megastructures, which I love. Normally the climbing is part of the puzzle. In this one, you're a gecko! You can climb literally anything! You can dance on the ceiling! Falling doesn't hurt because you're so small! Perfect.&lt;/p&gt;
&lt;p&gt;(* Almost nonviolent. Sometimes you have to beat up some hostile beetle-pots. They can't hurt you much though.)&lt;/p&gt;
&lt;p&gt;Notionally, you're trying to solve puzzles to light up statues and stuff to bring back the Gecko Gods. In fact you're there to smash pots and eat tasty bugs. Puzzles are just a way to keep score.&lt;/p&gt;
&lt;p&gt;...Okay, I'm kidding. The puzzles are quite good. Not brain-crushing hard, but a good variety of levers (which you can grab with your tiny gecko mouth), wires to connect up, balls to push onto plates (with your tiny gecko head), and so on. There's a few slider puzzles but they're not &lt;em&gt;too&lt;/em&gt; painful. And of course lots of disorienting three-dimensional architecture to crawl around, including on the ceiling.&lt;/p&gt;
&lt;p&gt;Eating bugs is still the best part. I have no idea how, but your tiny gecko viewpoint somehow invites you to be distracted by every tasty bug you see. Even though snacking down provides &lt;em&gt;no bonus whatsoever&lt;/em&gt;. Other than an achievement for eating one of every species -- but you can't eat just one bug! C'mon. This is master-level embodiment work.&lt;/p&gt;
&lt;p&gt;I haven't finished this; I think I'm working on my third island of five. It's a pretty large-scale game, and not just in comparison to your tiny gecko self. Will finish though.&lt;/p&gt;
&lt;p&gt;EDIT-ADD: Did not in fact finish. The game ends with a timed race which is kinda bullshit. I watched it on youtube.&lt;/p&gt;
&lt;h2 id="librarian"&gt;Librarian: Tidy Up the Arcane Library!&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by ArtRising -- &lt;a href="https://store.steampowered.com/app/4197610/Librarian_Tidy_Up_the_Arcane_Library/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some games have a convoluted design history, full of pivots and agonizing "find the fun" focus sessions. Other games, you can tell, had a &lt;em&gt;one-line&lt;/em&gt; design process: "Oh my god what if you were in a giant messy room full of books and you had to &lt;em&gt;shelve&lt;/em&gt; them &lt;em&gt;all?!"&lt;/em&gt; Sold. Write it and ship it.&lt;/p&gt;
&lt;p&gt;Seriously, click through that game link and look at the &lt;a href="https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/4197610/dfa6f20575bdc163437dfe3cc403fad645a07cf6/ss_dfa6f20575bdc163437dfe3cc403fad645a07cf6.1920x1080.jpg"&gt;screenshot&lt;/a&gt;. If you don't immediately Get It, you're not the target audience.&lt;/p&gt;
&lt;p&gt;I'm afraid &lt;em&gt;Arcane Library&lt;/em&gt; doesn't entirely fulfil its promise. At root it's an incremental game. You start out picking up books one at a time; then you begin to acquire magic to make the job go faster. The problem is that this wheel turns about one-and-a-half times and then jams. &lt;/p&gt;
&lt;p&gt;I say "incremental" but really these games trade on the &lt;em&gt;exponential&lt;/em&gt;, right? Every phase is supposed to go ten times faster than the last, until you're blasting through paper clips or potatoes or whatever in planetary-sized gulps. Here, your fifth shelf of books goes a &lt;em&gt;lot&lt;/em&gt; faster than your first; your tenth shelf goes somewhat faster than your fifth; after than you're kind of in a rut.&lt;/p&gt;
&lt;p&gt;I think if the game had more varieties of spells, with more interesting interactions, it would have held together. Maybe &lt;em&gt;40000&lt;/em&gt; shelves instead of 400? With a rank of spells that operated on a whole new level -- shelves instead of books? Or a lot more secrets. (There are four locked chests but no surprises beyond that.) As it is, I decided I'd had enough after an hour or so.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Footnote:&lt;/em&gt; A friend insists that you're supposed to play without using the spells at all. Just put away 3000 books, by hand, one at a time. If that's your kink, have I got a game for you.&lt;/p&gt;
&lt;h2 id="defiance"&gt;Legacy of Kain: Defiance: Remastered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Crystal Dynamics -- &lt;a href="https://www.crystaldynamics.com/projects/legacy-of-kain-defiance-remastered/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I played this in 2003 and &lt;a href="https://eblong.com/zarf/gamerev/quick-take-reviews.html"&gt;reviewed&lt;/a&gt; it with the faintest of praise. My entire 2003 commentary:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An acceptable followup to the first two &lt;em&gt;Soul Reaver&lt;/em&gt; games, but not inspired. The paradox story elements from &lt;em&gt;SR2&lt;/em&gt; are abandoned completely -- not that they were all that strong to begin with, but I was hoping that the conclusion would be more interesting. The major story revelations are all either murky or implausible. I still want more games set in this universe, but they need to start over with better writers. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If I had known that the &lt;a href="https://blog.zarfhome.com/2026/04/games-with-nothing-in-common#legacy-of-kain-ascendance"&gt;next Nosgoth game&lt;/a&gt; would take 23 years to ship, I might have been kinder!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historic note:&lt;/em&gt; A followup game called &lt;em&gt;&lt;a href="https://www.neogaf.com/threads/legacy-of-kain-dead-sun-updated-with-e3-2012-square-enix-teaser-and-pre-boss-video.997613/"&gt;Dead Sun&lt;/a&gt;&lt;/em&gt; was planned in 2010 with Sam Barlow at the helm. It was cancelled in 2013, freeing Barlow to go off and write &lt;a href="https://blog.zarfhome.com/2016/01/igf-nominees-my-comments#her-story"&gt;much&lt;/a&gt; more &lt;a href="https://blog.zarfhome.com/2022/10/immortality"&gt;interesting&lt;/a&gt; games. (And yet we mourn.) Some remnant of &lt;em&gt;Dead Sun&lt;/em&gt; was spun off into a multiplayer battler called &lt;em&gt;&lt;a href="https://en.wikipedia.org/wiki/Nosgoth"&gt;Nosgoth&lt;/a&gt;&lt;/em&gt;, which never got out of beta.&lt;/p&gt;
&lt;p&gt;So what's it like to come back to a twenty-year-old game that I never planned to replay? I sure didn't remember much of it.&lt;/p&gt;
&lt;p&gt;You alternate playing Kain and Raziel, recrossing the same territory in different time periods, until they converge at the end for a final beat-down with the Elder God. That's about all I remembered. That's about all there is &lt;em&gt;to&lt;/em&gt; remember.&lt;/p&gt;
&lt;p&gt;Oh, there's plenty of &lt;a href="https://www.dark-chronicle.co.uk/def/script/index.php"&gt;story&lt;/a&gt;. You cross paths with the regulars: Moebius and Vorador, Ariel and Janos Audron. You even have a run-in with Mortanius, who hasn't been on-stage since Kain corked him in the original &lt;em&gt;Blood Omen&lt;/em&gt;. (Time travel: a scriptwriter's gift to cameos.) &lt;/p&gt;
&lt;p&gt;It's just, you know, lots of revelations and people sneering at each other. We get more history of the Elder Race vs the Hylden, but as usual, the Hylden are boring. The Hylden Lord escapes at the end, which is either sequel-bait or a reverse-setup for &lt;em&gt;Blood Omen 2&lt;/em&gt; -- I'd completely forgotten &lt;em&gt;him&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Any given exchange is a pleasure to listen to! The voice actors are having a blast. (Check the making-of bonus videos.) But when I try to lay out what &lt;em&gt;happens&lt;/em&gt;, I get: "The writers put Kain and Raziel through their paces." No wonder they get so antsy about free will.&lt;/p&gt;
&lt;p&gt;I had fun. There's plenty of puzzle-shrines and puzzle-tombs and puzzle-courtyards to keep you busy. The environmental puzzles are the heart of these games; &lt;em&gt;Defiance&lt;/em&gt; provides them in top form. As a bonus, most of these maps are polymorphic. Kain and Raziel run through the &lt;em&gt;same&lt;/em&gt; areas -- from different starting points, using different abilities, solving different puzzles, breaking or fixing architecture in ways that will be reflected in each others' time periods. It's a genuinely impressive design stunt.&lt;/p&gt;
&lt;p&gt;On the down side, this is all paced out with endless hallway fights. Fights, fights, fights. They just don't vary that much, as Kain or as Raziel. You beat on mooks until they bleed and then suck them dry, blood- or soul-wise. Bosses: dodge first, then pound. &lt;/p&gt;
&lt;p&gt;The one exception is Turel, the boss-vampire cut from the first &lt;em&gt;Soul Reaver&lt;/em&gt; script. You finally get to take him out -- and his fight is a stylistic gesture back to the environmental puzzle-fights of that earlier game. A good bit. Otherwise, it's all a bit of a slog. Or a bit of a &lt;em&gt;sluagh&lt;/em&gt;. (Sorry.)&lt;/p&gt;
&lt;p&gt;"Zarf, you Nosgoth fanboy, you protest way the heck too much." You bet your tattery blue ass I'm a fanboy. I love the whole ridiculous setting. Raziel is one of my household gods. (Limited-edition &lt;a href="https://eblong.com/zarf/photo/photo_IMG_2236.JPG.html"&gt;18" figurine&lt;/a&gt; guarding my book collection.) When &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2026/04/games-with-nothing-in-common#legacy-of-kain-ascendance"&gt;Ascendance&lt;/a&gt;&lt;/em&gt; and this remaster came out, I grabbed both and played right through.&lt;/p&gt;
&lt;p&gt;What I love about the world of Nosgoth is that it's big, underexplained, and trails off in a thousand weird directions. It's exactly the kind of setting that &lt;em&gt;doesn't&lt;/em&gt; benefit from having all its cracks filled in and smoothed out. Vorador forged the original Reaver blade? No, argh! This is exactly why Sam Barlow's mission was to start fresh with new characters and a new era.&lt;/p&gt;
&lt;p&gt;That said, I will give &lt;em&gt;Defiance&lt;/em&gt; its due: it wraps up Raziel's story on a hell of a high note. &lt;strong&gt;(Spoilers:)&lt;/strong&gt; It effectively recasts the entire Kain-and-Raziel arc as a twisted vampire love story. Seriously, Raziel dies in Kain's arms swearing eternal fidelity. Not a dry eye in the house, albeit probably tears of blood. &lt;/p&gt;
&lt;p&gt;Okay, yes, Kain has spent the last 1500 years of linear history being an unsurmountable and utter dick to Raziel. For plot reasons. Still -- OTP forever. Go them.&lt;/p&gt;</content><category term="reviews"/><category term="puzzle spy international"/><category term="gecko gods"/><category term="librarian"/><category term="tidy up the arcane library"/><category term="soul reaver"/><category term="legacy of kain"/><category term="defiance"/></entry><entry><title>Visible Zork 3 is now available to all</title><link href="https://blog.zarfhome.com/2026/05/visible-zork-3" rel="alternate"/><published>2026-05-01T04:01:34+00:00</published><updated>2026-05-01T22:52:37+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-05-01:/2026/05/visible-zork-3</id><summary type="html">Three months ago, I launched the Visible Zorker Patreon with a promise: fund me and I will create a new Visible Infocom game every month. You did! And now the tree bears fruit. I decided to put the games on a two-month delay, so that Patreon ...</summary><content type="html">&lt;p&gt;Three months ago, I &lt;a href="https://blog.zarfhome.com/2026/01/the-visible-zorker-patreon"&gt;launched&lt;/a&gt; the &lt;a href="https://www.patreon.com/VisibleZorker"&gt;Visible Zorker Patreon&lt;/a&gt; with a promise: fund me and I will create a new Visible Infocom game every month.&lt;/p&gt;
&lt;p&gt;You did! And now the tree bears fruit.&lt;/p&gt;
&lt;p&gt;I decided to put the games on a two-month delay, so that Patreon supporters would have a leg up. I worked on &lt;em&gt;Visible Zork 3&lt;/em&gt; in February; I made it available on the Patreon page on March 1st.&lt;/p&gt;
&lt;p&gt;Two months have passed. (Happy Workers' Day!) And thus &lt;em&gt;&lt;a href="https://eblong.com/infocom/visi/zork3/"&gt;Visible Zork 3&lt;/a&gt;&lt;/em&gt; is now live on the &lt;a href="https://eblong.com/infocom/visi/"&gt;project page&lt;/a&gt;. The &lt;a href="https://github.com/visible-zorking/visi-zork3"&gt;source code repository&lt;/a&gt; is also live, licensed under the open-source MIT license.&lt;/p&gt;
&lt;div class="ImageWrap ImageBorder Center"&gt;
&lt;p&gt;&lt;a href="https://eblong.com/infocom/visi/zork3/"&gt;&lt;img alt="A screenshot titled &amp;quot;The Visible Zorker: Zork 3&amp;quot;. The left side of the window shows the opening of Zork 3, up to the command TURN ON LAMP. The right side shows a list of ZIL function calls and the message &amp;quot;The lamp is now on.&amp;quot;" height="495" src="https://blog.zarfhome.com/pic/2026/05/visizork3-app.png" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Enjoy the lonely, shadow-lit, eerily silent world of &lt;em&gt;Zork 3&lt;/em&gt;... It's a bit of a tonal shift from the first two games, isn't it? The cartoonish treasure-hunts have been replaced with a somewhat philosophical meditation on virtue. (One might compare the route &lt;em&gt;&lt;a href="https://wiki.ultimacodex.com/wiki/Virtues_in_Ultima_IV"&gt;Ultima 4&lt;/a&gt;&lt;/em&gt; took a few years later.)&lt;/p&gt;
&lt;p&gt;To be sure, there are still some brightly-colored puzzles left over from the original MIT &lt;em&gt;Zork&lt;/em&gt;. The blend isn't entirely smooth. But it's the wrap-up we have for the world of Zork... well, until &lt;em&gt;Enchanter&lt;/em&gt; crashes back in. That will be another episode.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;EDIT-ADD: I meant to add some bits of trivia from the &lt;em&gt;Zork 3&lt;/em&gt; source, but I forgot when I was writing up this post last night. Let me just drop one in:&lt;/p&gt;
&lt;p&gt;The Royal Puzzle ("CHINESE PUZZLE" in the 1979 MIT Zork source) is credited to "WILL WENG". Who the heck is Will Weng? A quick search reveals that one Will Weng was the crossword puzzle editor for the New York Times from 1969-1977! Surely the same person?&lt;/p&gt;
&lt;p&gt;Weng was succeeded as NYT crossword editor by Eugene T. Maleska, who was succeeded in 1993 by Will Shortz. The latter names are very familiar to me from Games Magazine in the 1980s, but I did not remember Will Weng at all. How he came to contribute a puzzle to an MIT computer game is sadly not recorded.&lt;/p&gt;
&lt;p&gt;More readings on &lt;em&gt;Zork 3&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.filfre.net/2012/09/zork-iii-part-1/"&gt;The Digital Antiquarian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://golmac.org/an-introduction-to-zork-iii-it-all-came-down-to-that/"&gt;Drew Cook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;Behind the curtain, in early-access land, the release cycle rolls on. Patreon supporters got hold of &lt;em&gt;Visible Deadline&lt;/em&gt; in April. They got &lt;em&gt;Visible Starcross&lt;/em&gt; today.&lt;/p&gt;
&lt;p&gt;Now that the pump is primed, you can expect a new game every month on the &lt;a href="https://eblong.com/infocom/visi/"&gt;project page&lt;/a&gt;. &lt;em&gt;Deadline&lt;/em&gt; will appear on June 1st, &lt;em&gt;Starcross&lt;/em&gt; on July 1st, &lt;em&gt;Suspended&lt;/em&gt; on August 1st. There may be a one-month break after that, as &lt;a href="https://narrascope.org/"&gt;NarraScope&lt;/a&gt; is going to eat up a bunch of June (and then push out the following schedule slots).&lt;/p&gt;
&lt;p&gt;Here's some previews of upcoming goodies:&lt;/p&gt;
&lt;div class="ImageWrap ImageBorder Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/05/deadline-map.png"&gt;&lt;img alt="A diagram of the first flood of the Robner mansion. The locations of Rourke, Dunbar, and Mrs Robner are marked. Heavy blue lines run through some of the rooms, showing routes that the characters follow when navigating the map. Light pink lines join other rooms; these are sight lines down hallways." height="421" src="https://blog.zarfhome.com/pic/2026/05/deadline-map-thumb.png" width="500" /&gt;&lt;/a&gt;
Part of the map of &lt;em&gt;Deadline&lt;/em&gt;, showing the routes used for NPC movement and visibility. (Here is a &lt;a href="https://blog.zarfhome.com/pic/2026/05/deadline-map.png"&gt;larger view&lt;/a&gt; including the grounds.)&lt;/p&gt;
&lt;/div&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/05/starcross-chart.jpeg"&gt;&lt;img alt="A chart drawn in radial white lines on a starry background. Geometric symbols with four-digit designations are marked in orange and magenta. A legend on the right, on a silvery background, says &amp;quot;M. C. S. Starcross: Mass Detector Output&amp;quot;." height="333" src="https://blog.zarfhome.com/pic/2026/05/starcross-chart-thumb.jpeg" width="500" /&gt;&lt;/a&gt;
My recreation of the &lt;em&gt;Starcross&lt;/em&gt; Mass Detector Chart. (High-resolution source &lt;a href="https://archive.org/details/Infocom_Starcross_Chart_Recreation"&gt;archived here&lt;/a&gt;.)&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;(Of course, if you join the &lt;a href="https://www.patreon.com/VisibleZorker"&gt;Patreon&lt;/a&gt; at the $4 level, you get in on the early tier. That means you get &lt;em&gt;Deadline&lt;/em&gt; and &lt;em&gt;Starcross&lt;/em&gt; today, &lt;em&gt;Suspended&lt;/em&gt; in June, and so on. This is the carrot. There is no stick; everything winds up open-source eventually.)&lt;/p&gt;
&lt;p&gt;As you see, I am trying to add a little something creative and insightful to each game. It's not just lists of objects and variables. I will also do new, high-quality scans of feelie material that I have access to. (See my &lt;a href="https://archive.org/details/Casebook_Deadline_Infocom_Apple/"&gt;&lt;em&gt;Deadline&lt;/em&gt; scans here&lt;/a&gt;! Mind you, I really have to rescan those pages in 600dpi lossless. I didn't get this A3-bed scanner for nothing.)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;So where are we with the &lt;a href="https://eblong.com/infocom/visi/"&gt;Visible Zorker&lt;/a&gt;? I feel pretty good about it!&lt;/p&gt;
&lt;p&gt;I &lt;a href="https://blog.zarfhome.com/2026/01/the-visible-zorker-patreon"&gt;originally said&lt;/a&gt; that I was aiming at $500/month in Patreon support. That number was, as I admitted, an arbitrary goal. But the Patreon is over the $300 mark as I write this. I expect that will bump up if &lt;em&gt;Zork 3&lt;/em&gt; makes a splash. Now that we're in the swing of a public release every month, maybe it will move significantly.&lt;/p&gt;
&lt;p&gt;So I'm happy with the response. More importantly, I'm having fun. This is fun! The Visible Zorker was a genuinely new thing in the world. Nobody else is doing it. Oh, plenty of people &lt;em&gt;could&lt;/em&gt; have done it -- there's no real technical challenge in there -- but I thought of it. I get to be the one. I can build in my sense of history, my sense of design, and my sense of whimsy.&lt;/p&gt;
&lt;p&gt;It's a real boost in a world which seems intent on treating us all as machine parts, one mouse-click away from outsourcing.&lt;/p&gt;
&lt;p&gt;So I'm on board to do the next batch of games. Maybe next year I'll feel burned out and overwhelmed. I can't say. But right now, I'm jazzed to start the next one. (&lt;em&gt;Suspended&lt;/em&gt; is up next! What a great piece of visual design that package was.)&lt;/p&gt;
&lt;p&gt;Thanks for coming on this -- can I say adventure? Adventure, I said it -- with me.&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="zork"/><category term="zork 3"/><category term="infocom"/><category term="visible zorker"/><category term="patreon"/><category term="zarf"/></entry><entry><title>2026 Hugo Award finalists</title><link href="https://blog.zarfhome.com/2026/04/2026-hugo-finalists" rel="alternate"/><published>2026-04-23T02:29:06+00:00</published><updated>2026-04-23T02:29:06+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-04-23:/2026/04/2026-hugo-finalists</id><summary type="html">The 2026 Hugo Award finalists are up. Awkward for me: I really like many of the nominees, but I haven't read (seen, played) a majority of any category. So I can't give a useful overview or say that any given work is "best of the year". I'll ...</summary><content type="html">&lt;p&gt;The &lt;a href="https://file770.com/lacon-v-announces-2026-hugo-awards-finalists/"&gt;2026 Hugo Award finalists&lt;/a&gt; are up. Awkward for me: I really like many of the nominees, but I haven't read (seen, played) a majority of any category. So I can't give a useful overview or say that any given work is "best of the year". &lt;/p&gt;
&lt;p&gt;I'll just recommend a bunch!&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;(I am not registered for Worldcon this year. I attended last year, which makes me eligible to vote this year, but I didn't submit nominations. I might vote in the finals though.) (EDIT-ADD: Nope, I'd have to register for this year to vote in the final ballot.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Novel:&lt;/strong&gt; &lt;em&gt;A Drop of Corruption&lt;/em&gt; (Robert Jackson Bennett) is an enormously readable fantasy-meatpunk mystery... with kaiju. (Series; this is book two.) &lt;em&gt;Shroud&lt;/em&gt; (Adrian Tchaikovsky) is the old-school genre of "humans visit alien planet -- &lt;em&gt;badly.&lt;/em&gt;" (Haven't seen one of those since &lt;em&gt;Dragon's Egg&lt;/em&gt;.) &lt;em&gt;The Incandescent&lt;/em&gt; (Emily Tesh) is magical-college but from the &lt;em&gt;teacher's&lt;/em&gt; side, which I thought was very interesting. Ending maybe doesn't hold together but it's still a good read. &lt;em&gt;The Raven Scholar&lt;/em&gt; (Antonia Hodgson) is an entertaining court succession crisis. I haven't read &lt;em&gt;The Everlasting&lt;/em&gt; but I've enjoyed Harrow's previous stuff so I'll probably get there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Novella:&lt;/strong&gt; &lt;em&gt;Automatic Noodle&lt;/em&gt; is semi-cozy robot restaurant fic. I say "semi" because there's some nasty online harassment which kind of took it out of the comfort zone for me, but all does end happily. I read &lt;em&gt;The River Has Roots&lt;/em&gt; (Amal El-Mohtar) but I'm afraid it didn't stick with me. &lt;em&gt;What Stalks the Deep&lt;/em&gt; (T. Kingfisher) is more Ruritanian myco-horror. The series is getting more nuanced in neat ways. Also the author seems to be writing books &lt;em&gt;literally&lt;/em&gt; faster than I can read them; I have no idea how she does it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Novelette:&lt;/strong&gt; I haven't read any of the nominees but I'm excited to see a new Scott Lynch story and will definitely track it down.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Graphic novel:&lt;/strong&gt; This probably makes me an uncultured oaf, but I'm really enjoying &lt;em&gt;The Power Fantasy&lt;/em&gt; (Kieron Gillen, Caspar Wijngaard, Clayton Cowles). No, the world did not need another take on superheroes; yes, this one is well done.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Related work:&lt;/strong&gt; I &lt;em&gt;want&lt;/em&gt; to read &lt;em&gt;Inventing the Renaissance&lt;/em&gt; (Ada Palmer) but I have not yet dug in and done it. I &lt;em&gt;have&lt;/em&gt; read most of &lt;em&gt;Last War in Albion&lt;/em&gt; (Elizabeth Sandifer) -- interest: I support her Patreon. The nominated chapter, "The Cuddled Little Vice (Sandman)", is a stand-alone deep-dive into Neil Gaiman And That Whole Situation, but starting right at Gaiman's launch as an ambitious journalist. It's a hell of a read.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dramatic Long Form:&lt;/strong&gt; &lt;em&gt;KPop Demon Hunters&lt;/em&gt; was as much fun as everybody said. I don't think a single thing in the plot &lt;em&gt;surprised&lt;/em&gt; me, but they got a lot out of the Rumi-Celine parental relationship.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dramatic Short Form:&lt;/strong&gt; Okay, I have good coverage here. &lt;em&gt;Murderbot&lt;/em&gt; (two episodes nominated) was excellently done. "The Story &amp;amp; the Engine" got in my head enough that I turned into a &lt;a href="https://blog.zarfhome.com/2025/07/73-stories"&gt;Dr Who blogger&lt;/a&gt; for a day. &lt;em&gt;The Wheel of Time&lt;/em&gt;, hey, I never read the books but they got three watchable seasons out of it. And &lt;em&gt;Severance&lt;/em&gt; is very impressive, although not in a pleasant way. (And I still think it should have been a one-season firecracker with a WTF ending. This is, after all, the spiritual remake of &lt;em&gt;The Prisoner&lt;/em&gt;.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fan Writer:&lt;/strong&gt; I know nobody reads down this far, but I follow and enjoy James Nicoll's book reviews. I particularly admire his unfailing optimism and faith in the human &lt;em&gt;bwaaaaaahhh&lt;/em&gt; okay I couldn't finish that sentence. He's fun to read. Interest: I once went to a fan meetup at James's game store, back when he ran a game store.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Game&lt;/strong&gt;: I surely loved the heck out of &lt;em&gt;Blue Prince&lt;/em&gt;. The &lt;em&gt;Citizen Sleeper&lt;/em&gt; games are solid work. (My comments: &lt;a href="https://blog.zarfhome.com/2022/09/recent-narrative-games-summer-2022#citizen-sleeper"&gt;CS1&lt;/a&gt;, &lt;a href="https://blog.zarfhome.com/2025/02/timekillers-round-two#citizen-sleeper-2"&gt;CS2&lt;/a&gt;.) I haven't played the others, largely due to the fact that I can't parry for crap and skip any game where I need to. &lt;em&gt;Dispatch&lt;/em&gt; is the non-combat one that I missed; heard good things about it but never got around to.&lt;/p&gt;
&lt;h3&gt;But let's talk about stats!&lt;/h3&gt;
&lt;p&gt;You may recall from my &lt;a href="https://blog.zarfhome.com/2025/08/hugo-game-stats"&gt;2025 post&lt;/a&gt; that, in last year's Best Game category, the final round of voting was pretty clearly split between "indie gamers" and "AAA gamers". I'm not trying to nail down category definitions; I'm just observing that almost every voter who put &lt;em&gt;Dragon Age: Veilguard&lt;/em&gt; first put &lt;em&gt;Zelda: Echoes of Wisdom&lt;/em&gt; second, and vice versa. Everybody else was split between &lt;em&gt;Caves of Qud&lt;/em&gt;, &lt;em&gt;1000xResist&lt;/em&gt;, &lt;em&gt;Tactical Breach Wizards&lt;/em&gt;, and &lt;em&gt;Lorelei and the Laser Eyes&lt;/em&gt; -- but those folks generally did not rank the two "big games" high.&lt;/p&gt;
&lt;p&gt;As a result, there were nearly (though not entirely) two separate races. &lt;em&gt;Dragon Age&lt;/em&gt; won one, &lt;em&gt;Qud&lt;/em&gt; won the other, and then &lt;em&gt;Qud&lt;/em&gt; handily beat &lt;em&gt;Dragon Age&lt;/em&gt; in the final showdown.&lt;/p&gt;
&lt;p&gt;Will the same logic apply in 2026? Let's have those nominees again:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Blue Prince&lt;/em&gt; (Dogubomb / Raw Fury)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Citizen Sleeper 2: Starward Vector&lt;/em&gt; (Jump Over the Age / Fellow Traveller)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Clair Obscur: Expedition 33&lt;/em&gt; (Sandfall Interactive / Kepler Interactive)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Dispatch&lt;/em&gt; (AdHoc Studio)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Hades II&lt;/em&gt; (Supergiant Games)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Hollow Knight: Silksong&lt;/em&gt; (Team Cherry)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;None of those companies are Nintendo or Electronic Arts, that's for sure. Or even Bioware. These are all plausibly indie games; all six got labelled as "independent" in industry award shows. Although I've seen plenty of argument over whether &lt;em&gt;Clair Obscur&lt;/em&gt; was too big or too big-budget to really count.&lt;/p&gt;
&lt;p&gt;On the other hand, &lt;em&gt;Silksong&lt;/em&gt; and &lt;em&gt;Hades 2&lt;/em&gt; both came in with the &lt;em&gt;expectation&lt;/em&gt; of being Momentous Games Releases. &lt;em&gt;Clair Obscur&lt;/em&gt; was a surprise, but rapidly hit escape velocity and, e.g., swept the heck out of &lt;a href="https://www.polygon.com/the-game-awards-2025-all-winners/"&gt;The Game Awards 2025&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So when I observed a split in 2025, what was I really seeing?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If it was between fans of giant traditional game companies and fans of small studios, then it doesn't apply at all this year.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If it was between fans of big-budget behemoths and scrappy little projects, then it may be &lt;em&gt;Clair Obscur&lt;/em&gt; against everybody else.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If it was between fans of long-expected titles and fans of surprise newcomers, then it's &lt;em&gt;Silksong&lt;/em&gt; and &lt;em&gt;Hades&lt;/em&gt; vs the world. (&lt;em&gt;Citizen Sleeper 2&lt;/em&gt; is a sequel but not in a way that makes it big news.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If it's people who think award-winning games should win more awards vs people who want to give weird little niches a chance, then it's &lt;em&gt;Silksong / Hades / Clair Obscur&lt;/em&gt; against &lt;em&gt;Blue Prince / Dispatch / Citizen Sleeper&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Obviously none of these cases predict a winner. The whole point of the runoff system is that the race is not superdetermined by a single litmus test. (Nothing in 2025 told you in advance that &lt;em&gt;Qud&lt;/em&gt; would be the favorite indie game.) &lt;/p&gt;
&lt;p&gt;Really I'm just pinning down some cases, so that my post-2026 analysis has hypotheses to falsify! Gonna be an interesting race regardless.&lt;/p&gt;</content><category term="hugos"/><category term="worldcon"/><category term="awards"/></entry><entry><title>A bunch of games with nothing in common</title><link href="https://blog.zarfhome.com/2026/04/games-with-nothing-in-common" rel="alternate"/><published>2026-04-18T13:21:05+00:00</published><updated>2026-04-18T13:21:05+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-04-18:/2026/04/games-with-nothing-in-common</id><summary type="html">I know I haven't done a game-review wrap-up since... January? Yikes. And those were mostly reviews I wrote back in the November. (Fall is IGF judging season.) Infocom stuff has taken up most of my free time -- not to mention GDC travel and NarraScope ...</summary><content type="html">&lt;p&gt;I know I haven't done a game-review wrap-up since... &lt;a href="https://blog.zarfhome.com/2026/01/2026-igf-nominees"&gt;January&lt;/a&gt;? Yikes. And those were mostly reviews I wrote back in the November. (Fall is IGF judging season.)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://eblong.com/infocom/visi/"&gt;Infocom stuff&lt;/a&gt; has taken up most of my free time -- not to mention &lt;a href="https://blog.zarfhome.com/2026/03/twine-zork-gdc"&gt;GDC travel&lt;/a&gt; and &lt;a href="https://narrascope.org/"&gt;NarraScope planning&lt;/a&gt;. But I have played a &lt;em&gt;few&lt;/em&gt; games. I mean, new Nosgoth lore, I can't turn that down.&lt;/p&gt;
&lt;p&gt;Here's some stuff that's been going on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Séance of Blake Manor&lt;/li&gt;
&lt;li&gt;Intelligence&lt;/li&gt;
&lt;li&gt;The Artisan of Glimmith&lt;/li&gt;
&lt;li&gt;Blippo+&lt;/li&gt;
&lt;li&gt;Kevin's Playing in Berlin &lt;/li&gt;
&lt;li&gt;Planet of Lana 2&lt;/li&gt;
&lt;li&gt;Legacy of Kain: Ascendance &lt;/li&gt;
&lt;/ul&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;h2 id="the-seance-of-blake-manor"&gt;The Séance of Blake Manor&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Spooky Doorway -- &lt;a href="https://www.spookydoorway.com/the-seance-of-blake-manor/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A line-art mystery game set in rural Ireland, 1897. This is &lt;em&gt;not&lt;/em&gt; the static detection genre; it's a good old-fashioned (doubly old-fashioned!) mystery where you walk around a hotel and ask people questions and try to catch them in lies. And dig through their luggage while they're having a drink down the bar.&lt;/p&gt;
&lt;p&gt;Specifically, it's non-static in that time passes. You can run out. Time only passes when you &lt;code&gt;EXAMINE&lt;/code&gt; or &lt;code&gt;ASK SOMEONE ABOUT&lt;/code&gt; -- as we say in parser-land -- but since those are the things you &lt;em&gt;do&lt;/em&gt; in the game, it's a real limit. The limit got on my nerves and I didn't finish the game.&lt;/p&gt;
&lt;p&gt;I can see exactly how they got there. The manor is full to the Plimsoll line with random stuff -- you can pry into every shelf and drawer in every room. You &lt;em&gt;don't&lt;/em&gt; want to lawnmower all that, or ask every person about every topic. You're not supposed to! Figuring out what's worth your time is a core game skill. And the only way to land that is to give every query a tiny &lt;em&gt;(tiny)&lt;/em&gt; opportunity cost. You really have plenty of time; the tutorial sequences make that very clear.&lt;/p&gt;
&lt;p&gt;And yet. Some critical objects are not distinguished at all. Sometimes you really do have to examine every bookshelf in every room until you run across the Bible with writing in the flyleaf.&lt;/p&gt;
&lt;p&gt;It's not a big deal to waste ten game minutes, or even thirty. But the prospect of blowing &lt;em&gt;unbounded&lt;/em&gt; game time looking for a puzzle-unlock was... hurty. So I hit a walkthrough. And once I went to the walkthrough, I realized that I kind of wanted to use a walkthrough for &lt;em&gt;every&lt;/em&gt; puzzle, and then... I just never got back to playing the game.&lt;/p&gt;
&lt;p&gt;I'm sure that if I'd kept at it, I would have reached a good ending. It was early Saturday evening (about halfway through the timeline); I'd finished several story threads and made good progress on all of them. I wasn't &lt;em&gt;stuck&lt;/em&gt;. I kept the game installed for a couple of weeks, saying "Surely I will get back to this and finish it." Eventually I realized I was lying.&lt;/p&gt;
&lt;p&gt;You know, this is exactly how everybody felt who bounced off &lt;em&gt;Blue Prince&lt;/em&gt;. "The game is fine, they just have to get rid of this one annoying mechanic that doesn't even have anything to do with the puzzles!" Yeah, and &lt;em&gt;Blue Prince&lt;/em&gt; without the RNG is a different game. &lt;em&gt;Blake Manor&lt;/em&gt; without the time limits is a different game. I am not bold enough to assert that it would be a better game.&lt;/p&gt;
&lt;p&gt;I enjoyed all the bits of &lt;em&gt;Blake Manor&lt;/em&gt; that I played. It's a good (if somewhat miscellaneous) collection of period-occultist mini-dramas. The characters are all colorful and entertaining. There's a library and a hedge maze and many secret doors.&lt;/p&gt;
&lt;p&gt;Footnote: One of my friends noted that the hotel staff includes women named "Caitlin" and "Saoirse", which is not really period. Working-class Irish women in 1897 would have been named "Mary" and "Mary".&lt;/p&gt;
&lt;h2 id="intelligence"&gt;Intelligence&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Zero Trick Pony games -- &lt;a href="https://intelligencegame.tech"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A short &lt;a href="https://intelligencegame.tech"&gt;web-based&lt;/a&gt; static deduction game... in &lt;em&gt;space&lt;/em&gt;! Which is to say, in a near-future Expanse-ish sci-fi setting. Spaceships -- corporate, commercial, and military -- zoom around the Solar System, but some of them have gone missing. Figure out how and where each one wound up. It's a pleasant combination of querying witnesses, digging through databases, and applying analysis tools.&lt;/p&gt;
&lt;p&gt;Also, a storyline with an exciting climactic scene. The game isn't "static" in the sense of no time passing; you are involved in events. They arrive at your pace, though. You're uncovering what happened, not deciding how the story will go. (Until... well, you'll see.)&lt;/p&gt;
&lt;p&gt;I like the general design sense of "you gain more options over time". More topics to ask about, more databases to query in, more analysis tools. I think this is what &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2022/01/2022-igf-nominees-miscellaneous#strange-horticulture"&gt;Strange Horticulture&lt;/a&gt;&lt;/em&gt; brought to the party that makes it a particular favorite of mine. It's well-used here.&lt;/p&gt;
&lt;p&gt;...Okay, I just love analysis tools. &lt;em&gt;&lt;a href="https://intelligencegame.tech"&gt;Intelligence&lt;/a&gt;&lt;/em&gt; doesn't get very complicated -- you always have a good sense of where or how to dig on a particular clue -- but being able to run some "electromagnetic data" through the &lt;em&gt;weapon signature analyzer&lt;/em&gt; vs the &lt;em&gt;engine signature analyzer&lt;/em&gt; is a tiny bit of adventure-game logic that makes the world come alive.&lt;/p&gt;
&lt;h2 id="the-artisan-of-glimmith"&gt;The Artisan of Glimmith&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Lunarch Studios -- &lt;a href="https://store.steampowered.com/app/4160210/The_Artisan_of_Glimmith/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://blog.zarfhome.com/2016/07/point-of-view-in-witness-design"&gt;Witness&lt;/a&gt;&lt;/em&gt;-like rule-based panel puzzles, only not first-person.&lt;/p&gt;
&lt;p&gt;There's a whole lot of these puzzles and they're consistently challenging, fair, and tight. You just know the designers built a whole testing framework to verify that every puzzle has a unique solution even though most players will &lt;em&gt;never notice that&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;But, as with &lt;a href="https://blog.zarfhome.com/2025/07/summer-puzzle-games#cipher-zero"&gt;most&lt;/a&gt; of these puzzle-puzzle-puzzle games, I eventually felt exhausted and put it away. It's too same-y to play in long sessions, and (as a Steam game) too heavy-weight for me to pick up for a quick snack.&lt;/p&gt;
&lt;p&gt;I really do want some sense of &lt;em&gt;exploring a world&lt;/em&gt; and finding something cool around the next corner. &lt;em&gt;Glimmith&lt;/em&gt; is laid out as a floating village in space, but you're not &lt;em&gt;in&lt;/em&gt; the village; it's a rigidly external viewpoint. Which, yes, they use to hide a few sneaky bonus puzzles -- but in a way that &lt;em&gt;rules out&lt;/em&gt; any sense of embodiment. If you were present in the world, you could turn your head!&lt;/p&gt;
&lt;p&gt;If they ever ship an iOS version, mind you, I'll jump right back in. That's the snack device for me. As it were.&lt;/p&gt;
&lt;h2 id="blippo"&gt;Blippo+&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Ekistics Entertainment  -- &lt;a href="https://blippo.plus/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Delightful snippets of alien cable TV. "It's not a game!" warns everybody, presumably to the sort of fragile flowers who get panic attacks if they go twenty minutes without seeing a health bar. You know what? &lt;em&gt;Blippo+&lt;/em&gt; &lt;em&gt;is&lt;/em&gt; a game. It updates as you play (slowly, in chunks) and you see events progressing. It's fundamentally the same genre as &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2022/10/immortality"&gt;Immortality&lt;/a&gt;&lt;/em&gt;, or &lt;em&gt;Portal&lt;/em&gt; if 1986-quality FMV had been available in 1986.&lt;/p&gt;
&lt;p&gt;Headcanon: Planet Blip is from the same universe as &lt;em&gt;&lt;a href="https://www.youtube.com/watch?v=MW29FeIcKVU"&gt;Rise and Fall of Sanctuary Moon&lt;/a&gt;&lt;/em&gt;. Look at the hair, tell me I'm wrong. Fhloston (as in Fhloston Paradise) is mentioned as well.&lt;/p&gt;
&lt;h2 id="kevins-playing-in-berlin"&gt;Kevin's Playing in Berlin&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Kevin Du -- &lt;a href="https://store.steampowered.com/app/3982990/kevins_PLAYING_in_berlin/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kevin Du writes a game. I buy the game. I install the game. I have no idea what I'm supposed to do with the game. I uninstall the game. Then I buy his next game because I want him to keep doing this.&lt;/p&gt;
&lt;p&gt;I guess my position is that these &lt;em&gt;are&lt;/em&gt; games but -- at least for &lt;em&gt;&lt;a href="https://kevindu.itch.io/ginger"&gt;Ginger&lt;/a&gt;&lt;/em&gt; and this one -- the set of people who are supposed to play them is empty. Russell would weep; Cantor would lie down with a damp cloth on his face.&lt;/p&gt;
&lt;p&gt;This time it's three mini-games and I have no idea what I'm supposed to do in any of them.&lt;/p&gt;
&lt;h2 id="planet-of-lana-2"&gt;Planet of Lana 2&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Wishfully Studios -- &lt;a href="https://www.planetoflana.com/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another non-pixel-art side-scrolling puzzle platformer set on, well, the planet of &lt;a href="https://blog.zarfhome.com/2024/01/2024-igf-nominees-normal-stuff#planet-of-lana"&gt;Lana&lt;/a&gt;. (Lana is the protagonist, not the planet.)&lt;/p&gt;
&lt;p&gt;This makes a good solid attempt at bringing in new mechanics beyond pushing crates and dodging sentry robots. Mind you, you still do both of those things, but there's also drones and fish. And you can swim. There's the occasional chase sequence.&lt;/p&gt;
&lt;p&gt;I think the mechanics were good, but they went for complexity over difficulty. You have to do a lot of multi-step tasks that aren't tricky per se. And it throws you right into most of them. The "Use Mui's special ability to take over a drone and use its special ability" loop was particularly hard to grasp, for a core mechanic. Can we talk about a complexity ramp as distinct from a difficulty ramp? The puzzles themselves are light-weight, but I feel like the target audience will get lost trying to operate them.&lt;/p&gt;
&lt;p&gt;Worked fine for me, though. As far as I'm concerned, the &lt;em&gt;Lana&lt;/em&gt; games are mostly about the evocative hand-painted environments and the story (unsubtitled but enthusiastically animated). &lt;/p&gt;
&lt;p&gt;Here, I'll tell you my favorite bit. The game sticks very firmly to the 2D-platformer plane -- it has to, for the puzzles to make sense. All movement is left-right / up-down. &lt;em&gt;Except&lt;/em&gt; that in one cut scene, Lana turns 90 degrees and follows another character into the background. And it's ominous! "Noooo, don't step off the path! You're making a terrible mistake! &lt;em&gt;Never break the frame!&lt;/em&gt;" With ominous music, even. And yes, the story cashes that check. I laughed and laughed.&lt;/p&gt;
&lt;h2 id="legacy-of-kain-ascendance"&gt;Legacy of Kain: Ascendance&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;by Bit Bot Game Studios -- &lt;a href="https://www.crystaldynamics.com/projects/legacy-of-kain-ascendance/"&gt;game site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A pixel-art side-scrolling beat-em-up platformer set in Nosgoth.&lt;/p&gt;
&lt;p&gt;This is both delightful and entirely laughable. I mean, the whole point of the &lt;em&gt;Kain&lt;/em&gt; series is overwrought vampire gothiness taken up to eleven and then doubled. (Camp-22?) It can't &lt;em&gt;not&lt;/em&gt; be laughable.&lt;/p&gt;
&lt;p&gt;But this is specifically the thing of inventing an Original Character -- Elaleth, birth-sister of Raziel -- and inserting her into every possible gap in the storyline. And doing it &lt;em&gt;really well&lt;/em&gt;, because the writers know the storyline like the backs of their demonically-clawed hands. It couldn't be more fanfic if her name were Elaleth Dark'ness Dementia.&lt;/p&gt;
&lt;p&gt;Please understand that I am not &lt;em&gt;complaining&lt;/em&gt;. I love involuted fanon. I am here for it. And it's not like trying to expand canon in new directions is &lt;em&gt;inherently&lt;/em&gt; a better idea; that's how we got the boring Hylden, who remain boring. I am just saying that filling in gaps is a self-limiting prospect.&lt;/p&gt;
&lt;p&gt;Ok look: I am playing this in alternating chapters with the remastered &lt;em&gt;LoK: Defiance&lt;/em&gt;, of which I once wrote: "The major story revelations are all either murky or implausible." The awful truth may be -- you can't make me admit this but I have to say the words -- that the Nosgoth setting never had that much potential to begin with.&lt;/p&gt;
&lt;p&gt;On the up side, they got back every veteran voice actor they could. Grace to the memories of Tony Jay and René Auberjonois.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Any&lt;/em&gt;-how. Side-scrolling platformer! It's mostly fighting mooks and jumping. If you play in story mode (like me, obviously) you have infinite hit points so it's just jumping. And enjoying the laughable dialogue. And reading the little lore journals, which &lt;em&gt;do&lt;/em&gt; expand the canon, full credit there honestly.&lt;/p&gt;
&lt;p&gt;Mind you, you have to be pretty good at jumping sequences. Those get tricky. Again, story mode lets you ignore the fireballs and flying green demonponies (seriously, what were those?) I recommend story mode.&lt;/p&gt;
&lt;p&gt;Anyhow, if you can name the Nine Pillars off the top of your head or you're ready to shout "omg it's Janos Audron's Retreat in pixel-art!", I've got your goods. &lt;em&gt;But:&lt;/em&gt; I have not yet finished playing. I leave this space open for the ending to wow me after all: &lt;code&gt;_____&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;EDIT-ADD: Yeah, that's about what I expected. Hit all the right marks; no surprises.&lt;/p&gt;
&lt;p&gt;Demonically clawed footnote: I see the story was adapted from a kickstarted &lt;a href="https://www.hiveinteractive.net/projects/legacy-of-kain-soul-reaver-prequel-graphic-novel-269"&gt;graphic novel&lt;/a&gt;. And I see that fans got cranky about getting an Original Character. Sigh. &lt;/p&gt;
&lt;p&gt;Look, there's nothing wrong with Elalath as a protagonist. I was happy to get a fresh voice. When I complain about "filling in the gaps", it's because a perfectly good character is used as scaffolding for Raziel's &lt;a href="https://eblong.com/zarf/nosgoth/timeline.html"&gt;thoroughly-mapped-out&lt;/a&gt; storyline. And the writer &lt;em&gt;knows&lt;/em&gt; this, because the game (and I assume the comic) ends with Elaleth walking offstage into her &lt;em&gt;own&lt;/em&gt; storyline!&lt;/p&gt;
&lt;p&gt;I don't know if the sequel hook will come to anything, but I'm on board for it. And yes, I will pick up &lt;em&gt;Dead Shall Rise&lt;/em&gt; in print. I'm just sorry it doesn't come with Simon Templeman and Michael Bell sneering and brooding over every line.&lt;/p&gt;</content><category term="reviews"/><category term="the seance of blake manor"/><category term="intelligence"/><category term="the artisan of glimmith"/><category term="blippo+"/><category term="kevin's playing in berlin"/><category term="planet of lana"/><category term="legacy of kain"/><category term="ascendance"/><category term="soul reaver"/></entry><entry><title>A Cornerstone interpreter and the mu machine</title><link href="https://blog.zarfhome.com/2026/04/cornerstone-and-the-mu-machine" rel="alternate"/><published>2026-04-05T16:25:17+00:00</published><updated>2026-04-05T16:25:17+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-04-05:/2026/04/cornerstone-and-the-mu-machine</id><summary type="html">I'm going to tell this one out of order, because it's not April Fool's Day any more. Tara McGrew, the author of the modern ZILF compiler, has released Linchpin, a brand-new implementation of Infocom's "mu machine". That's the virtual machine ...</summary><content type="html">&lt;p&gt;I'm going to tell this one out of order, because it's not April Fool's Day any more.&lt;/p&gt;
&lt;p&gt;Tara McGrew, the author of the modern &lt;a href="https://zilf.io"&gt;ZILF&lt;/a&gt; compiler, has released &lt;a href="https://github.com/taradinoc/linchpin"&gt;Linchpin&lt;/a&gt;, a brand-new implementation of Infocom's "mu machine". That's the virtual machine which powered Cornerstone.&lt;/p&gt;
&lt;div class="ImageWrap ImageBorder Center"&gt;
&lt;p&gt;&lt;img alt="A terminal-window screen displaying a database view. The upper lines are a menu with commands like UPDATE, SELECT, and VIEW. The header below these says &amp;quot;VIEW CUSTOMER / 15 Records / Not sorted&amp;quot;. Below that is a list of fictitious businesses like &amp;quot;Newton Auto Rentals&amp;quot; and &amp;quot;Watertown Car Center&amp;quot;." height="392" src="https://blog.zarfhome.com/pic/2026/04/corner-view-customer.png" width="580" /&gt;
Cornerstone 5.20, displaying its sample database, running in the Linchpin interpreter.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;...You all know about &lt;a href="https://www.ifwiki.org/Cornerstone"&gt;Cornerstone&lt;/a&gt;, right? Infocom's first and last business product? Ate up all their game profits at exactly the point when the company couldn't afford it? Go read the &lt;a href="https://www.filfre.net/2014/04/down-from-the-top/"&gt;Digital Antiquarian article&lt;/a&gt;; Jimmy tells it better than me.&lt;/p&gt;
&lt;p&gt;Anyhow. Since the 1990s, Infocom fans have put uncountable nerd-years into supporting the Z-machine. Almost nobody has looked at Cornerstone. It just wasn't a fun idea. John Elliott did some &lt;a href="https://www.seasip.info/DOS/Cornerstone/cornerstone.html"&gt;reverse-engineering work&lt;/a&gt; (see his comments in the DA post) but didn't get very far.&lt;/p&gt;
&lt;p&gt;As of last week, that has changed. It's a new age for aficionados of failed 1985 database products! &lt;a href="https://github.com/taradinoc/linchpin"&gt;Linchpin&lt;/a&gt; includes a working interpreter for Cornerstone's VM. It also includes an assembler, so you can create new programs for that VM.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;As a final touch, Tara updated &lt;a href="https://zilf.io"&gt;ZILF&lt;/a&gt; with a new back-end. It can now compile ZIL code directly to the Cornerstone VM. I mentioned April Fool's Day? On April 1st, Tara &lt;a href="https://intfiction.org/t/cornerstones-vm-was-cornerstone-for-atari/79644"&gt;announced&lt;/a&gt; that she had found not only the unreleased Atari ST port of Cornerstone, but a version of Zork that runs on the mu machine.&lt;/p&gt;
&lt;p&gt;This was, to be clear, a joke. Atari Cornerstone remains a lost project, and Infocom never considered cross-compiling its games. However, the &lt;a href="https://hansprestige.com/cornerstone/zork.st"&gt;Zork disk&lt;/a&gt; and the &lt;a href="https://hansprestige.com/cornerstone/corner.st"&gt;Cornerstone disk&lt;/a&gt; &lt;em&gt;exist&lt;/em&gt;; Tara created them. You can get them running on an Atari emulator, or an actual Atari ST if you feel ambitious.&lt;/p&gt;
&lt;p&gt;(Note: &lt;a href="https://github.com/taradinoc/linchpin"&gt;Linchpin&lt;/a&gt; is available, but I don't see the updated version of &lt;a href="https://zilf.io"&gt;ZILF&lt;/a&gt; yet.)&lt;/p&gt;
&lt;p&gt;That's the news flash. Now I shall take questions.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Yes, you in the back. Yes? Well, if you bought Cornerstone...&lt;/p&gt;
&lt;p&gt;Oop, sorry -- let me repeat the question.&lt;/p&gt;
&lt;h3&gt;Why do I keep saying "mu machine"?&lt;/h3&gt;
&lt;p&gt;If you bought Cornerstone back in 1985, you could see that the DOS executable was called &lt;code&gt;MME.EXE&lt;/code&gt;, and one of its data files was &lt;code&gt;CORNER.MME&lt;/code&gt;. The &lt;code&gt;MME&lt;/code&gt; command is mentioned in the &lt;a href="https://archive.org/details/cornerstone-owners-handbook-ii/page/191/mode/2up"&gt;Cornerstone manual&lt;/a&gt; as well. So the name "MME" was clearly a &lt;em&gt;thing&lt;/em&gt;. But we didn't know what it meant.&lt;/p&gt;
&lt;p&gt;However, after Tara's post, I dug into my backlog of Infocom data to see if I could find anything about Cornerstone. I didn't find much; what's been preserved is from &lt;a href="https://archive.org/details/infocomcabinet"&gt;Infocom's game division&lt;/a&gt;, not the business division.&lt;/p&gt;
&lt;p&gt;However, I did find this quote, apparently intended for a &lt;em&gt;Status Line&lt;/em&gt; article that never came to be:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Currently, we have three types of interpreters: ZIP (for Zork Interpretive Program) which runs the games, MME (for Mu Machine Emulator) which runs Cornerstone, and DIP (for Display Interpretive Program) which runs &lt;em&gt;Fooblitzky.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Gotcha! I guess we can refer to μ-code now.&lt;/p&gt;
&lt;p&gt;(Modulo arguments about capitalization. We write "Z-code", so shouldn't we write "Μ-code" with a capital Mu? It's only a wee bit confusing...)&lt;/p&gt;
&lt;p&gt;(The name "DIP" turned up a few years ago when I was collecting &lt;a href="https://github.com/erkyrath/infocom-zcode-terps"&gt;Infocom's interpreter code&lt;/a&gt;. See &lt;a href="https://github.com/erkyrath/infocom-zcode-terps/tree/master/unix"&gt;here&lt;/a&gt; for their original DIP interpreter implementation. There are no modern open-source DIP interpreters, as far as I know. Maybe next April.)&lt;/p&gt;
&lt;h3&gt;What is the mu machine good for?&lt;/h3&gt;
&lt;p&gt;I don't know! I've barely looked at the interpreter code. Go read &lt;a href="https://www.seasip.info/DOS/Cornerstone/cornerstone.html"&gt;John Elliott's overview&lt;/a&gt; or this &lt;a href="https://github.com/taradinoc/linchpin/blob/master/data/instruction_grammar.json"&gt;partial instruction set description&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At a glance, it's a subject-neutral low-level VM. Most of the opcodes manipulate bytes and memory arrays. A few are dedicated to string comparison. It supports reading and writing files. It prints text directly to the screen (presumed to be a terminal-style grid); there's some stuff about dividing the screen into panes which can be scrolled independently. (You can see this in how Cornerstone runs.)&lt;/p&gt;
&lt;p&gt;The VM was &lt;em&gt;not&lt;/em&gt; specifically built to be a database. If Cornerstone had been a landmark hit, Infocom would have been well-poised to build "Infocalc", "Infowrite", and the other business ideas they had tossed around.&lt;/p&gt;
&lt;p&gt;One important note: the keyboard-read opcode (&lt;code&gt;KBINPUT&lt;/code&gt; in John Elliott's list) is a poll rather than a blocking read. This means that the interpreter busy-spins as it waits for input. I guess that made sense in the DOS era, but it's poor sportsmanship these days. A modern implementation should probably have a 5ms delay or something to keep the heat down.&lt;/p&gt;
&lt;h3&gt;Where can you download Cornerstone itself?&lt;/h3&gt;
&lt;p&gt;Until last week, I'd never gone looking for Cornerstone. (See "not fun" above.) But now of course I had to.&lt;/p&gt;
&lt;p&gt;The Internet Archive has a disk image of Cornerstone 5.1 in &lt;a href="https://archive.org/download/20230305_20230305_2208/Floppy/"&gt;this collection&lt;/a&gt;. Actually it's &lt;em&gt;five&lt;/em&gt; disk images, tagged as "Program Disk", "Sample Database", "Client Tracking", "Beginner's Guide 1", and "Beginner's Guide 2".&lt;/p&gt;
&lt;p&gt;For added fun, the "Program Disk" is served in three formats I never heard of: &lt;code&gt;.86f&lt;/code&gt;, &lt;code&gt;.mfm&lt;/code&gt;, and &lt;code&gt;.tc&lt;/code&gt;. Sorry -- I'm sure they're old hat to you, but I'm new to the world of PC emulation. But I managed to get the files off. I've now posted these (as regular easy-to-use &lt;code&gt;.zip&lt;/code&gt; files) to my &lt;a href="https://eblong.com/infocom/#cornerstone"&gt;Infocom Collection&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;Then I went hunting around the Internet, and hey look -- some abandonware site had a disk image for Cornerstone 5.20. So I added &lt;a href="https://eblong.com/infocom/#cornerstone"&gt;that one&lt;/a&gt; too. (Only four disks this time. It looks like the two "Beginner's Guides" have been combined, but I haven't tried them out.) &lt;/p&gt;
&lt;p&gt;Both versions can be fired up in &lt;a href="https://github.com/taradinoc/linchpin"&gt;Linchpin&lt;/a&gt;; see my &lt;a href="https://intfiction.org/t/cornerstones-vm-was-cornerstone-for-atari/79644/19"&gt;forum post&lt;/a&gt; for detailed instructions. Note that I ran into some bugs when trying to &lt;code&gt;ADD-RECORD&lt;/code&gt;. No doubt the interpreter will get some updates as people break it in.&lt;/p&gt;
&lt;p&gt;If you know of disk images of any other versions, by the way, drop me a line. I guess I'm collecting them now.&lt;/p&gt;</content><category term="infocom"/><category term="cornerstone"/><category term="mu-machine"/><category term="linchpin"/><category term="zilf"/></entry><entry><title>The Curse of the Forgotten Adverbs</title><link href="https://blog.zarfhome.com/2026/04/curse-of-the-forgotten-adverbs" rel="alternate"/><published>2026-04-03T01:53:30+00:00</published><updated>2026-04-03T17:12:16+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-04-03:/2026/04/curse-of-the-forgotten-adverbs</id><summary type="html">(My first title for this post was "The Mystery of the Missing Adverbs". That was just too trite. Instead I spun the ol' Stratemeyer Syndicate title wheel and picked different words. Now it's trite and clunky; sorry.) Adverbs are one of the great ...</summary><content type="html">&lt;p&gt;(My first title for this post was "The Mystery of the Missing Adverbs". That was just too trite. Instead I spun the ol' &lt;a href="https://en.wikipedia.org/wiki/List_of_Nancy_Drew_books"&gt;Stratemeyer Syndicate&lt;/a&gt; title wheel and picked different words. Now it's trite &lt;em&gt;and&lt;/em&gt; clunky; sorry.)&lt;/p&gt;
&lt;p&gt;Adverbs are one of the great Bad Ideas of interactive fiction. Imagine this sort of interaction:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;gt; EXAMINE BRICK WALL
At a glance, it's just an ordinary brick wall.&lt;/p&gt;
&lt;p&gt;&amp;gt; CAREFULLY EXAMINE BRICK WALL
Upon closer inspection, you see some cracks outlining a secret door!&lt;/p&gt;
&lt;p&gt;&amp;gt; PUSH WALL
The wall creaks and quivers slightly at your touch.&lt;/p&gt;
&lt;p&gt;&amp;gt; PUSH WALL FIRMLY
The secret door scrapes open, spraying dust and the funk of ages.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;We can parse verbs, adjectives, and nouns, so why not adverbs? They provide an additional axis of choice for the player's command. They can be situationally appropriate. (Note how I'm cueing the player to consider alternatives: "At a glance", "at your touch".) Is this a good idea?&lt;/p&gt;
&lt;p&gt;Well, no. It's bad. The standard reply is that this is &lt;em&gt;too much&lt;/em&gt; choice. It can't be connected to meaningful game responses. That is: 98% of the time, &lt;code&gt;EXAMINE CAREFULLY&lt;/code&gt; is going to do exactly the same thing as &lt;code&gt;EXAMINE&lt;/code&gt;, so the player will rapidly learn to not bother.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;Also, players are used to searching a two-axis space. "Try every verb on every noun" is boring; you don't &lt;em&gt;want&lt;/em&gt; the player to go there; but sometimes they get stuck and it happens. Trying every verb/noun/&lt;em&gt;adverb&lt;/em&gt; combination isn't practical at all.&lt;/p&gt;
&lt;p&gt;(I once tried to equate the two-axis noun-verb searchable space of text IF with the two-dimensional searchable screen space of &lt;em&gt;Myst&lt;/em&gt;. I was certainly overstating that connection -- this was before &lt;em&gt;RealMyst&lt;/em&gt; -- but it's fun to try.)&lt;/p&gt;
&lt;p&gt;This argument is not new in IF circles. In fact it's so well-known that I can't remember the last time someone seriously &lt;em&gt;proposed&lt;/em&gt; adding adverbs. They're only hauled out as an example of a Bad Idea!&lt;/p&gt;
&lt;p&gt;Except... occasionally, in one of those discussions, someone remembers that &lt;em&gt;Deadline&lt;/em&gt; &lt;em&gt;does&lt;/em&gt; use adverbs. And they kind of work, right? I mean, the game was playable. We used the right word at the right time and solved the mystery. And yet the idea was never followed up -- outside of Infocom's later mystery games.&lt;/p&gt;
&lt;p&gt;What's going on here?&lt;/p&gt;
&lt;p&gt;(SPOILER WARNING: Spoilers for the mysteries of &lt;em&gt;Deadline&lt;/em&gt;! Some of them, at least.)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;First, we note that the manual doesn't clue you in about adverbs &lt;em&gt;at all&lt;/em&gt;. Neither the &lt;a href="https://archive.org/details/CasebookDeadlineInfocom/Casebook_Deadline_Infocom/"&gt;folio-edition instructions&lt;/a&gt; nor the &lt;a href="https://infodoc.plover.net/manuals/temp/deadline.pdf"&gt;grey-box manual&lt;/a&gt; (they're slightly different). The sample game in the grey-box manual doesn't use any adverbs either. That's not great! It seems like the game wants you to try a command that you have no way of knowing about.&lt;/p&gt;
&lt;p&gt;UPDATE (Apr 3): Aaron Reed points out in comments that the &lt;a href="https://archive.org/details/CasebookDeadlineInfocom/Casebook_Deadline_Infocom/"&gt;folio manual&lt;/a&gt; &lt;em&gt;does&lt;/em&gt; mention &lt;code&gt;CAREFULLY&lt;/code&gt;. It's buried in the "Time Element" section:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Some actions, such as examinations done &lt;code&gt;CAREFULLY&lt;/code&gt;, may take a bit longer [than one minute].&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Obviously easy to miss, because I missed it! (So did my PDF search function, because the word &lt;code&gt;CAREFULLY&lt;/code&gt; is hyphenated in that sentence, sigh.) And they dropped that line when they wrote the &lt;a href="https://infodoc.plover.net/manuals/temp/deadline.pdf"&gt;grey-box manual&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But that's just ("just") the manual. Let's look at the parser code that handles adverbs. Here's the entire bit:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; (&amp;lt;OR &amp;lt;EQUAL? .WORD ,W?CAREFULLY ,W?QUIETLY&amp;gt;
  &amp;lt;EQUAL? .WORD ,W?SLOWLY ,W?QUICKLY
            ,W?BRIEFLY&amp;gt;&amp;gt;
  &amp;lt;SETG P-ADVERB .WORD&amp;gt;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;(Side note: Due to the way Infocom pasted parser code from one project to the next, these lines occur in almost every following game. However, they're usually commented out. Only &lt;em&gt;Deadline&lt;/em&gt;, &lt;em&gt;Witness&lt;/em&gt;, &lt;em&gt;Seastalker&lt;/em&gt;, and &lt;em&gt;Moonmist&lt;/em&gt; run this code. A few other games detect adverbs and say "Adverbs aren't needed in this game.")&lt;/p&gt;
&lt;p&gt;What does these lines do? They simply check for one of the five listed words (&lt;code&gt;CAREFULLY&lt;/code&gt;, &lt;code&gt;QUIETLY&lt;/code&gt;, &lt;code&gt;SLOWLY&lt;/code&gt;, &lt;code&gt;QUICKLY&lt;/code&gt;, &lt;code&gt;BRIEFLY&lt;/code&gt;), store it in the &lt;code&gt;P-ADVERB&lt;/code&gt; global variable, and move on with the parsing. Unlike the verb-noun structure, which is rigid, an adverb can occur anywhere in any command.&lt;/p&gt;
&lt;p&gt;However, very few commands &lt;em&gt;care&lt;/em&gt; about the &lt;code&gt;P-ADVERB&lt;/code&gt; variable. Like I said earlier: almost every action runs the same whether you do it &lt;code&gt;QUICKLY&lt;/code&gt; or &lt;code&gt;SLOWLY&lt;/code&gt;. Here is everything you can accomplish with an adverb in &lt;em&gt;Deadline&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you &lt;code&gt;CLIMB STAIRS QUIETLY&lt;/code&gt; or &lt;code&gt;SLOWLY&lt;/code&gt;, you learn that they creak no matter what.&lt;/li&gt;
&lt;li&gt;You can &lt;code&gt;EXAMINE/READ NEWSPAPER CAREFULLY/SLOWLY&lt;/code&gt; to find the business-section article about the Omnidyne merger.&lt;/li&gt;
&lt;li&gt;You can &lt;code&gt;EXAMINE/READ NOTEPAD CAREFULLY&lt;/code&gt; to discover the imprints left from the previous page.&lt;/li&gt;
&lt;li&gt;You can &lt;code&gt;EXAMINE/SEARCH BOOKSHELF CAREFULLY&lt;/code&gt; to notice the books that George moved when he... well, I won't spoil &lt;em&gt;that&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What, Master O'Lochlainn, do we observe here? First, it's a pretty haphazard list. (Why not accept &lt;code&gt;CLIMB STAIRS CAREFULLY&lt;/code&gt; too?)&lt;/p&gt;
&lt;p&gt;More important: all of these commands are &lt;em&gt;optional&lt;/em&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The game tells you that the stairs are creaky; so do the casefile interviews. Knowing that they're &lt;em&gt;inescapably&lt;/em&gt; creaky is just a confirmation.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;READ NEWSPAPER&lt;/code&gt; mentions that there are two sections and you've only glanced at one. You can then &lt;code&gt;READ SECOND SECTION&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The imprints on the notepad are a detective-story cliche; you might go straight for the pencil. &lt;code&gt;FEEL NOTEPAD&lt;/code&gt; gives you a blatant hint too.&lt;/li&gt;
&lt;li&gt;If you &lt;em&gt;saw&lt;/em&gt; George move the books, the adverb is not necessary. A regular &lt;code&gt;EXAMINE&lt;/code&gt; will direct your attention to the books you noticed earlier. &lt;code&gt;EXAMINE BOOKSHELF CAREFULLY&lt;/code&gt; is an alternate solution if you missed George sneaking around.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Is this on purpose? That is, did the designer deliberately avoid putting any adverbs on the critical path? I don't know for sure, but I suspect the answer is yes.&lt;/p&gt;
&lt;p&gt;One pointer is that there &lt;em&gt;is&lt;/em&gt; an unusual command form which is critical to finishing the game: &lt;code&gt;SEARCH NEAR/AROUND HOLES&lt;/code&gt;. And this one &lt;em&gt;is&lt;/em&gt; explicitly called out in the manual.&lt;/p&gt;
&lt;p&gt;(I feel like they should have accepted &lt;code&gt;SEARCH HOLES CAREFULLY&lt;/code&gt; as an alternate solution... but they don't. Oh well.)&lt;/p&gt;
&lt;p&gt;But there's one more game effect that I didn't mention, and I think it's the key:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Any &lt;code&gt;EXAMINE&lt;/code&gt; or &lt;code&gt;READ&lt;/code&gt; command takes 3-6 minutes longer if done &lt;code&gt;CAREFULLY&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This isn't just a matter of bumping the clock. All of &lt;em&gt;Deadline&lt;/em&gt;'s NPCs move around the house on a schedule, which means they can surprise you in the middle of an action:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;gt; EXAMINE CHANDELIER CAREFULLY
You hear a phone ringing in a nearby room.
Do you want to continue what you were doing? (Y/N)
&amp;gt; Y
To the north Mrs. Robner enters the hallway from the west.
The phone rings again.
Do you want to continue what you were doing? (Y/N)
&amp;gt; N
You never got to finish looking over the crystal lamp.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;If you want to stop Mrs. Robner, or answer the phone yourself, you have to interrupt your &lt;code&gt;EXAMINE&lt;/code&gt;. It's a trade-off! And trade-offs are the root of all game agency.&lt;/p&gt;
&lt;p&gt;Even if no characters happen by, you're aware of the clock ticking. You're on a schedule too. (The first thing you learn in the game is that the will-reading is at noon.) (For that matter, the game's tagline is "Twelve hours to solve the murder.") Spending several minutes on each &lt;code&gt;EXAMINE&lt;/code&gt; is genuinely too much time to waste. You have to pick and choose.&lt;/p&gt;
&lt;p&gt;Yes, yes, the game allows arbitrary save and restore. You &lt;em&gt;could&lt;/em&gt; search-scum your way around the mansion. But, like the "try every verb on every noun" strategy, it's clearly a tedious last resort.&lt;/p&gt;
&lt;p&gt;By placing &lt;code&gt;EXAMINE CAREFULLY&lt;/code&gt; into an "economy" of game resources, &lt;em&gt;Deadline&lt;/em&gt; breaks the (not-yet-invented) Curse of the Adverb. &lt;code&gt;EXAMINE CAREFULLY&lt;/code&gt; is &lt;em&gt;never&lt;/em&gt; the same as &lt;code&gt;EXAMINE&lt;/code&gt;; it's always a little worse, and sometimes (rarely) a lot better.&lt;/p&gt;
&lt;p&gt;Other adverbs don't fit this pattern. But then, none of them do anything interesting, with the very minor exception of &lt;code&gt;CLIMB STAIRS QUIETLY&lt;/code&gt;. Anyhow, you're a detective. &lt;code&gt;EXAMINE&lt;/code&gt; and &lt;code&gt;SEARCH&lt;/code&gt; are really the core actions of the game. Giving them extra flexibility suits the genre.&lt;/p&gt;
&lt;p&gt;See also &lt;code&gt;EXAMINE ROOM&lt;/code&gt;, the &lt;em&gt;other&lt;/em&gt; command which takes several minutes. The game explicitly warns you that it "wouldn't reveal much" -- and indeed it never does. You're supposed to &lt;code&gt;EXAMINE&lt;/code&gt; specific objects! But you can see why the game &lt;em&gt;allows&lt;/em&gt; &lt;code&gt;EXAMINE ROOM&lt;/code&gt;; it's clearly part of both the mystery genre and the time-economy of &lt;em&gt;Deadline&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So perhaps adverbs could be extended to other IF after all. It would require (1) a genre in which some actions require more variety than a raw verb; and (2) a meaningful resource cost for the player to balance. Want to give it a go?&lt;/p&gt;
&lt;p&gt;(It would make sense for &lt;code&gt;WALK NORTH SLOWLY/QUIETLY&lt;/code&gt; to take extra time as well. Or &lt;code&gt;FOLLOW GEORGE QUIETLY&lt;/code&gt;? But NPCs move at a steady one room per turn, for simplicity's sake. Slowing down the player would break the &lt;code&gt;FOLLOW&lt;/code&gt; entirely -- not what you want. Maybe some other trade-off...)&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="infocom"/><category term="zil"/><category term="deadline"/><category term="parser"/><category term="adverbs"/></entry><entry><title>Ludic Narrans</title><link href="https://blog.zarfhome.com/2026/03/ludic-narrans" rel="alternate"/><published>2026-03-28T23:23:08+00:00</published><updated>2026-03-28T23:23:08+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-03-28:/2026/03/ludic-narrans</id><summary type="html">Hey, remember I was in a game studies essay collection that just came out? I'm in a new game studies interview collection that just came out! This one isn't about game design, though. It's not lectures at all -- I promise you are in no danger ...</summary><content type="html">&lt;p&gt;Hey, remember I was in a &lt;a href="https://blog.zarfhome.com/2026/03/the-game-narrative-kaleidoscope"&gt;game studies essay collection&lt;/a&gt; that just came out? I'm in a new &lt;a href="https://playstorypress.org/ludic-narrans/"&gt;game studies interview collection&lt;/a&gt; that just came out!&lt;/p&gt;
&lt;div class="Center"&gt;
&lt;p&gt;&lt;a href="https://playstorypress.org/books/ludic-narrans-playing-it-straight/"&gt;&lt;img alt="Ludic Narrans (Playing it Straight) / Stories of/by/for the Fields of Play / Drew Davidson, Emily Matheny, et al." height="432" src="https://blog.zarfhome.com/pic/2026/03/cover-playing-it-straight.jpeg" width="300" /&gt;&lt;/a&gt;
&lt;a href="https://playstorypress.org/books/ludic-narrans-playing-around/"&gt;&lt;img alt="Ludic Narrans (Playing Around) / Stories of/by/for the Fields of Play / Drew Davidson, Emily Matheny, et al." height="432" src="https://blog.zarfhome.com/pic/2026/03/cover-playing-around.jpeg" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This one isn't about game design, though. It's not lectures at all -- I promise you are in no danger of learning to &lt;em&gt;do&lt;/em&gt; anything in particular. The book is about &lt;em&gt;play&lt;/em&gt; as a general concept. A bunch of people from different walks of life, talking about play. How we play; how we create play; where we play; how we learned to play; why we play. And on.&lt;/p&gt;
&lt;p&gt;The project sprouted from a series of interviews and questions organized by Drew Davidson. I agreed to talk to Drew, and so did a lot of other people, and this book is the result. "A playful thematic oral history of the stories shared," as the blurb page says.&lt;/p&gt;
&lt;p&gt;Like the &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2026/03/the-game-narrative-kaleidoscope"&gt;Kaleidoscope&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://playstorypress.org/ludic-narrans/"&gt;Ludic Narrans&lt;/a&gt;&lt;/em&gt; messes with the idea of linearity. Two editions are available: &lt;em&gt;&lt;a href="https://playstorypress.org/books/ludic-narrans-playing-it-straight/"&gt;Playing it Straight&lt;/a&gt;&lt;/em&gt; is organized by topic, whereas &lt;em&gt;&lt;a href="https://playstorypress.org/books/ludic-narrans-playing-around/"&gt;Playing Around&lt;/a&gt;&lt;/em&gt; interleaves topical sections in a playful fugue. Same content, variable structure.&lt;/p&gt;
&lt;p&gt;Names you might recognize: Jenova Chen, Naomi Clark, Mia Consalvo, James Ernest, Rami Ismail, Jim Munroe, and no doubt others. And me of course.&lt;/p&gt;
&lt;p&gt;Both editions are available as free PDFs. (See the "Download" links on the book pages.) The text is under a Creative Commons license (BY-NC-ND).&lt;/p&gt;
&lt;p&gt;Or you can pay for either print or ebook editions at Lulu. Note that each print edition is itself available in two forms. The only difference is the interior illustrations, printed in color or monochrome. (They're nice illustrations but I wouldn't call them central to the book's presentation.)&lt;/p&gt;
&lt;p&gt;Once again, I'll quote a single line from one of my bits:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;never been designed for. This is why tool programming starts out easy and then turns into a&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Grab the book to read the rest!&lt;/p&gt;</content><category term="zarf"/><category term="drew davidson"/><category term="books"/><category term="interviews"/><category term="play"/></entry><entry><title>GDC: gloom and haruspicy</title><link href="https://blog.zarfhome.com/2026/03/gdc-gloom" rel="alternate"/><published>2026-03-20T01:32:55+00:00</published><updated>2026-03-20T01:32:55+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-03-20:/2026/03/gdc-gloom</id><summary type="html">"Haruspicy" in the sense that I'm going to examine the entrails and try to predict the future of GDC. Disclaimer: I cannot predict the future. Also disclaimer: I don't have any inside info. I've chatted with a lot of people on various Slacks ...</summary><content type="html">&lt;p&gt;"Haruspicy" in the sense that I'm going to examine the entrails and try to predict the future of GDC. Disclaimer: I cannot predict the future.&lt;/p&gt;
&lt;p&gt;Also disclaimer: I don't have any inside info. I've chatted with a lot of people on various Slacks and Discords. And I was &lt;a href="https://blog.zarfhome.com/2026/03/twine-zork-gdc"&gt;there&lt;/a&gt;, in San Francisco, last week. But I only saw a small slice of What Went On. This is an exercise in putting together a coherent picture from a lot of scraps. Maybe the exercise is more interesting than the results! You decide.&lt;/p&gt;
&lt;p&gt;I'll admit up front that I'm on the pessimistic end of the spectrum. (That's the "gloom" part.) A lot of people are wondering if GDC is maybe in trouble. I think GDC is &lt;em&gt;definitely&lt;/em&gt; in trouble, and the only question is how catastrophic things are. But again, I don't have any inside info.&lt;/p&gt;
&lt;p&gt;Let's start with &lt;em&gt;last&lt;/em&gt; year's show.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;h2&gt;Last year&lt;/h2&gt;
&lt;p&gt;I attended GDC 2025. I wasn't an IGF juror last year (I did more than my stint), but I was able to scrounge a free pass, so that was no problem.&lt;/p&gt;
&lt;p&gt;It seemed like a pretty normal GDC for the post-lockdown era. 30k attendees -- very crowded. The show floor had mostly switched from blockchain hype to AI hype, but you know there's always a new hype cycle.&lt;/p&gt;
&lt;p&gt;(My first GDC was 2012 and I don't remember what the hype was. Must have been something. VR hype wasn't until &lt;a href="https://blog.zarfhome.com/2016/03/notes-from-gdc"&gt;2016&lt;/a&gt;.)&lt;/p&gt;
&lt;h2&gt;The change-up&lt;/h2&gt;
&lt;p&gt;So 2025 wraps up, 2026 comes into view, and GDC unveils this enormous &lt;a href="https://gdconf.com/article/time-to-change-the-game-registration-opens-for-the-2026-gdc-festival-of-gaming/"&gt;rebranding exercise&lt;/a&gt;. Now they're the "GDC Festival of Gaming". Simplified pass scheme, blah blah.&lt;/p&gt;
&lt;p&gt;Everybody's first reaction is "What the hell does 'Festival of Gaming' mean?" My &lt;em&gt;second&lt;/em&gt; reaction is "Wow, they must really be in trouble." You don't change your whole plan if the plan is &lt;em&gt;working&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;The scraps I hear from friends corroborate this view. Apparently the game-industry titans tightened their purses in 2025. (Endless layoffs, but they also cut conference spending.) That means smaller and fewer booths. I didn't notice this, because why would I look at the Google/Amazon/Epic/Unity booths? I only care about the &lt;a href="https://gdconf.com/igf/"&gt;IGF&lt;/a&gt; pavilion, &lt;a href="https://gdconf.com/alt-ctrl-gdc/"&gt;alt.ctrl.gdc&lt;/a&gt;, and other wacky stuff. &lt;/p&gt;
&lt;p&gt;Anyhow, smaller booths means less revenue. GDC (I mean Informa, the parent company) realizes that they're on a non-sustainable path. Something Must Change. Not for the sake of change, but because the plane is heading for a cornfield.&lt;/p&gt;
&lt;p&gt;What the rebrand &lt;em&gt;means&lt;/em&gt; isn't very obvious. They've got a lot of verbiage about "bringing the entire industry together". In practice this means everybody gets a full-week pass.&lt;/p&gt;
&lt;p&gt;(In the old days, indies and niche interests got a "Summit" (Mon-Tue) pass; industry mainstreamers got a Wed-Fri pass to see the show floor. Only journalists and hardcore nerds stayed the whole week.) (And me, because I had a comped All-Access pass, thank you IGF.)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Sidebar:&lt;/em&gt; Personally, I think the intended message is "You like hanging out in Yerba Buena Park with your game dev homies? Now all of GDC is like that! All park all the time! Please buy a pass please buy a pass." Maybe that's just me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Leading indicators&lt;/h2&gt;
&lt;p&gt;The other obvious change is that GDC brings in a bunch of non-profits and indie dev collectives to burnish up their appeal. That's where I come in, obviously -- comped passes for &lt;a href="https://iftechfoundation.org/"&gt;IFTF&lt;/a&gt;, so I can spend a week spreading the good word about &lt;a href="https://blog.zarfhome.com/2026/03/twine-zork-gdc"&gt;Twine and Zork&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(Another admission: I &lt;em&gt;only&lt;/em&gt; went because I got a free pass. I enjoy GDC and I enjoy San Francisco. Just, um, not enough to pay for it. Travel costs are bad enough.)&lt;/p&gt;
&lt;p&gt;Then the show floor map comes out, and whoa, it's &lt;em&gt;half&lt;/em&gt; the size of 2025. Guess that's why they're willing to give free floor space to a bunch of interactive fiction nerds! Classic freebie areas like the IGF are much more spacious than they used to be. Even so, the entire show floor fits in Moscone South, instead of sprawling across both North and South as it used to.&lt;/p&gt;
&lt;p&gt;In the corporate area of the floor -- the part that funds GDC -- the only big booths are Facebook, MS/Xbox, and Tencent. Google is small. Other industry names like Sony and Epic are entirely missing.&lt;/p&gt;
&lt;p&gt;It becomes clear that some of those industry heavyweights are running GDC-&lt;em&gt;adjacent&lt;/em&gt; events. "No badge required!" Also no booth fees landing in GDC coffers.&lt;/p&gt;
&lt;p&gt;As we approach March, the smell of desperation grows. GDC starts pushing ticket raffles and "buy one, get one half-price" deals. They make student passes and indie passes super-easy to get. Hotel prices fall from their usual nosebleed conference heights; they're clearly underbooked.&lt;/p&gt;
&lt;p&gt;(Someone suggested that GDC released a bunch of reserved hotel blocks in January or February. That makes total sense to me. Hotels suddenly had lots of free space, started to undercut each other mercilessly, and prices dropped. Smart people cancelled and rebooked at the last minute and saved a bunch of money. I was not smart, but I've made a note for next year.)&lt;/p&gt;
&lt;h2&gt;At the show&lt;/h2&gt;
&lt;p&gt;March 9th: it begins.&lt;/p&gt;
&lt;p&gt;(Yeah, I actually arrived early on the 7th and spent two days tootling around museums. See &lt;a href="https://blog.zarfhome.com/2026/03/twine-zork-gdc"&gt;earlier post&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Monday makes me think I was wrong all along. Talks and presentations are hoppin'. I went to a &lt;em&gt;narrative tool talk&lt;/em&gt; that was packed solid! Trust me, narrative tools are not usually that popular. (Except at &lt;a href="https://narrascope.org/"&gt;NarraScope&lt;/a&gt;, but that's a very different event.)&lt;/p&gt;
&lt;p&gt;It takes me a while to figure out what's going on. Remember how everybody gets a Mon-Fri pass this year? They're still only running the expo hall from Wed-Fri. The result is that a whole lot of attendees showed up Monday and realized that there was nothing to do but some boring old lectures! I literally saw one guy prowling around Moscone asking the guards where the booths were.&lt;/p&gt;
&lt;p&gt;On Wednesday the show floor opens, and the truth is dreadfully clear: the crowds are much thinner than last year. Everybody is calculating the same result from different angles. The lobbies of the usually-popular hotels are not mobbed like they usually are. The expo hall is mild at best. A security guard asks me, "Where is everybody?"&lt;/p&gt;
&lt;p&gt;There are still plenty of people. 20000 people is a lot! Just... less.&lt;/p&gt;
&lt;p&gt;You probably read some stuff about Yerba Buena Park being &lt;a href="https://aftermath.site/gdc-2026-yerba-buena-gardens-developers-mad/"&gt;fenced off&lt;/a&gt;. It was only partially fenced off, support for the new food tents. (Did we need new food tents? I dunno.) But it didn't matter anyhow -- I never saw enough people out there to &lt;em&gt;fill&lt;/em&gt; the park. Not like last year or the year before. There were enough people for crowds around the edges, and that's what we got.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Sidebar:&lt;/em&gt; So why did people stay away? Obvious reasons: devs are out of work and can't afford it; companies are skint and won't pay for travel; non-US people are reluctant to risk US travel; GDC is smaller so there's less reason to come.&lt;/p&gt;
&lt;p&gt;Which of these is the "real" reason? All of them; I don't know the relative weights; guessing would be worthless. My gut feeling is that most people are making a simple economic calculation of "What can GDC do for me?" and the margin is down. My gut is not statistically reliable.&lt;/p&gt;
&lt;p&gt;(Several of my non-US friends refused to travel here because of the current xenophobic regime. That doesn't tell me anything about the other &lt;em&gt;ten thousand&lt;/em&gt; missing faces.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Reactions&lt;/h2&gt;
&lt;p&gt;Like I said, I had a &lt;a href="https://blog.zarfhome.com/2026/03/twine-zork-gdc"&gt;great time&lt;/a&gt;! I hung out with lots of people who I know from earlier GDCs and other game events. I hung out with lots of people who I never met before. Yeah, this was down to having a script to route around my social anxieties, rather than anything GDC did. But still.&lt;/p&gt;
&lt;p&gt;Overall, my impression is that people were... happier than last year? With GDC as an event, I mean.&lt;/p&gt;
&lt;p&gt;Some it was sheer defiance. Yes, the industry is screwed, let's just go make games. "Punk rock energy," as someone said. Let's go build new communities! &lt;em&gt;Three&lt;/em&gt; scheduled events about game preservation, that was great. (Plus a Friday happy hour at the &lt;a href="https://www.themade.org"&gt;MADE&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Some of it was the enthusiasm of youth. Someone told me, I don't have a solid source but I believe it, that 40% of the attendees were first-time GDCers. Lots of students, like I said. GDC is a lot of fun to crash into! New blood always helps.&lt;/p&gt;
&lt;p&gt;The park was not crowded overall, but large groups formed. The thinky-games crowd was large and enthusiastic. I walked past a big group with a "student developers" sign. (See "new blood" above.) There was a roguelike meetup and a visual novel meetup that I couldn't make it to, but I'm sure they were successful.&lt;/p&gt;
&lt;p&gt;Apparently the super-select "&lt;a href="https://gdconf.com/luminaries-speaker-series/"&gt;Luminaries&lt;/a&gt;" events were so undersold that they wound up letting in regular schmoes. Wish I'd known that.&lt;/p&gt;
&lt;p&gt;I am told that publishers and developers were talking and making deals. The wheel has not stopped turning. Opinions are divided about whether things will actually get better next year, or whether we've just all accepted a defunct industry as normal. But I am very far removed from that wheel (I've never pitched a game or set up a publisher meeting at GDC) so I won't get into that.&lt;/p&gt;
&lt;p&gt;Yes, there was a crap-ton of AI at GDC. Every commercial booth was AI hype. Half the talks were AI hype. Some people found that oppressive and/or depressing. I just walked past that stuff and went to the good talks. I'm not bragging, here, I'm just saying that there was good conference showing through the cracks.&lt;/p&gt;
&lt;h2&gt;And next year?&lt;/h2&gt;
&lt;p&gt;Now we get into the entrails.&lt;/p&gt;
&lt;p&gt;The plain facts look bad. Booth spending was way down this year, and then &lt;a href="https://www.gamedeveloper.com/business/rebranded-gdc-festival-of-gaming-attracts-20-000-attendees"&gt;attendance declined&lt;/a&gt; by a full third! Are Facebook and Xbox and Tencent going to bother getting large booths in 2027? Why should they? If the crowds keep shrinking, the reasons to attend will shrink as well. This could be the leading edge of a death spiral.&lt;/p&gt;
&lt;p&gt;GDC's value proposition just doesn't look great any more. It used to be the One Place Everybody Got Together, but that's splintering. Unity and Unreal have their own developer events, where they &lt;em&gt;collect&lt;/em&gt; the booth fees rather than paying them. As do Microsoft and Amazon and Facebook and so on.&lt;/p&gt;
&lt;p&gt;It seems like, with the general economic contraction, everybody has run the numbers and decided that it's more cost-efficient to retreat within their own private event. Or, at best, rent an adjacent hotel and stay out of GDC's grasp.&lt;/p&gt;
&lt;p&gt;On the flip side: GDC is determined to keep itself going. The first room I walked into on Monday morning had a slide up saying "GDC will return in 2027!" On Saturday, when they dropped the news that attendance had crashed, they &lt;em&gt;also&lt;/em&gt; dropped the news that GDC 2027 was still on.&lt;/p&gt;
&lt;p&gt;What will it look like? Well, they might not bother renting out the ball park again. I think that was a flop. But overall, I figure they'll try to repeat 2026 and hope that the crowds grow back.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Sidebar:&lt;/em&gt; Does it make sense for GDC to shrink in a &lt;em&gt;sustainable&lt;/em&gt; way? I mean, if this were planned as a 15k-person conference, 20k people would be a huge success. I guess the question is: is there an island of stability, or is it death spiral all the way down? The GDC folks must have those spreadsheets cued up, but they're not letting on what they say.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Sidebar:&lt;/em&gt; One rumor -- I have no intel on this, it's pure speculation -- that GDC is locked into a multi-year contract with Moscone. In which case they &lt;em&gt;have&lt;/em&gt; to keep running the event, full-scale, even if they're losing money every year. Scary! For them. No skin off my nose.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sadly, GDC 2027 is probably going to dig even deeper into AI than 2026 did. The "AI crash" is nowhere in sight. Six months ago I thought it might be close. The tools all sucked; the VCs knew it; they were maybe starting to get cold feet. Well, the current generation of AI tools suck less. I'm not telling you they're good; I haven't used them myself; I'm just saying that hope is back on the menu and VC feets are toasty warm. If there's a crash coming, it's over the horizon -- definitely not as soon as March 2027.&lt;/p&gt;
&lt;p&gt;(Unless the entire economy wipes out in whatever combination of oil shock, food crisis, pandemic part deux, or global trade lockup leaps out and bites us. That's way above my pay grade. At that point GDC will be the least of our worries, anyhow.)&lt;/p&gt;
&lt;p&gt;Anyhow, if there's a GDC and I'm not starving in a ditch next year, I hope they give me another free pass. I'd be happy to go back. Just, um, not enough to pay for it.&lt;/p&gt;
&lt;h2&gt;Further reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Aftermath.site: &lt;a href="https://aftermath.site/gdc-2026-xbox-helix-steam-nvidia-ice/"&gt;GDC Was Defined By Anxiety About The Future Of The Games Industry And America&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Justin Bortnick: &lt;a href="https://jabortnick.com/2026/03/19/gdc-2026-recap/"&gt;GDC 2026 Recap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Justin is &lt;a href="https://iftechfoundation.org/"&gt;IFTF&lt;/a&gt;'s president and the guy who arranged our entire GDC presence. Including my free pass this year. Thanks Justin!)&lt;/p&gt;</content><category term="gdc"/><category term="conferences"/></entry><entry><title>Visible Zorker: March status report</title><link href="https://blog.zarfhome.com/2026/03/visible-zorker-march" rel="alternate"/><published>2026-03-18T02:02:48+00:00</published><updated>2026-03-18T02:02:48+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-03-18:/2026/03/visible-zorker-march</id><summary type="html">Here's where we are: Zork 3 is complete and available to Patreon supporters. It will go public on the Visible Zorker page on May 1st. Deadline is now in progress! Except it's barely started, because I'm still catching up from my GDC trip. I'll ...</summary><content type="html">&lt;p&gt;Here's where we are:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Zork 3&lt;/em&gt; is complete and available to Patreon supporters. It will go public on the &lt;a href="https://eblong.com/infocom/visi/"&gt;Visible Zorker&lt;/a&gt; page on &lt;em&gt;May 1st&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Deadline&lt;/em&gt; is now in progress! Except it's barely started, because I'm still catching up from my &lt;a href="https://blog.zarfhome.com/2026/03/twine-zork-gdc"&gt;GDC trip&lt;/a&gt;. I'll have the early-access build of &lt;em&gt;Deadline&lt;/em&gt; for Patreon supporters on &lt;em&gt;April 1st&lt;/em&gt;. (Super-early access starts today, except there's nothing to look at yet -- see below.) The world gets &lt;em&gt;Deadline&lt;/em&gt; for free on June 1st.&lt;/p&gt;
&lt;p&gt;If nothing catches fire, I'll be back in mid-April to talk about &lt;em&gt;Starcross&lt;/em&gt;.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;p&gt;Now, &lt;em&gt;Deadline&lt;/em&gt; is proving to be a bit of a trip.&lt;/p&gt;
&lt;p&gt;As usual, I've selected the release from the &lt;em&gt;Masterpieces of Infocom&lt;/em&gt; CD for my work -- that's release 27, serial 831005. But as soon as I grabbed &lt;code&gt;deadline-r27.zip&lt;/code&gt; off my &lt;a href="https://eblong.com/infocom/#deadline"&gt;Infocom page&lt;/a&gt;, I realized that it was incomplete! The &lt;code&gt;verbs.zil&lt;/code&gt; file is simply missing.&lt;/p&gt;
&lt;p&gt;If you look at the &lt;a href="https://github.com/historicalsource/deadline"&gt;historicalsource&lt;/a&gt; repo, you'll see &lt;code&gt;verbs.zil&lt;/code&gt; -- but that's from release 28. The r27 and r28 source directories are similar but not identical. Scroll back to the &lt;a href="https://github.com/historicalsource/deadline/commit/ad6dc28bb24968af58f4bd1c3236116c60aacc8e"&gt;r27 view&lt;/a&gt; and the file is gone.&lt;/p&gt;
&lt;p&gt;My only option is to paste in the r28 &lt;code&gt;verbs.zil&lt;/code&gt; and run with it.&lt;/p&gt;
&lt;p&gt;I can disassemble the r27 and r28 &lt;em&gt;game files&lt;/em&gt; (we have both) and compare the functions from that file. So I'll be able to see how much was changed. Hopefully not too much. I know no verbs were added or removed (the &lt;code&gt;syntax.zil&lt;/code&gt; file is identical between the releases) so it should be just bug fixes.&lt;/p&gt;
&lt;p&gt;Of course there's other hitches as well. I figure &lt;em&gt;every&lt;/em&gt; new Infocom game will throw me a new twist. In this case, it's this line:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;CONSTANT MG-LENGTH &amp;lt;* 3 2&amp;gt;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is a perfectly sensible line of ZIL -- it defines the constant &lt;code&gt;MG-LENGTH&lt;/code&gt; as 6. (Prefix operators, so &lt;code&gt;&amp;lt;* 3 2&amp;gt;&lt;/code&gt; is 6.) But my hacked-up ZIL parser doesn't support constant arithmetic. I didn't realize it was legal! I guess that's the first thing I add tomorrow night.&lt;/p&gt;
&lt;p&gt;(The Visible Zorker doesn't &lt;em&gt;execute&lt;/em&gt; ZIL statements. It &lt;em&gt;displays&lt;/em&gt; ZIL while executing the compiled Z-code. However, I need to evaluate certain ZIL forms that have meaning at compile time. For example, &lt;code&gt;%&amp;lt;COND&amp;gt;&lt;/code&gt; lets you discard certain lines at compile time, like &lt;code&gt;#ifdef&lt;/code&gt; in C. I need to evaluate that for correct syntax coloring. Constants are another example.)&lt;/p&gt;
&lt;p&gt;Anyhow, that's where we are. &lt;em&gt;Deadline&lt;/em&gt; isn't even slightly functional yet, but I should have the basics in place this weekend. Forward, Sergeant Duffy!&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="zork"/><category term="infocom"/><category term="zil"/><category term="zarf"/><category term="visible zorker"/><category term="patreon"/><category term="zork 3"/><category term="deadline"/></entry><entry><title>Twine and Zork at GDC</title><link href="https://blog.zarfhome.com/2026/03/twine-zork-gdc" rel="alternate"/><published>2026-03-17T00:44:52+00:00</published><updated>2026-03-17T00:44:52+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-03-17:/2026/03/twine-zork-gdc</id><summary type="html">I went to GDC with IFTF, and I had a great time! I'm not sure the conference had a great time. You may have seen that attendance was 30% lower than last year. However, I'll save the gloom-and-haruspicy for another post. All the people I talked ...</summary><content type="html">&lt;p&gt;I went to GDC with IFTF, and I had a great time!&lt;/p&gt;
&lt;p&gt;I'm not sure the &lt;em&gt;conference&lt;/em&gt; had a great time. You may have seen that attendance was &lt;a href="https://www.gamedeveloper.com/business/rebranded-gdc-festival-of-gaming-attracts-20-000-attendees"&gt;30% lower than last year&lt;/a&gt;. However, I'll save the gloom-and-haruspicy for another post. All the &lt;em&gt;people&lt;/em&gt; I talked to enjoyed themselves, and I talked to quite a few people.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/2026/02/gdc-2026-plans"&gt;As you know&lt;/a&gt;, IFTF had a table in the Commons area of the show floor. In fact we had &lt;em&gt;three&lt;/em&gt; tables. Plus one Monday night at the ballpark opening event.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/two-twine-machines.jpeg"&gt;&lt;img alt="The expo hall at the Moscone Center. Large monitors are set up on low tables with benches. The nearest shows the opening screen of a Twine game. Farther away, someone is filling out a survey form; two other people look on." height="429" src="https://blog.zarfhome.com/pic/2026/03/two-twine-machines-s.jpeg" width="600" /&gt;&lt;/a&gt;
The near machine is for playing; the farther one is for editing. That's &lt;a href="https://www.choiceofgames.com/author/dfabulich/"&gt;Dan Fabulich&lt;/a&gt; explaining the setup. (The radioactive leaves are fake plants illuminated by blue floor lamps.)&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Two machines were running a collaborative exquisite-corpse Twine project. Everybody who came by was invited to sit down and add a passage. This was a hit -- we wound up with about 120 contributed passages.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://iftechfoundation.org/games/gdc-twine-adventure-2026/"&gt;&lt;img alt="A web page with a red-and-white theme. It begins &amp;quot;Welcome to the interactive GDC Festival of Gaming Twine Adventure!&amp;quot;" height="447" src="https://blog.zarfhome.com/pic/2026/03/advstart-s.png" width="400" /&gt;&lt;/a&gt;
Opening screen of the &lt;a href="https://iftechfoundation.org/games/gdc-twine-adventure-2026/"&gt;GDC Twine Adventure&lt;/a&gt;. &lt;a href="https://iftechfoundation.org/games/gdc-twine-adventure-2026/"&gt;Playable now!&lt;/a&gt; Stylesheet by &lt;a href="https://www.gcbaccaris.com/"&gt;Grim Baccaris&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;On the flip side (literally), the &lt;a href="https://eblong.com/infocom/visi/"&gt;Visible Zorker&lt;/a&gt;!&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/zork-players.jpeg"&gt;&lt;img alt="Two people sitting in front of Visible Zork 1. They are facing away from us and peering attentively at the screen." height="349" src="https://blog.zarfhome.com/pic/2026/03/zork-players-s.jpeg" width="600" /&gt;&lt;/a&gt;
I did not get the players' names, but they were at it for a good half-hour.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Our setup had &lt;em&gt;&lt;a href="https://eblong.com/infocom/visi/zork1/"&gt;Zork 1&lt;/a&gt;&lt;/em&gt;, &lt;em&gt;&lt;a href="https://eblong.com/infocom/visi/zork2/"&gt;Zork 2&lt;/a&gt;&lt;/em&gt;, and (as a special preview for GDC attendees) &lt;em&gt;Zork 3&lt;/em&gt;. We mostly kept the screen on &lt;em&gt;Zork 1&lt;/em&gt; though.&lt;/p&gt;
&lt;p&gt;The table next door had a bunch of 1980s computer magazines. They were kind enough to loan us an issue of &lt;em&gt;Creative Computing&lt;/em&gt; (1982) with an Infocom ad.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/zarf-magazine-gdc.jpg"&gt;&lt;img alt="Me holding a magazine ad for _Zork 1_ and _Zork 2_. The headline &amp;quot;Many are the doors that lead to the underground&amp;quot; stands above the familiar Zork opening-door logo. &amp;quot;Now available for Apple II, ATARI 400/800, IBM Personal Computer, NEC PC-8000, CP/M, and PDP-11.&amp;quot; In the background is a screen displaying Visible Zork 1." height="600" src="https://blog.zarfhome.com/pic/2026/03/zarf-magazine-gdc-s.jpg" width="450" /&gt;&lt;/a&gt;
Me and &lt;em&gt;Creative Computing&lt;/em&gt;. The $2 coupon has expired, sadly. Photo by Justin Bortnick.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Zork was less recognized than Twine. (Everybody's heard of Twine.) But the folks in the know got &lt;em&gt;very&lt;/em&gt; excited about the Visible Zorker project. A couple of educators visibly bounced when they realized that they could use this in the classroom.&lt;/p&gt;
&lt;p&gt;I shall hope this brings in more contributors to the &lt;a href="https://www.patreon.com/VisibleZorker"&gt;Patreon&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;On the personal side, I got to demo the Zorker to &lt;a href="https://www.blueprincegame.com/"&gt;Tonda Ros&lt;/a&gt;. And to fanboy him a bit, which I'm sure he got plenty of that week, but I did my part. I also demoed to &lt;a href="https://thousandyearoldvampire.com/"&gt;Tim Hutchings&lt;/a&gt; -- I &lt;em&gt;really&lt;/em&gt; need to write up his "&lt;a href="https://thousandyearoldvampire.com/collections/all/products/tyoc"&gt;Old Morris Cave: A Continuous Use Campsite in Mammoth Cave National Park&lt;/a&gt;". (Spot the IF connection!)&lt;/p&gt;
&lt;p&gt;I'm told that Steve Meretzky was around GDC but I did not run into him. Ah well. I'm pretty sure he's aware of the Zorker, but it would have been nice to chat about it.&lt;/p&gt;
&lt;h2&gt;So what else did you do at GDC?&lt;/h2&gt;
&lt;p&gt;I engaged with people socially!&lt;/p&gt;
&lt;p&gt;Way more than I usually do. I'm chatty &lt;em&gt;here&lt;/em&gt;, parasocially on the blog, but in real life I'm a stone introvert. (No surprise, I know.) But it turns out that "Are you familiar with Twine?" is a terrific icebreaker. &lt;em&gt;Everybody's&lt;/em&gt; heard of Twine. Most people don't know that it's backed by an educational nonprofit association, though. We can talk about that! Yes, we would love donations, yes, it would be great if companies that rely on Twine helped support it. Yes, tell me about what you did with Twine, that sounds awesome.&lt;/p&gt;
&lt;p&gt;Same thing with Zork. "Are you familiar with Zork?" (Yes, says Tonda Ros, a half-second before I read his name badge and realize who I'm pitching to.) Then we're talking about game education, or historic preservation, or TinyMUD, or wacky things that IF could do if it were doing something else. Or anything. Knot theory. (It came up.)&lt;/p&gt;
&lt;p&gt;This wasn't just at the IFTF booth. I dropped by the Thinky Puzzle meetup in the park and had a long chat with several neat people. There were &lt;em&gt;three&lt;/em&gt; game-history events on the GDC schedule -- a roundtable, a social meetup, and the annual "What's New in Game Preservation" panel. I missed that third one (had to help set up the table for Monday night) but I ran into &lt;a href="https://ascii.textfiles.com/"&gt;Jason Scott&lt;/a&gt; in the hall and we caught up.&lt;/p&gt;
&lt;p&gt;My time was mostly spoken for, but I went to a few talks. There was an interesting one by &lt;a href="https://owlcat.games/"&gt;Owlcat Games&lt;/a&gt; about the narrative scripting tool they use for their "large, sprawling" RPGs. (I haven't played 'em but the design problems were familiar.) &lt;a href="https://daglowslaws.com/"&gt;Don Daglow&lt;/a&gt; gave a great talk about his 50-year career in game dev -- he has seen some stuff in his time, and his time isn't over. Julian Cordero talked about how he turned his Quito childhood into &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/12/adorable-little-games#despelote"&gt;Despelote&lt;/a&gt;&lt;/em&gt;. And there was a really neat presentation by the cultural research expert for &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/01/recent-timekillers#indiana-jones-and-the-great-circle"&gt;Indiana Jones and the Great Circle&lt;/a&gt;&lt;/em&gt;. Did you know they looked up all the minerals of the game's magic stones to make sure they were findable in -- or trade-routable to -- the appropriate locations? I love that.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://kotaku.com/igf-2026-winners-perfect-tides-titanium-court-indie-steam-2000678325"&gt;IGF awards&lt;/a&gt;! I wasn't at the ceremony but it's a good list. &lt;em&gt;&lt;a href="https://perfect-tides.com/"&gt;Perfect Tides: Station to Station&lt;/a&gt;&lt;/em&gt; is one that I definitely have to play. (NarraScope &lt;a href="https://2025.narrascope.org/showcase/"&gt;Showcase winner&lt;/a&gt;, btw.) &lt;em&gt;&lt;a href="https://blippo.plus/"&gt;Blippo+&lt;/a&gt;&lt;/em&gt; has been heavily recommended to me and I must catch up. As for &lt;em&gt;&lt;a href="https://store.steampowered.com/app/2364580/Titanium_Court/"&gt;Titanium Court&lt;/a&gt;&lt;/em&gt; -- I played the demo. Match-three really isn't my thing, but I loved all the narrative foofaraw surrounding the match-three gameplay -- built &lt;em&gt;on&lt;/em&gt; it -- so I may have to dig into the full game anyhow.&lt;/p&gt;
&lt;p&gt;I was able to pay my compliments to William Rous on the show floor. Yes, I was rooting for &lt;em&gt;&lt;a href="https://blog.zarfhome.com/2025/02/type-help"&gt;Type Help&lt;/a&gt;&lt;/em&gt; to win Best Narrative. Ah well. Next year in &lt;em&gt;&lt;a href="https://store.steampowered.com/app/3641000/The_Incident_at_Galley_House/"&gt;Galley House&lt;/a&gt;&lt;/em&gt;, am I right?&lt;/p&gt;
&lt;h2&gt;And what else did you do in San Francisco?&lt;/h2&gt;
&lt;p&gt;I ate dinner(s) in Chinatown, of course.&lt;/p&gt;
&lt;p&gt;I was able to get away from Moscone long enough to visit the Asian Art Museum; they have a terrific exhibit of &lt;a href="https://exhibitions.asianart.org/exhibitions/new-japanese-clay/"&gt;modern Japanese ceramics&lt;/a&gt;. I truly love that stuff. If you do too, be sure to check out the permanent collection on the second floor.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/pottery.jpeg"&gt;&lt;img alt="Four diverse clay vessels. The first is brick-red, bowl-shaped, rough in outline. The second is smaller, off-white, with an almost bread-like texture and a pool of glassy, cracked glaze inside. The third is a lidded urn with a dark and very metallic glaze. The fourth is tall and irregular with a pattern scorched in red and black into the surface." height="280" src="https://blog.zarfhome.com/pic/2026/03/pottery-s.jpeg" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I also poked my head into the &lt;a href="https://sfmcd.org"&gt;Museum of Craft and Design&lt;/a&gt;, and took a turn around the &lt;a href="https://gggp.org/japanese-tea-garden/"&gt;Japanese Tea Garden&lt;/a&gt; and &lt;a href="https://gggp.org/san-francisco-botanical-garden/"&gt;Botanical Gardens&lt;/a&gt;.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/gardens-1.jpeg"&gt;&lt;img alt="Spotted calla lilies growing on a park hillside. They have very large white flowers with yellow spathe (peak) at the center." height="300" src="https://blog.zarfhome.com/pic/2026/03/gardens-1-s.jpeg" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/gardens-2.jpeg"&gt;&lt;img alt="A mossy pond beneath trees. Several varieties of water-plant are visible across the surface." height="300" src="https://blog.zarfhome.com/pic/2026/03/gardens-2-s.jpeg" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;But my big discovery was the &lt;a href="https://letterformarchive.org/"&gt;Letterform Archive&lt;/a&gt;. This is a tiny place up the street from Craft and Design. Just one gallery, really -- but a gallery drawn from an amazing collection of "lettering, typography, calligraphy, and graphic design".&lt;/p&gt;
&lt;p&gt;The current exhibit is &lt;a href="https://letterformarchive.org/news/piet-zwart-brand-architect-exhibition/"&gt;Piet Zwart&lt;/a&gt;, a Dutch designer ("typotekt", he described himself) who revolutionized typography starting in the 1920s.&lt;/p&gt;
&lt;div class="Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/zwart-1.jpeg"&gt;&lt;img alt="Two full-page advertisements with large black shapes contrasting with narrow lines of Dutch text running at all angles. The blurb above begins, &amp;quot;Zwart's collaboration with the Nederlandse Kabelfabriek Delft (NKF) from 1923 to 1928 transformed an ordinary industrial manufacturer into an icon of modern design.&amp;quot;" height="186" src="https://blog.zarfhome.com/pic/2026/03/zwart-1-s.jpeg" width="300" /&gt;&lt;/a&gt;
&lt;a href="https://blog.zarfhome.com/pic/2026/03/zwart-2.jpeg"&gt;&lt;img alt="Five half-page advertisements for N. K. F. Delft. Lines of Dutch text run in contrasting fonts and angles. The pages have no graphics except for a few arrowheads." height="186" src="https://blog.zarfhome.com/pic/2026/03/zwart-2-s.jpeg" width="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;He did telephone cable ads. That's what you're looking at. "N.K.F.": Nederlandse Kabelfabriek Delft.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/zwart-3.jpeg"&gt;&lt;img alt="A wall display of pages from technical manuals. The bottom of each page is a technical blueprint, but the top is a startling assortment of Dutch words and letters laid out in varying fonts, angles, and colors." height="396" src="https://blog.zarfhome.com/pic/2026/03/zwart-3-s.jpeg" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Later he did other stuff. He wasn't interested in logos or brands. Consistency? Hah. All his layouts were different and they were all clearly his work.&lt;/p&gt;
&lt;p&gt;And that's just one exhibit! Look at the &lt;a href="https://exhibitions.letterformarchive.org/"&gt;previous exhibits page&lt;/a&gt;. Man, I would live in this place if I were a Left Coaster.&lt;/p&gt;
&lt;p&gt;Get this: when I walked into the gallery, I heard "tap tap tap" noises coming from the back room. What? A video exhibit? Nope -- when I peered around the corner, I saw a classroom full of people with stone tablets. They were making letters with hammers and chisels. A stone-carving lettering workshop. &lt;em&gt;Of course.&lt;/em&gt; How else will people learn why serifs exist?&lt;/p&gt;
&lt;p&gt;So yeah. I don't know what the future of GDC looks like, but I hope I keep getting this excuse to visit San Francisco. It's such a great town to wander around it. Also terrible, because of the abyss of deprivation and human misery which you cannot look away from, right in parallel with the wealth and the art and the joy. Doesn't mean I want to stay home.&lt;/p&gt;
&lt;p&gt;As I was getting off the BART, a Cute Young Thing turned and asked me, "Are you a guy who thinks about the Singularity?"&lt;/p&gt;
&lt;p&gt;"No," I said, "I'm not really a fan of the Singularity." And we went our separate ways through the exit gates. I still have no idea what that question meant. Only in San Francisco, I guess.&lt;/p&gt;</content><category term="zarf"/><category term="gdc"/><category term="iftf"/><category term="if"/><category term="interactive fiction"/><category term="conferences"/><category term="twine"/><category term="zork"/><category term="visible zorker"/><category term="patreon"/></entry><entry><title>The Game Narrative Kaleidoscope</title><link href="https://blog.zarfhome.com/2026/03/the-game-narrative-kaleidoscope" rel="alternate"/><published>2026-03-04T15:05:50+00:00</published><updated>2026-03-04T15:05:50+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-03-04:/2026/03/the-game-narrative-kaleidoscope</id><summary type="html">The Game Narrative Kaleidoscope is a collection of lightning articles (I just made that term up) about narrative design. It's out today! I'm in it! Along with approximately a zillion other authors and designers. You may recognize: Sharang ...</summary><content type="html">&lt;p&gt;&lt;em&gt;&lt;a href="https://www.inklestudios.com/kaleidoscope/"&gt;The Game Narrative Kaleidoscope&lt;/a&gt;&lt;/em&gt; is a collection of lightning articles (I just made that term up) about narrative design. It's out today! I'm in it! Along with approximately a zillion other authors and designers.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/03/kaleidoscope.jpeg"&gt;&lt;img alt="The Game Narrative Kaleidoscope: 100+ Essays on the Craft of Game Writing / Collated by Jon Ingold" height="512" src="https://blog.zarfhome.com/pic/2026/03/kaleidoscope-s.jpeg" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;You may recognize:&lt;/em&gt; Sharang Biswas, Naomi Clark, Paris Buttfield-Addison, Bruno Dias, Jason Dyer, Gwen C. Katz, and you know what a list of names is silly. Also I don't know half of them as well they deserve, and less than half of them half as well as I should like.&lt;/p&gt;
&lt;p&gt;The book sprouted from a chat between &lt;a href="https://www.ghostweather.com/"&gt;Lynn Cherny&lt;/a&gt; (who I worked with briefly at SpiritAI) and Jon Ingold (of &lt;a href="https://www.inklestudios.com/"&gt;Inkle&lt;/a&gt;). A self-published anthology by writers about writing? Sounds easy! Just ask around! Jon did, and a few days later he had hundreds of people expressing interest.&lt;/p&gt;
&lt;p&gt;The essays are cheerfully disorganized. They're connected by "see this related topic" links, but by his own admission Jon added the links in a hurry. You can follow them on a networked walk through the book, or ignore them and read in order, or -- my recommendation -- open to a random page and say "'Ere, what's all this then?"&lt;/p&gt;
&lt;p&gt;As for my contribution, here's a sample line from my essay:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;often I learn a game’s chapter count from the achievements list on its Steam&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pick up your own copy to learn how that sentence begins and ends!&lt;/p&gt;
&lt;p&gt;You can &lt;a href="https://www.inklestudios.com/kaleidoscope/"&gt;buy &lt;em&gt;The Game Narrative Kaleidoscope&lt;/em&gt; from Lulu&lt;/a&gt; in paperback or hardback form. Probably other online book outlets too. I don't know how that works.&lt;/p&gt;
&lt;p&gt;Oh, and Jon's doing a podcast series with some of the authors. See link above. I'm not currently scheduled but who knows.&lt;/p&gt;
&lt;p&gt;Oh, if you're at &lt;a href="https://blog.zarfhome.com/2026/02/gdc-2026-plans"&gt;GDC&lt;/a&gt;, I'll have a copy at the IFTF table.&lt;/p&gt;
&lt;p&gt;(Note: I will receive a small share of the revenue from this book. If it makes enough to be worth distributing.)&lt;/p&gt;</content><category term="zarf"/><category term="jon ingold"/><category term="books"/><category term="narrative"/><category term="game design"/><category term="game narrative kaleidoscope"/></entry><entry><title>1989 in context</title><link href="https://blog.zarfhome.com/2026/02/1989-in-context" rel="alternate"/><published>2026-02-25T04:31:15+00:00</published><updated>2026-02-25T04:31:15+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-02-25:/2026/02/1989-in-context</id><summary type="html">One of my goals with this project is to put the Infocom games, and the code, into context. Context is the fun part. Some of my friends got into it about this quote: The other four tokens—ON-GROUND, IN-ROOM, HELD, and CARRIED—are incredibly ...</summary><content type="html">&lt;p&gt;One of my goals with this project is to put the Infocom games, and the code, into context. Context is the fun part.&lt;/p&gt;
&lt;p&gt;Some of my friends got into it about this quote:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;The other four tokens—&lt;code&gt;ON-GROUND&lt;/code&gt;, &lt;code&gt;IN-ROOM&lt;/code&gt;, &lt;code&gt;HELD&lt;/code&gt;, and &lt;code&gt;CARRIED&lt;/code&gt;—are
incredibly confusing, and no one really understands them except Stu, so he
should probably write this bit.&lt;/p&gt;
&lt;p&gt;-- &lt;em&gt;&lt;a href="https://eblong.com/infocom/other/Learning_ZIL_Meretzky_1995.pdf"&gt;Learning ZIL&lt;/a&gt;&lt;/em&gt;, chapter 9.6&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;Or, from Appendix A:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;CONTFCN&lt;/code&gt;: I never use this, why should you?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Or Appendix B:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Frankly, I think the &lt;code&gt;SEARCHBIT&lt;/code&gt; is a stupid concept, and I automatically give the &lt;code&gt;SEARCHBIT&lt;/code&gt; to all containers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Several other sections say "Stu should write this" as well.&lt;/p&gt;
&lt;p&gt;Let's set aside what these ZIL terms mean. The question is, how is this flippin' useful? In a reference manual? Who writes documentation like this?&lt;/p&gt;
&lt;p&gt;The title page says "Comments to SEM" -- Steve (Eric) Meretzky. So that answers who. "Stu" is clearly Stu Galley, one of the original Implementors and the architect of the "new" (V6) parser.&lt;/p&gt;
&lt;p&gt;But that's the author, not the context. For the context, let's take a look at the &lt;em&gt;entire&lt;/em&gt; title page:&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;img alt="Learning ZIL - or - Everything You Always Wanted to Know About Writing Interactive Fiction But Couldn't Find Anyone Still Working Here to Ask / Copyright ©1989 Infocom, Inc. For internal use only. Comments to SEM / Conversion to Microsoft Word -- SEM -- 8/1/95" height="336" src="https://blog.zarfhome.com/pic/2026/02/titlepage.png" width="573" /&gt;
&lt;em&gt;&lt;a href="https://eblong.com/infocom/other/Learning_ZIL_Meretzky_1995.pdf"&gt;Learning ZIL&lt;/a&gt;&lt;/em&gt;, title page&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Suddenly we know a lot more! What happened in May of 1989? (Aside from me passing my first college programming course.) That's right -- the shuttering of Infocom as a Cambridge studio.&lt;/p&gt;
&lt;p&gt;Quoting from &lt;a href="https://www.filfre.net/2016/07/going-to-california/"&gt;Jimmy Maher's article&lt;/a&gt; on the fall of Infocom:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The axe fell over the course of that long afternoon and evening [May 4th]. Infocom would be “moving” to California, where it was to be reconstituted and re-imagined as a more closely coupled subsidiary of Mediagenic [aka Activision], under a “general manager” named Rob Sears. Just 11 of the 26 current employees were offered positions at this new version of Infocom. [...] Suffice to say that those Mediagenic decided were desirable to retain often weren’t the pivotal creative voices you might expect, and that only 5 of the 11 accepted the offer anyway. [...] For the other old-timers, it was all over. Another six weeks or so to finish a few final projects and tidy up the place, and that would be that.&lt;/p&gt;
&lt;p&gt;-- "&lt;a href="https://www.filfre.net/2016/07/going-to-california/"&gt;Moving to California&lt;/a&gt;", Digital Antiquarian, July 2016&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The five who stayed on definitely did not include Meretzky:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Steve Meretzky had been scheduled to attend the Computer Game Developers’ Conference that very weekend in Sunnyvale, California. He was still allowed to fly out on Infocom’s dime, but replaced the company’s name on his badge with “Make Me an Offer!” &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(That would have been the &lt;em&gt;third&lt;/em&gt; CGDC, which reached the stunning total of &lt;a href="https://www.retroreversing.com/gdc"&gt;300 people&lt;/a&gt; in 1989. The event I'm &lt;a href="https://blog.zarfhome.com/2026/02/gdc-2026-plans"&gt;attending next month&lt;/a&gt; will be probably 100 times that size... give or take...)&lt;/p&gt;
&lt;p&gt;So. We have a manual which was written either a couple of months before the axe fell, or a couple of weeks after. Nothing exactly says which, but my sense is "before". This is a document written for an incoming writer who wants to make a game. It's not a historical document written for posterity.&lt;/p&gt;
&lt;p&gt;However, there's clearly a sense of resignation hanging over the whole endeavour. The document's subtitle gives you that up front. Infocom was already down to a quarter the size of its 1985-ish heyday, with no recent hits and no real prospect of a new one.&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;EXERCISE THREE
Design and implement a full-size game. Submit it to testing, fix all the resulting bugs, help marketing design a package, ship the game, and sell at least 250,000 units.&lt;/p&gt;
&lt;p&gt;-- &lt;em&gt;&lt;a href="https://eblong.com/infocom/other/Learning_ZIL_Meretzky_1995.pdf"&gt;Learning ZIL&lt;/a&gt;&lt;/em&gt;, chapter 16&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;So.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Footnote 1:&lt;/em&gt; Is it possible that the document was written earlier, and was just updated through 1989?&lt;/p&gt;
&lt;p&gt;Some of it, possibly. But the "Stu?" sections give the sense that this was interrupted in mid-draft, not written as a complete document and then later updated.&lt;/p&gt;
&lt;p&gt;Also, it mentions YZIP (Z-machine version 6), albeit not in a great deal of detail. (One line just says "see YZIP Spec for more details".) The first YZIP game was &lt;em&gt;Zork Zero&lt;/em&gt; in October 1988; the &lt;a href="https://eblong.com/infocom/other/spec-yzip.txt"&gt;YZIP Spec&lt;/a&gt; document is dated "11/30/88". The design work would have started earlier, but this still puts a pretty sharp lower bound on the writing span for &lt;em&gt;Learning ZIL&lt;/em&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Footnote 2:&lt;/em&gt; The document is also tagged as "Conversion to Microsoft Word -- SEM -- 8/1/95". In 1995, Meretzky was off at &lt;a href="https://boffo.games"&gt;Boffo Games&lt;/a&gt;, his new studio. What prompted him to pull a six-year-old text file out of his (&lt;a href="https://archive.org/details/infocomcabinet"&gt;copious&lt;/a&gt;) archives and update it into a "modern" format?&lt;/p&gt;
&lt;p&gt;I have no idea, actually. Maybe the assembly of the &lt;a href="https://archive.org/details/InfocomClassicTextAdventureMasterpieces1996JewelCaseArt"&gt;Masterpieces of Infocom&lt;/a&gt; CD-ROM collection, which had a number of bonus items on it. (Including my first IFComp entry!) The &lt;em&gt;Learning ZIL&lt;/em&gt; document wasn't among them, but it might have been part of a round-up of resources.&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="infocom"/><category term="zil"/><category term="steve meretzky"/></entry><entry><title>Visible Zorker: status report</title><link href="https://blog.zarfhome.com/2026/02/visible-zorker-status" rel="alternate"/><published>2026-02-15T02:53:17+00:00</published><updated>2026-02-15T02:53:17+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-02-15:/2026/02/visible-zorker-status</id><summary type="html">Three weeks ago I announced the Visible Zorker Patreon. At that time I said: If we reach the $500/month goal by Feb 14th, I will start cranking on Zork 3. The aim will be to have a playable version ready for Patreon supporters on March 1st. ...</summary><content type="html">&lt;p&gt;Three weeks ago I &lt;a href="https://blog.zarfhome.com/2026/01/the-visible-zorker-patreon"&gt;announced&lt;/a&gt; the &lt;a href="https://www.patreon.com/VisibleZorker"&gt;Visible Zorker Patreon&lt;/a&gt;. At that time I &lt;a href="https://blog.zarfhome.com/2026/01/the-visible-zorker-patreon"&gt;said&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If we reach the $500/month goal by Feb 14th, I will start cranking on &lt;em&gt;Zork 3&lt;/em&gt;. The aim will be to have a playable version ready for Patreon supporters on &lt;em&gt;March 1st&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As you can see, we have not reached $500/month. The Patreon saw an initial wave of interest, but it leveled off after a few days at about $200.&lt;/p&gt;
&lt;p&gt;But, you know what, I chose this project because it was fun! I want it to work. So we are officially in go-mode. &lt;em&gt;Zork 3 is now in progress.&lt;/em&gt; I have a working build right now. Bare-bones, minimal, but working.&lt;/p&gt;
&lt;p&gt;Contributor-level donors will get access to the &lt;em&gt;Zork 3&lt;/em&gt; page later tonight. Participant-level donors will get access on March 1st, by which time it will be feature-complete.&lt;/p&gt;
&lt;p&gt;(Well, probably mostly complete. The map always takes longest.)&lt;/p&gt;
&lt;p&gt;I'll be touting the project at &lt;a href="https://blog.zarfhome.com/2026/02/gdc-2026-plans"&gt;GDC&lt;/a&gt; in March. I imagine that will bring in some more supporters. How many? No clue.&lt;/p&gt;
&lt;p&gt;Regardless, I am now committing to finish &lt;em&gt;Zork 3&lt;/em&gt;, &lt;em&gt;Deadline&lt;/em&gt;, and &lt;em&gt;Starcross&lt;/em&gt; by the end of May. June is &lt;a href="https://narrascope.org/"&gt;NarraScope&lt;/a&gt; month, so I'll take a break to concentrate on the event. After that we'll take stock and see what the prospects are.&lt;/p&gt;
&lt;p&gt;Sound good? Great.&lt;/p&gt;
&lt;p&gt;See you around the Discord.&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="zork"/><category term="infocom"/><category term="zil"/><category term="zarf"/><category term="visible zorker"/><category term="patreon"/><category term="zork 3"/></entry><entry><title>GDC plans, 2026</title><link href="https://blog.zarfhome.com/2026/02/gdc-2026-plans" rel="alternate"/><published>2026-02-14T02:39:30+00:00</published><updated>2026-02-14T02:39:30+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-02-14:/2026/02/gdc-2026-plans</id><summary type="html">Once again I will show my face in San Francisco for GDC. (My masked face, if you see me inside the convention center. That's how I roll now.) I'll be wearing the Green Hyperspace Jacket as usual. I've attended GDC on and off since 2012. This ...</summary><content type="html">&lt;p&gt;Once again I will show my face in San Francisco for &lt;a href="https://gdconf.com"&gt;GDC&lt;/a&gt;. (My masked face, if you see me inside the convention center. That's how I roll now.) I'll be wearing the Green Hyperspace Jacket as usual.&lt;/p&gt;
&lt;p&gt;I've attended GDC on and off since 2012. This year is a first, though: I'll be helping represent &lt;a href="https://iftechfoundation.org/"&gt;IFTF&lt;/a&gt;! We'll have a table in the new "&lt;a href="https://expo.gdconf.com/2026/#gdc-commons"&gt;GDC Commons&lt;/a&gt;" space, promoting the tools and art of interactive fiction. Come visit us during show-floor hours: 10-6 Wednesday, 10-6 Thursday, 10-3 Friday.&lt;/p&gt;
&lt;p&gt;The Common will also host a bunch of other regional and interest-based game-dev nonprofits. Including the &lt;a href="http://globalgamejam.org/"&gt;Global Game Jam&lt;/a&gt;, &lt;a href="http://www.thebigfoundation.org/"&gt;Black in Gaming&lt;/a&gt;, &lt;a href="https://www.latinxingaming.com/"&gt;Latinx in Gaming&lt;/a&gt;, and groups from &lt;a href="https://sfgamedevelopment.com/"&gt;SF&lt;/a&gt;, &lt;a href="https://www.seattleindies.org/"&gt;Seattle&lt;/a&gt;, and my own homies from &lt;a href="https://bostongamedev.org/"&gt;Boston Game Dev&lt;/a&gt;. Who I would totally be helping out if I weren't booked with the &lt;a href="https://iftechfoundation.org/"&gt;IFTF&lt;/a&gt; crew. And others.&lt;/p&gt;
&lt;p&gt;I won't spoil our booth surprises... well, maybe a little. My &lt;a href="https://eblong.com/infocom/visi/zork1/"&gt;Visible Zorker&lt;/a&gt; project is a great example of an open-source resource for game history education, so it'll be up and running somewhere. Assuming we get all the laptops set up the way we want.&lt;/p&gt;
&lt;p&gt;No, I am not hijacking an IFTF event to promote my own &lt;a href="https://www.patreon.com/VisibleZorker"&gt;Patreon&lt;/a&gt;. That would be tacky. But I should have Visible Zork 3 up and running as a special GDC sneak peek...&lt;/p&gt;
&lt;p&gt;I won't be in the IFTF space every minute, but I'm signed up for a bunch of table hours on Wed/Thu/Fri. The rest of the week -- you know, the usual GDC cycle. Go to a talk, decide that talks are silly, hang out in Yerba Buena Park with all the other game-dev nerds. (Spoiler: the park doesn't require a conference badge. Drop by whether you're registered or not! It's always a crowd, unless it's raining, and even then.)&lt;/p&gt;
&lt;p&gt;Oh, and I'll also be at the IFTF table at the &lt;a href="https://gdconf.com/gdc-nights/"&gt;Opening Night Event&lt;/a&gt; down at Oracle Park. Monday night, 6:30 until... actually I don't know how late it runs. We will find out!&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;hr /&gt;
&lt;p&gt;And now, let's take that headline from top. What are &lt;em&gt;GDC's&lt;/em&gt; plans for 2026? What's going on with this event? Why has it rebranded as the "Festival of Gaming"? What does that mean?&lt;/p&gt;
&lt;p&gt;Everyone knows GDC started in 1988 as the "Computer Game Developers Conference" -- a couple dozen people in Chris Crawford's living room. Apparently it was &lt;a href="https://www.retroreversing.com/gdc"&gt;300 people&lt;/a&gt; by 1989. By the time I visited, GDC was the 30000-person monstrosity we know and resent today.&lt;/p&gt;
&lt;p&gt;Then, splat. Pandemic, argh, skip a couple years, everybody comes back (not everybody)... just in time for three years of unprecedented industry consolidations, layoffs, and closures. Followed by the chilling of international tourism and business travel under, you know, the current way of things.&lt;/p&gt;
&lt;p&gt;Not great for your theoretically industry-leading and in practice incredibly-expensive event.&lt;/p&gt;
&lt;p&gt;As I understand it, the event's tentpole financial donors (Epic, Unity, Amazon, etc) have now drastically cut their support. Don't quote me on this, it's just what I hear on the street. But the giant reset of GDC's name, its &lt;a href="https://gdconf.com/article/time-to-change-the-game-registration-opens-for-the-2026-gdc-festival-of-gaming/"&gt;branding&lt;/a&gt;, and its &lt;a href="https://www.gamedeveloper.com/business/gdc-lowers-ticket-prices-streamlines-pass-types-in-festival-of-gaming-reimagination-"&gt;price matrix&lt;/a&gt; is a clear signal that The Old Plan Ain't Working.&lt;/p&gt;
&lt;p&gt;Will the new plan work? 2025 had plenty of butts on-site, despite the industry malaise. Perhaps &lt;em&gt;because&lt;/em&gt; of the industry malaise. But you can't run a show this size by shaking down the unemployed.&lt;/p&gt;
&lt;p&gt;The "&lt;a href="https://gdconf.com/article/time-to-change-the-game-registration-opens-for-the-2026-gdc-festival-of-gaming/"&gt;community and networking&lt;/a&gt;" theme seems to be aiming for a sort of social-time-with-your-30000-best-friends vibe. With an implicit promise that even though all of &lt;em&gt;your&lt;/em&gt; friends just got laid off, &lt;em&gt;their&lt;/em&gt; friends are all well-heeled publishers who can hook you right up. I mean, that &lt;em&gt;is&lt;/em&gt; GDC in a nutshell, and has been for the past two decades. It's just that the social circle, the thousand overlapping social circles, have been cultivated on the coat-tails of gigantic economic battleships that hung in the sky in exactly the way that bricks don't. Can they really turn that into a self-supporting can't-miss community event? Or does everybody fly centrifugally off to fan-run meetups that cost a twentieth as much?&lt;/p&gt;
&lt;p&gt;Don't look to me for predictions. I have an bug's-eye view of all this. Indeed, I'm one of the performing fleas they're bringing in to liven up the circus. IFTF gets free space on the show-floor! I'm happy to take my complimentary exhibitor pass and strut our stuff for a week.&lt;/p&gt;
&lt;p&gt;But the sense that I'm getting from everybody is... provisional. "We'll try this new GDC and see if it works." Attendees are saying it and, well, GDC must be saying it too. Renting out the ballpark, good grief. They're just throwing a whole bunch of stuff in the pot and waiting to see if it explodes. With popcorn! Literal ballpark popcorn!&lt;/p&gt;
&lt;p&gt;Somewhere behind the curtain is a spreadsheet, and a month from now, the cell in the bottom right will be red or black. I think that very shortly after that, we'll know whether 2026 turns out to be the &lt;em&gt;last&lt;/em&gt; GDC.&lt;/p&gt;
&lt;p&gt;If so, I am for sure not going to miss the party.&lt;/p&gt;</content><category term="zarf"/><category term="gdc"/><category term="iftf"/><category term="if"/><category term="interactive fiction"/><category term="conferences"/></entry><entry><title>When is a bug not a bug?</title><link href="https://blog.zarfhome.com/2026/02/when-is-a-bug" rel="alternate"/><published>2026-02-11T03:05:58+00:00</published><updated>2026-02-11T03:05:58+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-02-11:/2026/02/when-is-a-bug</id><summary type="html">In my last post, I asserted that it was not a bug that the cyclops did not fight. (Not according to the combat rules that govern the troll and the thief, anyway.) There was some Patreon and Discord discussion about that; I'm pulling it out into ...</summary><content type="html">&lt;p&gt;In my &lt;a href="https://blog.zarfhome.com/2026/02/to-fight-a-troll"&gt;last post&lt;/a&gt;, I asserted that it was not a bug that the cyclops did not fight. (Not according to the combat rules that govern the troll and the thief, anyway.) There was some Patreon and Discord discussion about that; I'm pulling it out into a new post.&lt;/p&gt;
&lt;p&gt;(Is my blog going to just be a stream of Infocom trivia for the next two years? Maybe! I'm winging it here.)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Why&lt;/em&gt; doesn't the cyclops fight? Well, it's &lt;a href="https://eblong.com/infocom/visi/zork1/#SRC:1ACTIONS-3279"&gt;these lines of code&lt;/a&gt;:&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;SET CNT 0&amp;gt;
  &amp;lt;REPEAT ()
      &amp;lt;SET CNT &amp;lt;+ .CNT 1&amp;gt;&amp;gt;
      &amp;lt;COND (&amp;lt;EQUAL? .CNT .LEN&amp;gt;
         &amp;lt;SET RES T&amp;gt;
         &amp;lt;RETURN T&amp;gt;)&amp;gt;
      &amp;lt;SET OO &amp;lt;GET ,VILLAINS .CNT&amp;gt;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Translating to more familiar pseudocode:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  CNT = 0
  repeat {
    CNT++
    if (CNT == LEN) return
    OO = VILLAINS[CNT]
    // this monster attacks
  }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;a href="https://eblong.com/infocom/visi/zork1/#GLOB:VILLAINS"&gt;&lt;code&gt;VILLAINS&lt;/code&gt;&lt;/a&gt; table is an &lt;code&gt;LTABLE&lt;/code&gt;, meaning it starts with a length field (3). Then entry 1 is the troll, entry 2 is the thief, entry 3 is the cyclops. The loop exits as soon as &lt;code&gt;CNT&lt;/code&gt; is 3, so the cyclops never attacks. Simple.&lt;/p&gt;
&lt;p&gt;The interesting comparison is Mini-Zork. This was a cut-down Zork, meant either as a demo, a more approachable game, or a version that would run on a cassette-based C64 -- I'm not sure of the precise story.&lt;/p&gt;
&lt;p&gt;(Mini-Zork was the first ZIL code to circulate publicly, earlier than the big Infocom source release of 2019. So it got a lot of scrutiny.)&lt;/p&gt;
&lt;p&gt;The point is, Mini-Zork has essentially the &lt;a href="https://github.com/historicalsource/minizork-1982/blob/c369f869c71e0aac5cfa8147c211ac0e39a5f565/melee.zil#L108"&gt;same logic&lt;/a&gt;, except the cyclops has been removed from the &lt;code&gt;VILLAINS&lt;/code&gt; table. (His combat responses have been removed as well.) So the table &lt;code&gt;LEN&lt;/code&gt; is 2, and the &lt;em&gt;thief&lt;/em&gt; never attacks. &lt;em&gt;That&lt;/em&gt; is clearly a bug. And the buggy line is &lt;code&gt;&amp;lt;EQUAL? .CNT .LEN&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;(&lt;code&gt;&amp;lt;==? .CNT .LEN&amp;gt;&lt;/code&gt;, because this version of ZIL let you abbreviate the operator. Means the same thing though.)&lt;/p&gt;
&lt;p&gt;So am I really saying that the &lt;em&gt;same line of code&lt;/em&gt; is a bug in Mini-Zork but not a bug in Zork? Sure! A bug is &lt;em&gt;when the code doesn't do what you want.&lt;/em&gt; Infocom manifestly wanted the thief to fight but not the cyclops. &lt;/p&gt;
&lt;p&gt;What's happened here is that a developer (probably Lebling or Blank, but who knows) made what should have been a simple change: removing one entry from a table. The table length wasn't hard-wired; everything that relies on &lt;code&gt;VILLAINS&lt;/code&gt; checks its length. So the change should have been safe, but whoops, it wasn't. It resulted in a bug in Mini-Zork.&lt;/p&gt;
&lt;p&gt;That wasn't a bug in the original game. It's what we call "an accident waiting to happen", or a "booby-trap", or a rake or a footgun, or, you know, &lt;em&gt;bad code&lt;/em&gt;. Different situation entirely.&lt;/p&gt;
&lt;p&gt;(Not a criticism. All IF games are made of bad code. It's just the nature of the beast.)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Let's compare a different bug (non-bug?) which also popped up in Discord discussion.&lt;/p&gt;
&lt;p&gt;The strange machine in the depths of the coal mine is defined this way:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;OBJECT MACHINE
  (IN MACHINE-ROOM)
  (SYNONYM MACHINE PDP10 DRYER LID)
  (DESC &amp;quot;machine&amp;quot;)
  (FLAGS CONTBIT NDESCBIT TRYTAKEBIT)
  (ACTION MACHINE-F)
  (CAPACITY 50)&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can refer to it as a &lt;code&gt;MACHINE&lt;/code&gt;, or a &lt;code&gt;DRYER&lt;/code&gt; (the description says it's "reminiscent of a clothes dryer"), or a &lt;code&gt;LID&lt;/code&gt; (so that &lt;code&gt;OPEN LID&lt;/code&gt; is a synonym for &lt;code&gt;OPEN MACHINE&lt;/code&gt;). Or you can call it a &lt;code&gt;PDP10&lt;/code&gt;. A &lt;a href="https://en.wikipedia.org/wiki/PDP-10"&gt;PDP-10&lt;/a&gt; doesn't look anything like a dryer (&lt;em&gt;fridge&lt;/em&gt;, sure) but any Zork insider would be familiar with the thing. Both MIT Zork and Infocom's version were developed on PDP-10 hardware.&lt;/p&gt;
&lt;p&gt;So, great in-joke. Except it doesn't work:&lt;/p&gt;
&lt;div class="PreWrap"&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;gt;&lt;strong&gt;examine dryer&lt;/strong&gt;
You can't see any dryer here!&lt;/p&gt;
&lt;p&gt;&amp;gt;&lt;strong&gt;examine pdp10&lt;/strong&gt;
I don't know the word "pdp10".&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;(Infocom's parser reports unknown words whether you've found the item in question or not. So you don't have to journey to the Machine Room to test this.)&lt;/p&gt;
&lt;p&gt;Here's a how-de-do! What happened?&lt;/p&gt;
&lt;p&gt;To answer this, we must dig into the ZIL dictionary format. These words (&lt;code&gt;MACHINE&lt;/code&gt;, &lt;code&gt;DRYER&lt;/code&gt;, etc) aren't stored in plain ASCII. They're compressed using the Z-machine's &lt;a href="https://www.inform-fiction.org/zmachine/standards/z1point1/sect03.html"&gt;text compression scheme&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In short: a Z-machine character is five bits. A dict entry is exactly four bytes -- two 16-bit words -- with three characters packed into each 16-bit word. So that's a maximum of six characters. The last word has a "stop bit" (the sixteenth bit) indicating that it's the end of the string.&lt;/p&gt;
&lt;p&gt;(Then there's three flag bytes at the end of the entry, but those aren't relevant here.)&lt;/p&gt;
&lt;p&gt;The six-character limit is well-known. You can type &lt;code&gt;EXAMIN LANTER&lt;/code&gt; and the game will accept it. What's not so obvious is that some symbols are more expensive. Five bits isn't enough to distinguish every typable character, after all. So digits and punctuation are actually &lt;em&gt;multi-character&lt;/em&gt; sequences: a "shift" code followed by a shifted value.&lt;/p&gt;
&lt;p&gt;So the word &lt;code&gt;PDP10&lt;/code&gt; gets encoded as the sequence &lt;code&gt;P&lt;/code&gt; &lt;code&gt;D&lt;/code&gt; &lt;code&gt;P&lt;/code&gt; &lt;code&gt;shift&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;shift&lt;/code&gt; &lt;code&gt;0&lt;/code&gt;, or:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;10101 01001 10101 00101 01001 00101
  P     D     P   shift   1   shift
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The final &lt;code&gt;0&lt;/code&gt; gets cut off, because it's the seventh Z-character.&lt;/p&gt;
&lt;p&gt;Like I said, lots of game words get truncated. What's different about this one? It's truncated &lt;em&gt;in the middle of a multi-character sequence&lt;/em&gt;. Apparently Infocom's ZIL compiler gets confused by this and omits the stop bit! (Remember the stop bit?) And &lt;em&gt;that&lt;/em&gt; confuses the parser, so the word can never be matched.&lt;/p&gt;
&lt;p&gt;I looked through the game dictionary and found another example of a missing stop bit. (I &lt;a href="https://intfiction.org/t/z-machine-standard-unclear-aspects-ambiguities/64128/4"&gt;wasn't the first to do this&lt;/a&gt;.)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;OBJECT DAM
  (IN DAM-ROOM)
  (SYNONYM DAM GATE GATES FCD\#3)
  (DESC &amp;quot;dam&amp;quot;)
  (FLAGS NDESCBIT TRYTAKEBIT)
  (ACTION DAM-FUNCTION)&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The backslash is just a source-code escape. This synonym word is supposed to be &lt;code&gt;FCD#3&lt;/code&gt; (Flood Control Dam #3), but again, the word is not recognized.&lt;/p&gt;
&lt;p&gt;So the inevitable question: is this a bug? If so, where?&lt;/p&gt;
&lt;p&gt;It could be an &lt;em&gt;interpreter&lt;/em&gt; bug. After all, the &lt;a href="https://www.inform-fiction.org/zmachine/standards/z1point1/sect03.html"&gt;text encoding spec&lt;/a&gt; I mentioned isn't an Infocom document. It came out of the IF community of the mid-90s, a time when we didn't &lt;em&gt;have&lt;/em&gt; any Infocom documentation. Maybe the game is correct and my interpreter is wrong!&lt;/p&gt;
&lt;p&gt;Well, we can check that. Fire up &lt;a href="https://archive.org/details/Zork_I_r88"&gt;Zork 1 on the Apple 2&lt;/a&gt;!&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://archive.org/details/Zork_I_r88"&gt;&lt;img alt="The opening of Zork 1, displayed on the characteristic Apple 40-by-24 display. All of the text is upper case. The errors &amp;quot;I don't know the word PDP10&amp;quot; and &amp;quot;I don't know the word FCD#3&amp;quot; are visible." height="412" src="https://blog.zarfhome.com/pic/2026/02/zork1-apple.png" width="598" /&gt;&lt;/a&gt;
Zork 1 running on an Apple //e emulator, courtesy of the Internet Archive.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Scratch that idea. My interpreter is behaving correctly, or "the same as Infocom's interpreter", anyhow.&lt;/p&gt;
&lt;p&gt;At this point, I'd be happy to call this a bug -- an inferred bug in Infocom's compiler! But in fact we can observe a bit more evidence. Take a look at this object definition:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;OBJECT TREE
  (IN LOCAL-GLOBALS)
  (SYNONYM TREE BRANCH)
  (ADJECTIVE LARGE STORM ;&amp;quot;-TOSSED&amp;quot;)
  (DESC &amp;quot;tree&amp;quot;)
  (FLAGS NDESCBIT CLIMBBIT)&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is a scenery object found all over the outdoors. A couple of locations say "Storm-tossed trees block your way", so they threw in &lt;code&gt;STORM&lt;/code&gt; as a synonym. But the &lt;code&gt;-TOSSED&lt;/code&gt; part is commented out.&lt;/p&gt;
&lt;p&gt;Why? We don't have source code from earlier Zork 1 releases. But we &lt;em&gt;do&lt;/em&gt; have compiled game files, and several of them have the word &lt;code&gt;STORM&lt;/code&gt; -- with a missing stop bit.&lt;/p&gt;
&lt;p&gt;Clearly, this was compiled from the word &lt;code&gt;STORM-TOSSED&lt;/code&gt;, and ran into the same compiler bug. But this time, the developers &lt;em&gt;noticed&lt;/em&gt;. They figured out what was wrong, and commented out part of the word to avoid the problem. But they missed the parallel situations of &lt;code&gt;PDP10&lt;/code&gt; and &lt;code&gt;FCD#3&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;We can also compare Zork 1 release 119, a late development version (never released). This has all the stop bits where they should be. All the funny words work. So by 1988, Infocom had fixed the compiler bug.&lt;/p&gt;
&lt;p&gt;Whew. I've either completely narcotized you or opened your eyes to the many dimensions of Infocom game file analysis. Tune in next time when I count every individual one of the 69105 leaves!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(This entry is cross-posted to the &lt;a href="https://www.patreon.com/VisibleZorker"&gt;Patreon site&lt;/a&gt;.)&lt;/em&gt;&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="zork"/><category term="z-machine"/><category term="infocom"/><category term="zil"/><category term="zarf"/><category term="visible zorker"/><category term="patreon"/></entry><entry><title>To fight a troll</title><link href="https://blog.zarfhome.com/2026/02/to-fight-a-troll" rel="alternate"/><published>2026-02-08T17:56:49+00:00</published><updated>2026-02-08T17:56:49+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-02-08:/2026/02/to-fight-a-troll</id><summary type="html">Everybody knows that you KILL TROLL WITH SWORD until he vanishes in a greasy black fog. If he kills you first, big deal; RESTORE and try again. It's too random to be a real obstacle. But do you know the math behind the randomness? I didn't! ...</summary><content type="html">&lt;p&gt;Everybody knows that you &lt;code&gt;KILL TROLL WITH SWORD&lt;/code&gt; until he vanishes in a greasy black fog. If he kills you first, big deal; &lt;code&gt;RESTORE&lt;/code&gt; and try again. It's too random to be a real obstacle. But do you know the math behind the randomness?&lt;/p&gt;
&lt;p&gt;I didn't! But some folks got to talking about it on the Discord, and I realized there was room to add some visualization. So &lt;a href="https://eblong.com/infocom/visi/zork1/"&gt;Visible Zork 1&lt;/a&gt; now has a "Combat" tab. You can &lt;a href="https://eblong.com/infocom/visi/zork1/"&gt;try it now&lt;/a&gt;, or just read it right here.&lt;/p&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;(The Visible version is dynamic. It shows how enemy strength decreases as you fight them. Also exciting details like the "enemy wakes up" timer.)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The &lt;a href="https://eblong.com/infocom/visi/zork1/#GLOB:VILLAINS"&gt;villain table&lt;/a&gt; describes the three enemies you can fight. (Although the cyclops does not follow regular combat rules, so his entries are never used.)&lt;/p&gt;
&lt;p&gt;The table shows what weapon the monster is weak again, the weakness penalty, the awakening probability (if it is unconscious), and the table of melee outcome messages. Also &lt;code&gt;STRENGTH&lt;/code&gt;, which is really a property rather than a table entry, but I’m including it here anyway.&lt;/p&gt;
&lt;p&gt;&lt;img alt="A table showing three columns: the troll (strength 2), the thief (strength 5), and the cyclops (strength 10000). The troll is weak against the sword (-1 penalty); the thief is weak against the knife. The cyclops has no weakness." height="156" src="https://blog.zarfhome.com/pic/2026/02/villain-table.png" width="295" /&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://eblong.com/infocom/visi/zork1/#GLOB:DEF1"&gt;combat table&lt;/a&gt; is used for all attacks, player and monster. Select a row based on the defender’s combat strength and the attacker’s advantage over the defender. That is, if the defender has strength 2 and the attacker has strength 3, use line “2/D+1”.&lt;/p&gt;
&lt;p&gt;(For the computation of combat strength, see &lt;a href="https://eblong.com/infocom/visi/zork1/#RTN:FIGHT-STRENGTH"&gt;&lt;code&gt;FIGHT-STRENGTH&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://eblong.com/infocom/visi/zork1/#RTN:VILLAIN-STRENGTH"&gt;&lt;code&gt;VILLAIN-STRENGTH&lt;/code&gt;&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Then roll a nine-sided die. Outcomes (for the defender) are: miss, staggered, light wound, serious wound, unconscious, killed.&lt;/p&gt;
&lt;p&gt;&lt;img alt="A table showing various outcomes depending on the defender and attacker strength and a random number from 1 to 9." height="413" src="https://blog.zarfhome.com/pic/2026/02/combat-table.png" width="338" /&gt;&lt;/p&gt;
&lt;p&gt;If you are staggered, you have a 25% chance of being disarmed. If you are knocked out, your opponent gets 1-3 free shots at you, and most of the results are “killed”. (The dungeon is unkind to the unconscious.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A few observations and questions:&lt;/p&gt;
&lt;p&gt;Why a nine-sided die? Who knows. Maybe they didn't trust the low bit of the primitive RNGs of the day. (Even the "modern" IF interpreters of the 1990s had that sort of problem.)&lt;/p&gt;
&lt;p&gt;The troll, who starts with strength 2, can be killed in one blow. The thief can't; you have to wear him down a bit.&lt;/p&gt;
&lt;p&gt;Note that the cyclops is fully set up for combat, even though you can't hurt him (strength 10000!) and he won't fight you. He can &lt;em&gt;kill&lt;/em&gt; you; if you annoy him, it starts a timer that ends with your ignominious death. But that's not handled through the combat system -- no die rolls.&lt;/p&gt;
&lt;p&gt;In early versions of MIT Zork, you &lt;em&gt;could&lt;/em&gt; fight the cyclops, but that was disabled in favor of sneaky solutions. The real question is, why did they leave the cyclops &lt;a href="https://eblong.com/infocom/visi/zork1/#GLOB:CYCLOPS-MELEE"&gt;combat responses&lt;/a&gt; in the game? That's about 500 bytes they could have saved. Usually Infocom treated every byte as precious -- particularly for these early titles which had to run on the Atari 400, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Finally, a combat bug -- newly discovered on our Discord, as far as I know.&lt;/p&gt;
&lt;p&gt;Let me summarize the &lt;a href="https://eblong.com/infocom/visi/zork1/#RTN:HERO-BLOW"&gt;&lt;code&gt;HERO-BLOW&lt;/code&gt;&lt;/a&gt; routine, which handles your attacks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;ATT&lt;/code&gt; to &lt;code&gt;FIGHT-STRENGTH&lt;/code&gt; (your adjusted combat strength);&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;DEF&lt;/code&gt; to &lt;code&gt;VILLAIN-STRENGTH&lt;/code&gt; (the opponent's adjusted combat strength);&lt;/li&gt;
&lt;li&gt;If the opponent is disarmed or unconscious, you kill them automatically;&lt;/li&gt;
&lt;li&gt;Otherwise roll on the combat table;&lt;/li&gt;
&lt;li&gt;Decrease &lt;code&gt;DEF&lt;/code&gt; if you rolled a hit;&lt;/li&gt;
&lt;li&gt;Call &lt;code&gt;VILLAIN-RESULT&lt;/code&gt;, which stores &lt;code&gt;DEF&lt;/code&gt; as the opponent's &lt;code&gt;STRENGTH&lt;/code&gt; and kills them if that's zero.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What do we mean by "adjusted combat strength"? Well, the &lt;a href="https://eblong.com/infocom/visi/zork1/#RTN:VILLAIN-STRENGTH"&gt;&lt;code&gt;VILLAIN-STRENGTH&lt;/code&gt;&lt;/a&gt; routine checks whether &lt;code&gt;PRSI&lt;/code&gt; (the parsed indirect object) matches the villain's weakness. This is a crude way of checking whether you typed &lt;code&gt;KILL TROLL WITH SWORD&lt;/code&gt; or &lt;code&gt;KILL THIEF WITH KNIFE&lt;/code&gt;, as distinct from any other weapon. If the weapon matches, &lt;code&gt;VILLAIN-STRENGTH&lt;/code&gt; returns a value decreased by one (but not to zero).&lt;/p&gt;
&lt;p&gt;(I think this decrease would also happen if you typed &lt;code&gt;PUT LAMP IN SWORD&lt;/code&gt; on the same turn that the troll attacks &lt;em&gt;you&lt;/em&gt;. Possible additional bug! But not the one I'm talking about.)&lt;/p&gt;
&lt;p&gt;Notice that the weapon penalty makes its way from &lt;code&gt;VILLAIN-STRENGTH&lt;/code&gt; to the &lt;code&gt;DEF&lt;/code&gt; variable to the opponent's &lt;code&gt;STRENGTH&lt;/code&gt; -- regardless of your roll! So if you attack the troll with the sword &lt;em&gt;and miss&lt;/em&gt;, the troll's strength goes down by one &lt;em&gt;anyway&lt;/em&gt;. (Unless it's already at one.) A light wound does two damage, and a serious wound does three.&lt;/p&gt;
&lt;p&gt;The same goes for attacking the thief with the knife, of course. A miss will cause damage.&lt;/p&gt;
&lt;p&gt;(To be clear, this only happens when you attack. The converse &lt;a href="https://eblong.com/infocom/visi/zork1/#RTN:VILLAIN-BLOW"&gt;&lt;code&gt;VILLAIN-BLOW&lt;/code&gt;&lt;/a&gt; routine &lt;em&gt;does&lt;/em&gt; call &lt;code&gt;VILLAIN-STRENGTH&lt;/code&gt;, but it &lt;em&gt;doesn't&lt;/em&gt; call &lt;code&gt;VILLAIN-RESULT&lt;/code&gt;. The decreased enemy strength value is discarded and doesn't affect future turns.)&lt;/p&gt;
&lt;p&gt;Is this a bug? It sure doesn't look intentional. You wouldn't expect that a miss would cause damage. On the other hand, every commercial version of Zork behaved this way (as far as I know). If you "fixed the bug", combat would get &lt;em&gt;significantly&lt;/em&gt; harder -- particularly the thief fight, which necessarily goes several rounds. Would anybody want that?&lt;/p&gt;
&lt;p&gt;If the combat was playtested at all -- and Infocom was assiduous about user testing, both before and after release -- it was tested with these odds. The mechanics may be illogical, but we have to assume that the &lt;em&gt;outcome&lt;/em&gt; is what Infocom wanted. Or at least, they were satisfied with it.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(This entry is cross-posted to the &lt;a href="https://www.patreon.com/VisibleZorker"&gt;Patreon site&lt;/a&gt;.)&lt;/em&gt;&lt;/p&gt;</content><category term="if"/><category term="interactive fiction"/><category term="zork"/><category term="combat"/><category term="infocom"/><category term="zil"/><category term="zarf"/><category term="visible zorker"/><category term="patreon"/></entry><entry><title>The Beacon is lit</title><link href="https://blog.zarfhome.com/2026/02/the-beacon" rel="alternate"/><published>2026-02-07T15:09:49+00:00</published><updated>2026-02-07T15:09:49+00:00</updated><author><name>Andrew Plotkin</name></author><id>tag:blog.zarfhome.com,2026-02-07:/2026/02/the-beacon</id><summary type="html">Here's the back wall of my home office -- a.k.a. my videochat background. It used to be boring. Now it's colorful! Pattern: slowflies. The lights are bright enough to saturate my phone camera; that's why the blue looks weirdly dark. That's ...</summary><content type="html">&lt;p&gt;Here's the back wall of my home office -- a.k.a. my videochat background. It used to be boring. Now it's colorful!&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/02/slowflies.jpeg"&gt;&lt;img alt="An LED strip runs along the top of a wall, above some wire-rack shelves of CD-ROMs and assorted junk. The strip glows in irregular segments of deep blue and bright cyan. The colors are bright enough to blow out the image somewhat; they shine up the wall and reflect off the ceiling." height="344" src="https://blog.zarfhome.com/pic/2026/02/slowflies-s.jpeg" width="600" /&gt;&lt;/a&gt;
Pattern: &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/slowflies.pbb"&gt;&lt;code&gt;slowflies&lt;/code&gt;&lt;/a&gt;. The lights are bright enough to saturate my phone camera; that's why the blue looks weirdly dark.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;That's a programmable LED strip running a pattern that I designed. In a pattern language that I came up with. The source code for that pattern is here: &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/slowflies.pbb"&gt;&lt;code&gt;slowflies.pbb&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As you can see, it's a declarative syntax which describes &lt;em&gt;waves&lt;/em&gt;. Roughly, this code says "Generate some sine-wave pulses that move slowly back and forth; add them; draw them in green (&lt;code&gt;$0F0&lt;/code&gt;) with a blue (&lt;code&gt;$02C&lt;/code&gt;) fade-down."&lt;/p&gt;
&lt;p&gt;Here's another one, in pinks and oranges:&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/02/fireblobs.jpeg"&gt;&lt;img alt="An LED strip runs along the top of a wall. The strip glows in irregular segments of yellow, orange, and magenta." height="280" src="https://blog.zarfhome.com/pic/2026/02/fireblobs-s.jpeg" width="600" /&gt;&lt;/a&gt;
Pattern: &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/fireblobs.pbb"&gt;&lt;code&gt;fireblobs&lt;/code&gt;&lt;/a&gt;. I turned off the room lights to bring out the colors.&lt;/p&gt;
&lt;/div&gt;
&lt;!--more--&gt;
&lt;a name="more"&gt;&lt;/a&gt;
&lt;p&gt;And some &lt;a href="https://blog.zarfhome.com/pic/2026/02/wanderedges.mp4"&gt;video&lt;/a&gt;:&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;video controls muted="true" width="600" height="337"&gt;
&lt;source src="/pic/2026/02/wanderedges.mp4" type="video/mp4" /&gt;
&lt;/video&gt;
&lt;p&gt;Pattern: &lt;code&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/wanderedges.pbb"&gt;wanderedges&lt;/a&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;It's nicely flexible. That green-fireflies video is a sum-of-waves like all the others, but with a gradient that only shows the &lt;em&gt;midpoint&lt;/em&gt; of the summed curves. This gives a sort of cheapass edge-detection over time, which is visually interesting.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;This project has taken several detours. I originally wanted to run an LED strip around the bay window of my second-floor apartment. Thus the "Beacon" -- it would shine out over my neighborhood. Or at least amuse the neighbors.&lt;/p&gt;
&lt;p&gt;I may yet do that, but weather-proofing and outdoor wiring is a lot. I figured it would be easier to start with an indoor installation. The neighbors would miss out, but it would amuse my compatriots at morning stand-up.&lt;/p&gt;
&lt;p&gt;The pattern language is a syntax that I came up with a couple of years ago. My &lt;a href="https://github.com/erkyrath/beacon"&gt;first implementation&lt;/a&gt; was in Rust. (I wanted some Rust practice.) That was intended to run on a Raspberry Pi. And it did! I bought a Pi and an LED strip. I managed to get the software installed, and it ran great.&lt;/p&gt;
&lt;p&gt;However, connecting the Pi &lt;em&gt;to&lt;/em&gt; the LED strip was, well, a &lt;a href="https://learn.adafruit.com/adafruit-dotstar-leds/python-circuitpython"&gt;soldering project&lt;/a&gt;. I've soldered wires, but my skill level is "blob it on and hope it works" and I just didn't feel comfortable anywhere near circuitboard pins. So that got shelved for a while.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;But a few months ago, someone mentioned the word "&lt;a href="https://electromage.com/pixelblaze"&gt;Pixelblaze&lt;/a&gt;". The Pixelblaze is a user-friendly microcontroller for LED strips. It has a built-in web interface. You can get it with the connector already soldered on! Plug in, fire up a web page on your local network, select a pattern, and you're off. There's a pattern editor, too. Exactly what I wanted.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/02/pixelblaze-conn.jpeg"&gt;&lt;img alt="A small black case with a four-wire connector plugged into it. The connector is plugged into a different connector at the other end. One wire has a tag with &amp;quot;+5V&amp;quot; scribbled on it." height="265" src="https://blog.zarfhome.com/pic/2026/02/pixelblaze-conn.jpeg" width="600" /&gt;&lt;/a&gt;
A Pixelblaze controller plugged into its connectors. It's illuminated in green because where do you think the light is coming from?&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Only one problem: it doesn't run &lt;em&gt;my&lt;/em&gt; pattern language. It uses a &lt;a href="https://electromage.com/docs/language-reference"&gt;Javascript-like language&lt;/a&gt;. Nothing wrong with that -- but I had this extremely cool (I thought) &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/DOC.md"&gt;declarative syntax&lt;/a&gt; all worked out, and I wanted to use it.&lt;/p&gt;
&lt;p&gt;Sadly, while the Pixelblaze hardware (and its software) are intended for tinkerers, they are not open-source. So I couldn't just replace their language with mine.&lt;/p&gt;
&lt;p&gt;Instead, I had to write a translator tool. Behold: &lt;a href="https://github.com/erkyrath/pbbeacon"&gt;&lt;code&gt;pbbeacon&lt;/code&gt;&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;(Yes, the "Pixelblaze Beacon". I wasn't feeling groovy for names.)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pbbeacon&lt;/code&gt; is a translator which reads one of my pattern files (a &lt;code&gt;.pbb&lt;/code&gt; file) and writes out a Pixelblaze language file. You can see examples of both in the &lt;a href="https://github.com/erkyrath/pbbeacon/tree/master/scripts"&gt;scripts&lt;/a&gt; directory. The &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/slowflies.pbb"&gt;&lt;code&gt;slowflies.pbb&lt;/code&gt;&lt;/a&gt; script up top gets translated into &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/slowflies.pat"&gt;&lt;code&gt;slowflies.pat&lt;/code&gt;&lt;/a&gt;. You shove that onto the Pixelblaze and it runs.&lt;/p&gt;
&lt;p&gt;(The top of the &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/slowflies.pat"&gt;&lt;code&gt;.pat&lt;/code&gt;&lt;/a&gt; file is the original &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/slowflies.pbb"&gt;&lt;code&gt;.pbb&lt;/code&gt;&lt;/a&gt; source, included as a comment. Provenance is all.)&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;More to be done&lt;/h2&gt;
&lt;p&gt;This project is, as they say, very much in progress.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/DOC.md"&gt;&lt;code&gt;pbbeacon&lt;/code&gt; language&lt;/a&gt; is missing a few features compared to the &lt;a href="https://github.com/erkyrath/beacon"&gt;Rust original&lt;/a&gt;. In particular, I need to implement the &lt;code&gt;noise&lt;/code&gt; operator. The PB language has a noise() function; I just need to get it hooked up right. [EDIT: Done as of Feb 13th.]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;My system has a global clock. It needs to fire waves at known intervals, so time-tracking is critical. But the underlying Pixelblaze language uses fixed-point &lt;code&gt;16.16&lt;/code&gt; math for everything. (Really &lt;code&gt;15.16&lt;/code&gt;, because it's signed numbers.) That means that my clock will overflow after 32767 seconds -- nine hours. Probably the whole pattern will freeze up, or go blank, or something. So it's no good for all-day operation. I should write some code to time-shift down after eight hours.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You're supposed to be able to control the Pixelblaze by sending messages over a websocket connection. I have not yet gotten this to work. (I could have it flash red when someone messages me on Slack! Or when someone &lt;a href="https://web.archive.org/web/20081026124125/http://www.traipse.com/beacon/index.html"&gt;files a bug&lt;/a&gt; on one of my Github repos! Wait, no, that's a terrible idea.) [EDIT: Done as of Feb 13th.]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I did a fair amount of code optimization, but my patterns are inherently slow. Adding up several sine waves is just a lot of math. The Pixelblaze chugs a bit under the load. Some of my patterns run at 30 fps, which is slower than I prefer. If I try to get any more complex, it would get unacceptably blinky. Or if I got a longer strip, or a denser one (more dots-per-inch).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Pattern gallery&lt;/h2&gt;
&lt;p&gt;Here's all the patterns I've come up with so far. I'm sure I'll add some more as time goes on. Fiddling with pattern code is fun!&lt;/p&gt;
&lt;p&gt;(I've uploaded most of these to the &lt;a href="https://electromage.com/patterns"&gt;Pixelblaze pattern repository&lt;/a&gt; as well.)&lt;/p&gt;
&lt;div class="BlackPane"&gt;
  &lt;div id="p_amoeba" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/amoeba.pbb"&gt;amoeba&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_aurorashivers" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/aurorashivers.pbb"&gt;aurorashivers&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_bustle" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/bustle.pbb"&gt;bustle&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_coolaura" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/coolaura.pbb"&gt;coolaura&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_fireballs" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/fireballs.pbb"&gt;fireballs&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_fireblobs" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/fireblobs.pbb"&gt;fireblobs&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_heatshivers" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/heatshivers.pbb"&gt;heatshivers&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_neutronorbit" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/neutronorbit.pbb"&gt;neutronorbit&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_novas" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/novas.pbb"&gt;novas&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_portal" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/portal.pbb"&gt;portal&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_scrolls" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/scrolls.pbb"&gt;scrolls&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_slowflies" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/slowflies.pbb"&gt;slowflies&lt;/a&gt;&lt;/div&gt;
  &lt;div id="p_wanderedges" class="PatternPreview"&gt;&lt;/div&gt;
  &lt;div class="PatternLabel"&gt;&lt;a href="https://github.com/erkyrath/pbbeacon/blob/master/scripts/wanderedges.pbb"&gt;wanderedges&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;These are animations rendered by the Pixelblaze editor. (Or, really, &lt;a href="https://blog.zarfhome.com/pic/2026/02/previews/bustle.jpeg"&gt;2D images&lt;/a&gt; scrolling through a narrow rectangle. &lt;a href="https://neiloseman.com/slit-scan-and-the-legacy-of-douglas-trumbull/"&gt;Slit-scan trippiness&lt;/a&gt;!)&lt;/p&gt;
&lt;h2&gt;Techy details&lt;/h2&gt;
&lt;p&gt;I bought a &lt;a href="https://shop.electromage.com/products/pixelblaze-ready-to-run"&gt;Pixelblaze V3 Standard&lt;/a&gt;, the "pre-soldered" version, along with the slim case. Actually I bought two, one pre-soldered and one not.&lt;/p&gt;
&lt;div class="ImageWrap Center"&gt;
&lt;p&gt;&lt;a href="https://blog.zarfhome.com/pic/2026/02/pixelblaze-case.jpeg"&gt;&lt;img alt="A small circuitboard in a plastic case." height="378" src="https://blog.zarfhome.com/pic/2026/02/pixelblaze-case.jpeg" width="400" /&gt;&lt;/a&gt;
What it looks like with the case open. This is the &lt;em&gt;non&lt;/em&gt;-pre-soldered Pixelblaze.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Then (or rather, two years earlier) I got an &lt;a href="https://www.adafruit.com/product/2240"&gt;Adafruit DotStar LED strip&lt;/a&gt;, 4 meters at 60 LEDs per meter. Also a chunky 5V power supply.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You can power the Pixelblaze through a USB-mini interface, but it can't draw much power that way. So there's a limit to how many LEDs you can run off USB. I followed the recommended setup, which is to power the LED strip directly from the power supply. Then the Pixelblaze doesn't need its own power connection; it just runs off the power coming from the LED strip. It's clever.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I ran into one hitch. If you look at the &lt;a href="https://shop.electromage.com/products/pixelblaze-ready-to-run"&gt;Pixelblaze store page&lt;/a&gt;, you'll see it comes with a tiny little ribbon cable that connects the controller to the LED strip. (Also visible in the green closeup above.) The DotStar strip I bought has a &lt;a href="https://www.adafruit.com/product/578"&gt;four-pin connector&lt;/a&gt; on each end (they can daisy-chain) so it all just worked.&lt;/p&gt;
&lt;p&gt;...eeexcept it didn't work. Upon careful inspection, the PB ribbon cable wanted to connect to the &lt;em&gt;wrong end&lt;/em&gt; of the DotStar strip. (They daisy-chain, but one end is "input" and the other is "output".)&lt;/p&gt;
&lt;p&gt;But I was smart this time. I asked my partner, who has been soldering LEDs for decades. She threw together a 4-pin gender-changer from parts lying around, and &lt;em&gt;then&lt;/em&gt; it all just worked.&lt;/p&gt;
&lt;p&gt;Yes, I will get her to deal with the Raspberry Pi as well. My original plan still awaits. The Pi will run &lt;em&gt;much&lt;/em&gt; faster -- which means fancier patterns on longer strips. The Beacon will rise! Forth EorlinGaAs!&lt;/p&gt;</content><category term="zarf"/><category term="art"/><category term="beacon"/><category term="leds"/><category term="pixelblaze"/></entry></feed>