Int Fic Believable Npcs

Creating a believable NPC (Non-Player Character) in a work of IF is hard. Descriptions and movement aside, the biggest problem seems to be with NPC conversations. Let me see if I can identify the problem in terms of forces:

The result often is that the player will quickly exhaust all the special responses, and be left with a long string of default responses, a la:

>ASK MAN ABOUT HIS LIFE

The man doesn't understand what you mean.

>ASK MAN ABOUT HIS JOB

The man doesn't understand what you mean.

>ASK MAN ABOUT WHAT HE DOES FOR A LIVING

The man doesn't understand what you mean.

Perhaps we can add another force to the equation, providing some hope:

No-one really expects an NPC to respond with the correct answer to:

>ASK MAN ABOUT THE PRICE OF RICE IN CHINA

Still, one might reasonably expect the NPC to respond to a wide variety of objects in the game--in a game with a lot of objects, this can be quite a Herculean task!

[One approach I have taken is to create links between objects that are appearing as physical props in the game and topic objects. Then, for instance, all coins in a game can refer to a money topic. I usually want to put in a certain number of special case responses, but this is a way to provide reasonable general responses to >SHOW NPC THING for most of the objects in the game. -- Emily Short]

So what patterns are out there that can alleviate this dilemma? There are definitely some games out there with great NPC's--Infocom's 'Floyd' from Planetfall and Stationfall is a frequently-cited example. The more recent Kissing The Buddha's Feet from the '96 IF competition is another. What is is that made these NPC's stand out? There have been conversations about this recently on news:rec.arts.int-fiction -- that'd be a good place to start.

Some other resources can be found at:

http://brasslantern.org/editorials/ai.html, for an article about whether we need AI to solve this problem (the author believes that we don't).

So what do you think? What other forces are at work here, and how do we resolve them?

--LucianSmith


CategoryIntFic
EditText of this page (last edited January 14, 2002)
FindPage by searching (or browse LikePages or take a VisualTour)