[MUD-Dev] Respecting NPCs

Joe Andrieu jandrieu at caltech.edu
Sat Nov 3 01:27:15 New Zealand Daylight Time 2001

From: Daniel.Harman at barclayscapital.com

> No, because I still don't give a damn about Talien and his whining
> kids.  Dramatic content has to grasp you, not just be
> there. Detail isn't significant just by being present, it has to
> related to something else. A novel isn't better if the author
> gives lots of ancilliary details about characters who have no
> impact in the plot.

> I just played DAoC for the first time since release last night,
> and met some npc droning on about some ghosts. After reading
> paragraphs of uninteresting text, it dawned on me that this wasn't
> even leading up to a quest, it was just spam. Even if its creating
> back story, this piece meal fashion that EQ and DAoC are trying
> just doesn't work for me. It's like being given a novel written on
> index cards, but only having 1% of the stack whilst a load of
> people you don't know have the rest. Perhaps I'm wrong and there
> are people who enjoy running up to every npc and clicking on them?

This is precisely the issue.  Without an immediately relevant
context to drive the NPC's dialogue, the words are just
prattle. Useless rubbish.

There are people working on this problem. Notably, some in the AI
community (notably Joe Bates and Michael Mateas) are building
believable NPCs with incredibly rich AI models with wants and needs
and emotional states.  And their internal states matter to the
unfolding story.  There are ways to have NPCs which are consistent
with the world they live in and simultaneously contribute to an
unfolding story.

Much could be done just by plugging NPCs into a global knowledgebase
about the world's backstory or global story.  A simple version of
this, which I believe has been done before, is to have a "rumors"
pool where the NPCs tap into a database of evolving information to
generate conversation. If you turn that rumor database into a set of
facts from which the NPC can draw when constructing sentences, then
you can have fairly relevant data coming from NPCs in a fairly
variable way.  If you further localize that information--possibly
even requiring it to propagate as a meme throughout the system-- you
can create incredibly rich NPC interactions. Every NPC you meet
might have unique and dynamically generated information about the
current state of things in that region.  Imaging bumping into a
ranger who can give you the run-down on the state of the wildlife in
the area. Or a shop keeper who can actually tell you that people
used to bring in a lot of furs in from the northern pass, but not
too many lately. This kind of thing requires some natural language
generation, but it isn't that tricky. A pool of Thirty to a Hundred
template sentences which are filled in with realtime local data can
provide a very rich set of interactions.  And it scales beautifully.
In a commercial MMORPG, even a thousand such sentence templates with
variations for special characters is not unreasonable.  It may be
tricky to select the right sentences to ensure maximum relevance to
the player, but I believe it could be done reasonably well.

Think about the interactions with NPCs in the Sims.  It wasn't that
the language generation was awesome because of some super duper AI
(on the contrary, the language was iconic and non-verbal and the AI
was elegant simplicity itself).  The reason it worked was because
everything they did was observably relevant to the game.


Joe Andrieu
Realtime Drama

joe at andrieu.net
+1 (626) 395-8045

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list