It’s hard to believe that, in the decade plus since its original release, Graham Nelson’s masterwork puzzlefest Inform 7 has received almost no critical attention as interactive fiction. Most of the people reading this will have previously heard of Inform 7 only as “that game where you play someone writing a text adventure” (or, in the official Inform 7 parlance, “a story”). Some may have heard of it only negatively as “that frustrating game that pretends to understand English but really doesn’t.”
Inform 7 is a sprawling paean to the sheer vastness of human thinking that breaks new ground in the field, adding a dynamic code compilation subsystem of a scale and complexity far in excess of Andrew Plotkin’s Lists and Lists, the only similar work of this type of which this author is aware. (Excepting Nelson’s own earlier and well-regarded Inform 6, of course, about which more will be said later.) It offers fundamentally new gameplay modes that may be difficult for newcomers to grasp and appreciate because they require a blend of left- and right-brain activity very different from most other works of interactive fiction, and indeed very different from most other computer games.
While most interactive fiction presents an enjoyable blend of story and/or puzzle, Inform 7 takes it to a new level, offering a fully customizable and almost freeform experience akin to AI Dungeon, but one that is firmly rooted in a consistent and coherent structure of meaning that is built up in layers from ideas originating in the player’s own mind. This is made possible by a unique, high-level command language that offers many levels of abstraction, which in turn allow increasingly complex gameplay as the language’s core concepts and patterns are learned. (The effect is reminiscent of Plotkin’s Hadean Lands, allowing the player to achieve vastly more difficult objectives with a few deft commands in later stages of the game.)
The game’s most prominent feelie is its interactive and integrated help system, which is a tremendous accomplishment in and of itself. Hundreds of pages of backstory and hints are provided in its two sections, called “Writing With Inform” and “Recipe Book” and abbreviated WWI and RB, respectively. Many people look at the size of those interactive documents and reflexively balk: “I’m supposed to read all that just to get started?!” The answer is no – but with important caveats.
Inform 7 uses a custom-built interface that is radically different from the
> command prompt which is the standard set by years of tradition. Instead, the player (styled “author” in the game’s own terminology) is expected to type their input into a window labeled only as “Source.” Perhaps surprisingly, hitting the Enter key doesn’t cause the author’s input to be processed; it is necessary to press the “Go” button found at the top of the screen.
Thanks to a well-structured introductory level (the first chapter of WWI), even absolute neophytes will soon be able to obtain a successful “compilation,” and here the genius of Inform 7 becomes truly evident. The player will be presented with nothing less than a new game-within-a-game, this time one featuring the traditional
> prompt and following all of the standard conventions. Players may be surprised both at how much and how little can be done in this mini-game, which, in addition to the player’s source text, is partially built from what is known within the wider game lore as the “Standard Rules.”
The first chapters of WWI start out so gently that even someone with no prior background in interactive fiction or programming can get familiar with the compilation loop that is the game’s main driver of action. New players commonly get excited at the seductive promise of a program that truly understands English, and they impatiently begin to try their own variations on the input from the built-in walkthrough for the opening game found in WWI. At this point, they are likely to be introduced to the voice of the game’s parser in the form of “Problem Messages.”
Chances are that if you’re playing Inform 7 then you have already played and enjoyed many other works. Do you remember the learning curve of the simplified syntax and reduced vocabulary required by the format? The task here is not so different; one must learn to speak the game’s simplified language to make any progress. This is the first great challenge of the game, and many new players quit when it becomes clear that the parser’s capabilities are quite limited when compared to the strong AI genie conjured by the imagination in the first rush of excitement at the idea of a “natural” programming language. Importantly, the persistent player will eventually discover that it is possible to teach the game new concepts and phrases – in effect to teach it your language. Once one starts doing that, the game’s parser begins to seem much smarter.
Surges of frustration are very common in early game sessions, when the new player has not yet begun to realize how the parser “sees” the command input and is not yet aware of the nuances of the jargon used in Problem Messages. These canned but adaptive responses range from elegant and insightful to (in a handful of cases) comedic and/or snarky. Experience has shown that the messages occasionally derive from a misdiagnosis of the actual problem with the input and/or contain errors in their display, but on the whole they are very functional, often providing clickable pointers directly to the missteps in the player’s current input and offering context-driven hints. Players are asked to consider that engineering the parser’s responses here constitutes a difficult design problem in and of itself.
WWI will guide the newcomer through the process of populating their mini-game with a number of objects exhibiting basic functionality. Most examples are readily adapted with a little imagination, and players seeking to build more complicated scenarios are likely at this point to delve more deeply into the Recipe Book, which is loaded with nearly 450 example constructs that range from simple to highly complex. With a little editing of output and object names, these can be deployed to any number of uses by an inventive player, and the feelie text is quite explicit that players are encouraged to do so.
This point, though, is the second great challenge of the game. The new player has learned just enough to begin to see how much is possible, but not nearly enough to know how to do most of it. Beyond the simpler examples, adapting RB content may have unexpected side effects, or prove intractable when trying to modify it due to a lack of understanding of how it really functions. In this context, Nelson’s signature style emphasizing brevity and subtlety begins to bite the unwary. A quick reading of the associated sections within WWI (helpfully cross-indexed from RB, and vice versa) is likely to result in a partial comprehension at best. At worst, a failure to read the documentation with mathematical precision can leave the player with misconceptions that significantly impoverish their experience of the game. (It should be noted here that the game’s very nature enables multiple solutions for any one puzzle, but most people solve the first real puzzles very inefficiently, because the short and elegant solutions require game knowledge that won’t be revealed until many weeks or even months of play have elapsed.)
In their frustration, many players soon turn to online hint forums such as this one. Fortunately, there is an active community of players that are more than willing to help out newbies. Some may resist seeking out such “spoilers,” but take note: There is no score for this game, and to this author’s knowledge nobody has yet reached its end. (Some point out the metrics available from the “Progress” subtab as a proxy for score, but those metrics and the popular reception of the mini-games produced are only loosely correlated.)
After a certain point, many players soon reach the third great challenge: stalling out at a certain level of comfort. This is easy to do, as many players are either programmers drawn to the novelty of an English-like command language or writers attracted by the promise of being able to write a computer game without any “real” coding. In addition, the learning curve of WWI is practically exponential – it’s hard to believe that the last few and first few chapters are part of the same document! In truth, Inform 7 demands both a programmer’s precision and a writer’s creative flexibility from its players, and some may reject this as too high of a bar to be actually fun. However, this author urges the doubtful to persevere.
As with any good magic system (and this author does feel comfortable placing Inform 7 in that subgenre), it takes time to fully master each layer of complexity being offered, but it’s also the case that each new skill is a stepping stone that makes it possible to progress even farther. (Nelson’s trickster side can be a factor here again, as there are parts in WWI that are commonly understood to imply things that are flatly untrue, and there are important gems of wisdom, presented only implicitly, that are easy to overlook while following the magician’s flourish cum trigonometry proof that comprises his essential prose style.) This author advises the intermediate player to press on throughout the whole of WWI, even if it takes years. The chapter on relations alone (which are constructs designed to closely mimic human logic and which dramatically ease the modeling of complex scenarios) is a revelation that will deeply alter your playing style once understood.
It’s probably worth mentioning at this point that this game has secret levels. These are usually discovered only by dedicated players, who first learn of their existence via the hint forums or by reading the final chapters of WWI. To the surprise of many, it turns out that every piece of the Standard Rules can be modified to suit the player’s whim, with enough work – and often with much less work than might be anticipated. Even more amazing: At the heart of the system lies a variation of the game engine from Inform 6, and this can be utilized directly with appropriate command code, though this takes a form much closer to traditional programming and may not appeal to all players. The included “template” files, which are something like the Standard Rules in that they involve code which will be added automatically to the player’s mini-game, are written entirely in Inform 6’s more primitive command language, but they also include important clues about the game’s deeper puzzles, provided directly by Nelson.
If you are new to the genre, you may have missed Inform 6 when it was first released in the late 1990s. Rest assured that, if interested, you can experience most of the classic puzzles from that game in the context of Inform 7, but this is generally neither necessary nor recommended, and many players gladly skip this part of the game in its entirety. (Those that do explore this path are the truly hardcore puzzlers, who will need to seek out the feelies for I6 and even those for the Z-machine and Glulx virtual machine subsystems, one or the other of which is used to run the player-created mini-games. The most important feelies can be found with a little searching on the hint forums, the IF Archive, or the web at large; Nelson’s work has inspired quite a bit of fan fiction that is extremely informative about the game’s inner workings for those inclined to enjoy that sort of thing.)
This review is already getting long, and it has yet to even mention the game’s “Skein” and “Transcript,” which together act as a kind of combination of map through mini-game paths and record of the most recent playthrough of those paths. (These are tremendously useful when the player starts to create larger and more complex mini-games, alleviating hours of tedious manual work when verifying the effect of changes.) Nor has been mentioned the “Index,” which can only be described as a combination inventory and quest log – the former because it enumerates all of the significant features of the player’s mini-game (including both those added by the player and those provided by the Standard Rules) and the latter because its entries seem quite cryptic when first starting out, and many players are motivated to keep learning about the game’s core language simply to try to make sense of its contents. The “Extensions” functionality is also getting short shrift here, but it’s basically a kind of expandable Recipe Book. (Authors can even create and share their own extensions, and many are swapped by enterprising players on the hint forums, allowing collaborative solutions to the more common puzzles and their variants.) The “Settings” tab plays less of a role than it did in earlier releases of Inform 7, so it will be ignored here.
As a final note, it is worth repeating that this game, exceptional as it is, is only a beta release. Nelson is hard at work on the next revision, which, if the past is a guide, is likely to enable even greater heights of achievement in gameplay. By no means should that be taken as a recommendation to hold off on trying Inform 7, however. Past expansions have largely added to the game and only rarely required any change to your saved games (called “projects”) to continue to function.
WARNING: Some of the replies on this thread may contain spoilers that aren’t set off with appropriate spoiler tags, so proceed at your own risk.