Emily Short wrote an intriguing post about the parser in IF – actually, somewhat against the parser in IF. She explores alternatives to what she calls the “command line” in IF (not entirely inaccurate, but not the connection I’d most want to make) and ends up finding it to be more or less the worst of all systems except all the others, like democracy. The post has already garnered about 50 comments. In it, Short writes:
We have a two-part accessibility problem. One part is the interpreter: people don’t want to download separate files and don’t want to have to figure out file formats … The other problem is the parser.
I see a few problems with this. First off, let’s not stop at two. The world model that IF presents (with “rooms,” containment, light sources, and so on) is hardly accessible or immediately obvious. I think it works fairly well and creates a good abstraction of world that is suitable for text-based interaction. I think the world model of IF is a strength of the form, a success. But you still have to learn it. Figuring out the layout of an IF world is perhaps easier for new players in 2010 than it was in 1976, but there are certainly challenges to accessibility today in this aspect of IF.
The discussion in this post of the natural-language interface of IF and its supposed failings is what really seems to me to fall short:
Fundamentally, however, we’ve got a bigger problem, which is that the command prompt is a lie. It tells the player “type something, and I’ll understand you.” Which it won’t.
All interfaces are lies, in this case. If I click on my desktop, or on a blank area of the menu bar, it does nothing – or, you could say, it “doesn’t understand me.” If Mario is up against a wall, pushing the joystick (or d-pad) in the direction of the wall does nothing. There are plenty of ways to get almost any computer interface to not give you results, if you don’t learn how it works. You always have to learn something about how to use the interface to be able to control the computer program that uses it.
The parser, which asks “What do you (the detective) want to do now?” is making an offer: Tell me a simple action, usually a physical one such as PICK UP AX, and I’ll instruct the player character to do that. Yes, we have abbreviated way to indicate these actions: “east” or even “e” to mean “walk east,” “inventory” to mean “look at what I’m holding,” and so on. But I see the overall framework of interaction as being clear enough for players to learn, even if there are some issues for newcomers to IF.
I find Aaron Reed’s work hypertextualizing IF and allowing for other sorts of inputs to be intriguing, but I’m not compelled to go in this direction myself. I’m pleased with the textual exchange between player and computer and the basic framework in which the player is invited, consistently, to give a character an action to carry out. In the service of making things accessible, efforts to extend the parser to understand things such as “herring” are moves away from consistency. They may work in some ways, but they make this sacrifice.
Similarly, I disagree that it would be a good idea to have (as Short proposes) “a system where the player could select a noun, see what he could do with it, and select one of those options.” I actually wouldn’t particularly want this, any more than I’d want to be able to say “TURN LEFT!” to my car and have that override the steering wheel. It makes sense for a programmer to be able to determine an object’s methods, but the experience of IF for me is not mainly about programming; instead, it’s about directing a character through a world, often one that is strange. Using langauge, and specifically, a reasonably negotiated subset of a natural language like English, seems suitable for this.
I have to note in closing something that I find a bit amusing: As Inform 7 is taking a programming language for interactive fiction in a radically more natural-language direction, Short is arguing for an IF interface that is less like natural language.
Short has provided a prototype as part of her discussion, which I admire and wish I could do. Maybe after I finish Curveship…