From time to time, moved by an impulse that’s nearly as obscure as dark matter, I find myself writing a text adventure game. Over the years I’ve written and released half a dozen of them, the first in 1999 and the most recent only last year. I’ve done this using several specialized programming languages — Inform 6, Inform 7, and TADS 3.
I’m not going to regale you today with my assorted opinions about text adventures (a type of software amusement that is typically dignified by the term “interactive fiction”) and the programming languages with which they’re authored. Maybe I’ll do that tomorrow or next week. Right now I’m leading up to something specific here; bear with me.
In 2009 I taught a class of home-school kids a bit about how to write a game using Inform 7. I can’t say the class was enormously successful, but the kids had fun, and I got paid. In the process, I realized that the Inform 7 documentation was not really very well structured as a teaching tool. So I wrote a book that took a different approach to explaining how to use I7. Imaginatively, I called it The Inform 7 Handbook. I made it available (for free) to the interactive fiction authoring community, and some people have downloaded and used it. One author recently posted a message in which she referred to it as her bible, which I suppose made me feel like Moses bearing the tablets. Or maybe like Lot’s wife. Sometimes it’s hard to tell.
But I digress. Between 2009 and 2015 I7 was updated two or three times, so in 2015 I updated the Handbook. You can download it, if so inclined, at http://www.musicwords.net/if/I7Handbook6x9.pdf (also available formatted for 8-1/2 x 11 as http://www.musicwords.net/if/I7Handbook8x11.pdf) or get the word processor version at http://www.musicwords.net/if/I7Handbook.odt.
And now another six years have gone by. I7 has not been updated significantly by its author, Graham Nelson, during the intervening time, and I’m not going to rant about that, not right now. What has changed significantly is the ecosystem of third-party extensions.
Inform 7 provides, by design, a bare-bones world model. Dozens of developers have filled in the gaps with various extensions, some of them quite slick. To add an extension to the game you’re writing, you just type something like “Include Small Kindnesses by Aaron Reed.” (I know that doesn’t look like computer code, but it is. I’m definitely not going to explain that today.) Some of the older extensions were slick at the time, but the developers, being unpaid and less than fully committed to supporting the I7 community (and it’s hard to blame them, given that Graham Nelson himself seems not to … oh, wait, I wasn’t going to rant about that), may not have updated their extensions for compatibility with the 2015 release.
Also, the extensions library has started wandering from place to place on the Internet. For a while it was on the Inform 7 website. Then it was on a site maintained by Inform guru Emily Short. This year it’s on github. There are now quite a lot of I7 extensions on github (at https://github.com/i7/extensions/), and you can download them all in a single zip file.
Here’s one: Inline Hyperlinks by Daniel Stelzer. A simple syntax for creating links in the game’s output text so the player can click or tap a word rather than typing it. That could be useful. It compiles without a problem. And … it doesn’t work. The words appear as links, but clicking on them does bupkis.
For all these reasons, the section of the Handbook that discusses extensions is now woefully out of date. So really I ought to update it, yes? But by now there are upwards of 300 extensions, some of them obsolete, some of them buggy — and by now my I7 programming chops are about as polished as a block of cheese that has been sitting at the back of the refrigerator for six years, so figuring out which extensions to recommend in the Handbook and how to instruct people on fixing the ones that are broken is not going to be a stroll in the park.
Maybe I should just tell everybody, “If you want an updated handbook, just download the word processor file and have at it.” But I do feel a sense of responsibility.
You are standing in an open field west of a white house with a boarded front door. There is a small mailbox here….