Wednesday, March 23, 2011

Understanding More

The world of interactive fiction can sometimes seem like a secret club: you can only get in if you know the handshake, and you can't learn the handshake without getting in. The snake oil sold by the parser affects the initiates but not the masses: if you type the wrong things, it rarely tells you what to try instead.

There are two mistaken assumptions in the perpetuation of this model, both dating from the 1980s: people will read the manual, and natural language processing is an unsolved problem. The first has never been particularly true and is less so all the time, while the second gets less accurate with each passing year. We may not be able to recognize all natural language yet, but I feel we can at least try a little harder.

Player Experience Upgrade is a single-download compilation of ten Inform 7 extensions by several leading authors that will improve the success rate of commands entered into an IF that includes it. Some preliminary testing suggests about 20-40% more commands are recognized than with vanilla I7, reducing player frustration and increasing retention time. Little to no additional work is required by authors other than downloading and including the extension. (At least, that's the intention; if you find otherwise, please let me know so I can continue improving.)

The packaged extensions include the group I developed while trying to make Blue Lacuna more accessible to non-IF initiates (a wildly successful experiment, by most accounts) as well as others adding many basic improvements to the standard distribution, from commonly tried but unrecognized verb synonyms to oft-fixed and re-fixed rough spots in the standard rules. Many of the most common and easily correctable input patterns are silently recognized: things like ending a command with a question mark, simple spelling errors, typing a noun without a verb, or entering a blank line (the single most common response to an IF command prompt, now mapped to >LOOK). The two most common unrecognized command forms, asking who/what/where questions or trying to >GO TO an item within the room, produce tutorial-style messages explaining what better options to try might be. (>GO TO adjacent locations is also understood, providing an alternative for the (many) people unused to compass directions.) Other stuff we've all seen new players try, like >SIT DOWN or >GET OUT OF THE CAR, now works, and when you can't see any such thing it's much more likely to be true.

One of the extensions within Player Experience Upgrade is new, and worth mentioning on its own: Neutral Library Messages. Every Inform-based game comes pre-loaded with several hundred texts which explain the results of actions or refuse to carry out commands that aren't understood or contradict the world model. The default set of these messages (which also date back to the '80s and have accumulated, barnacle-like, on IF design systems ever since) are riddled with many misleading, distracting, or unhelpful responses that experienced players see past but newcomers stumble over.

Neutral Library Message replaces many of the standard messages with more neutral or helpful variations, as well as styling out-of-world parser messages differently than in-game narration. Jokes, puns, and especially humor at the expense of the player have been excised, as well as messages implying too much about the player character or story world: "Violence isn't the answer to this one" may not be true, and not all PCs are "adventurers" or poor singers. Many parser-related messages go to greater lengths to try to explain what was wrong or confusing, and the style change makes clear to players what text is from the author and what text is from the underlying system. An extension like this will never make default messages interesting, of course, but it hopefully builds a safer baseline less likely to intrude on the author's voice or the player's experience.

To add Player Experience Upgrade to your Inform 7 project, download it then click File > Install Extension from the Inform 7 application. You can now type Include Player Experience Upgrade by Aaron Reed. in your source text, and you're done. Some tips on customization can be found in the documentation (also accessible from the "Installed Extensions" link in Inform's Documentation panel), or you can browse the individual extensions for even more details: