I love the idea of interactive fiction — that the author can create a tiny model world in which literally anything might happen, a world that readers have to actively engage with in order to discover its secrets. You can do this in very satisfying ways even with authoring systems that have been around for more than a decade. (Inform 6, for example.) What has happened in recent years is that the designers who are developing the authoring systems have been piling new layers of sophistication and complexity atop those older systems.
The result, with both TADS and Inform 7, reminds me a little of paintings by Hieronymus Bosch — fantastically jumbled and exciting, but there’s so much going on that you really can’t hope to grasp or absorb it all. In spite of industrious efforts to make these systems friendly, they have grown increasingly arcane and difficult to use.
Tonight I started working on the new edition of my Inform 7 Handbook. There’s a new version of Inform 7 (6E59) just out, so it’s time to update the Handbook. I haven’t even touched the new features of the program yet — I’m still fumbling with the stuff that doesn’t quite work right. There’s a bad bug that crops up, for example, if the player is on what’s called an enterable supporter (for instance, a chair) and examines the chair. I may have found an easy fix for it. I’m hoping also to find a fix for the word-end-apostrophe-in-a-title bug. (If you call your game Goin’ Home, the title will be printed out within the game as Goin” Home.) People who read the Handbook are going to want to know this stuff. (But see below.)
I started digging into the Inform 6 layer, which is buried deep within Inform 7. Since I learned I6 once upon a time, I can sort of see what’s going on in the .i6t files — but my goodness, there’s a lot of code there!
I’d like to become an expert in this system, partly because it might give me ideas for a new game, partly because I enjoy learning stuff, partly because I’d like the Handbook to be as good as possible, and partly because I’d like to fix the damn thing so it works the way I want it to!
I also have a diametrically opposed impulse to go back to Inform 6 and forget about Inform 7 entirely. That would be a stroll in the park, comparatively speaking. But one of the nice things about complex systems is that they suggest artistic effects that you might not think of otherwise. Technically, you can do absolutely anything in Inform 6 that you can do in Inform 7, at least at the level of the game itself. But it might never occur to you to craft your own code for scenes or relations, which are standard tools in I7, and if it did occur to you it would be more work to build these things yourself.
Inform 7 has, in addition, some slick environment features, such as the ability to output a basic website to support your game. To say nothing of the built-in Index. So ultimately, it’s worth putting some effort into mastering it, even though I feel, at times, that I’m wandering through the Garden of Earthly Delights.
Footnote: The problem with apostrophes at the ends of words in game titles (for instance, a game called Goin’ Home) was definitely reported prior to the build of 6E59. We were told that all bug reports had been closed out, but this one wasn’t closed out, it was blown off. See what I mean about the Garden of Earthly Delights?
Graham Nelson “explained” his failure to fix the bug by talking about the need to export bibliographic data. If true, this is a dandy example of the kinds of complexity that the developers are slogging through. Most authors could care less about bibliographic data, but it’s probably needed in order to get the game listed properly on the IFDB website.
I’m a little suspicious of that explanation, though. I could be wrong, because I’m not a real programmer, but it seems to me that the problem arises because the title of the game is being output to the window of the interpreter software at a point after Inform has been set up to process text to make quotation marks look standard, but before the routine has been set up that processes the text so as to interpret bracketed insertions, such as ['], which produces an unambiguous apostrophe. I can’t quite imagine why it would be difficult to output the title at either an earlier or a later stage.
This kind of mess thoroughly drains my enthusiasm for Inform 7. Maybe an expert will suggest a way to fix it. Or maybe I7 is just plain broke. We’ll see.