Fiction is a Three-Edged Sword

Fiction, interactive fiction and narrative

Disambiguation Control updated


I’ve updated my Inform 7 extension for improving parser clarification and guesswork to version 7. This fixes one moderately serious bug where the word “her” wouldn’t be understood as a pronoun, and only as a possessive. Turns out Graham had already done some work in the parser to solve this: this version of DC carries that change deep into the bowels of I6’s NounDomain function, where it can do some good.

This is the first update to DC in a while; I’ve had the impression that not many people are using it. For those who haven’t looked, Disambiguation Control rewrites the chunk of the parser that deals with when the parser guesses at a noun, and when it asks for more help. It explodes the normal Inform 7 rulebook “Does the player mean?” into two books, “Should the game choose” and “Should the game suggest”.

The first of these controls when the parser is allowed to make guesses without information (in response to commands like “eat”, where the only sensible choices are foodstuffs, or “drop”, where the game should assume held items). The second book controls is a weaker set of conditions for what the parser can offer as suggestions (in response to commands like “take apple”, the game will suggest any apple and bottle of apple cider, but probably shouldn’t suggest the apple tree itself.)

The extensions includes multiple other fixes and improvements, removing some of I7’s built-in guesswork logic (almost always preferring held items, for instance, regardless of what verb the player has typed); and replacing the “You can’t use multiple objects with that verb” with a more helpful, “You can only have one item here. Which exactly?”

Finally, it prevents an oversight in the “Does the player mean” rulebooks, which causes rules intended to disambiguate specific cases (The can of polish, not the Polish man) to fire when the player has typed nothing. (Causing the command “TAKE” to respond, “(the can of polish)”, even if you are already holding it, and so forth.)


Author: joningold

Jon Ingold is a writer and games designer from Cambridge, UK. He is co-founder of inkle, a company specialising in interactive narrative for mobile devices. He has written prose, plays, short films as well as interactive fiction, both in hypertext and parser-based systems. His short stories have appeared in Interzone magazine and his IF works have won competitions and awards.

5 thoughts on “Disambiguation Control updated

  1. Yea thanks, I need to test this as soon as I have the time. I do remember having some trouble with “her” at some point.

    I use DC extensively in my WIP, and I’m kind of surprised to hear it might not be a popular tool. At least with this game I’m working on it would be a real headache to smooth out the game experience without it.

  2. That’s great to hear. I originally built it because I couldn’t live with the default behaviour while writing “Make it Good;” I didn’t think it was just me!

    Let me know if you hit any problems with it, too.

  3. Interesting. Thanks for the explanation of your extension; I’ll have to check it out. Does it do anything to deal with the (unfortunately common) problem of “do you mean the red door or the door?” Numbered Disambiguation Choices by Aaron Reed works well for that issue, but it sounds like your modifications go a lot deeper.

  4. Absolutely; that’s one of the things it’s designed to cover. In the example given, you add the rule:

    Should the game choose the red door when also considering the door: never.

    …or something similar. This kicks things out of the object list, leaving the blandly named item as the only choice left.

    One nice side effect is this doesn’t promote anything, so it won’t lead to input like:

    (the door)

    which a normal I7 “does the player mean… it is very likely” rule/decision pair will do.

    It even provides a version of then “when also considering” called “when also only considering” (a clumsy name, but it gets the point across), so the author can specifically declare that an apple wins over the apple tree every time. (And then you can add another rule that says, unless your CLIMBing).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s