Could artificial intelligence help interactive fiction? One of the long-standing weaknesses of IF has been its non-player characters. NPCs are only as smart as their programming, and their programming is difficult, requiring a lot of work for realatively little reward. If you're lazy, like I am, you tend to spend more time on other aspects of a game.
But couldn't AI fix this? Wouldn't it make a programmer's job easier and a game player's experience better?
How AI Could Help IF
You bet! It would be a boon not to have to program an NPC's entire conversation. Imagine setting an NPC's characteristics, then letting him or her decide what to say based on them. A designer wouldn't have to deal with every question the player might ask.
NPCs could set their own goals and work towards them. As it stands, if you want a character to react to, say, the player pointing a gun at them, you have to program the reaction. The more things the player can do, the more you have to handle, in an ever-growing maze of interaction. Something which would make NPCs more responsive and more realistic in their actions while cutting down on programming would be a boon.
How AI Couldn't Help IF
But all is not wine and roses in AI-land. There are plenty of problems with AI, both inside and outside of interactive fiction.
For one thing, AI isn't here yet. Deep Blue aside, there has been a lot of work done on AI with little return. What has been done is not easily applicable to IF, and there is little commercial incentive to do so.
For another thing, AI could make games more boring. Consider how many conversations you have in a given day. Now think of how many of those are truly interesting. Sure, it would be neat to be able to ask an NPC about the number of airports in Saudi Arabia, but it doesn't add much to a game.
For a third thing, AI could make games more confusing. One of the tasks of a game designer is to help keep the game moving. It's all too easy to get stuck in a piece of IF; how much more easily will people become sidetracked if they don't know what lines of inquiry are useful, or which actions a character takes are worth noticing? Realism is good, but playability is better.
Suspension of Belief
There are ways which make NPCs more believable without the use of AI-level programming. They may require a lot of work to implement well, but they work in a limited fashion. The whole goal, after all, is to maintain a player's suspension of belief.
Limiting how a player can interact with an NPC is a time-honored method of making the NPC seem more real. If the NPC is distracted or is intent on doing something, it makes sense that he or she will ignore most of the player's questions. Better yet, make the NPC mute. Or dead. To borrow from Neil deMause,
This whole thread reminds me once again why the best NPC is a dead NPC:
>ASK JOE ABOUT GUN
Joe's corpse just lies there, and does not reply.
>ASK JOE ABOUT MURDERER
Joe's corpse just lies there, and does not reply.
>ASK JOE ABOUT GLASNOST
Joe's corpse just lies there, and does not reply.
Perfect verisimilitude. (sigh) In case anyone was wondering why so many NPCs are distracted or hard of hearing...
Another technique is to use a clearly-defined interface between the player and the NPC. Infocom's text adventures mainly allowed you to refer to objects. You could "ask npc about gun" or "show book to npc." Many graphic adventures such as Monkey Island and Gabriel Knight used a menu system, in which you picked what you wanted to say from a list of choices. I won't argue about which is the better choice. The important thing is, defining how you can interact with an NPC will keep me from being as frustrated when I can't ask an NPC about the impact of media on modern society.
To be honest, we don't need AI in IF. What we need are better ways of distracting the player from the fact that, in the end, a game can only react in so many ways. Sure, AI could handle that admirably, but it's overkill. I'd much rather see programmers' efforts go into making better IF instead of focusing on a bit of technology which plays but a small part in IF.