[MUD-Dev] believable NPCs (was Natural Language Generation)

John Arras johna at wam.umd.edu
Sun May 30 13:59:10 CEST 2004


Just catching up to the last week...

On Tue, 25 May 2004, J C Lawrence wrote:

> Its very easy to get hooked up in the concept of a virtual world.
> The intellectual delight and attraction of such concepts are huge.
> Engineers especially take an almost masturbatory intellectual
> delight in trying to assemble a virtual world which fully
> simulates everything from the physics models to the social
> structures, societies and individuals in them.  "But of course
> that's also what the whole world wants!  Isn't it just obvious?
> Its just so cool!  Look, there are real NPC people with real
> believable NPC relationships and prejudices, and real clouds in
> the sky and real deer in the fields that breed and have real baby
> deer!"  The very definition of engineer-toy cool!  The
> intellectual attraction is huge. The problem is that I've yet to
> see players that actually want that as revealed by the choices
> they make as players.  Sure, they may say they want that, and
> reviewers in magazines may comment admiringly on those points, but
> I haven't watched a player yet who actually played in a manner
> which functionally showed that they valued that detail and
> verisimilitude and would make choices which would maximise those
> values at the cost of others.  Instead we seem to either have
> scenery for human relations (deer == cute forest scene for
> acting), or targets for goal acquisition (deer == kill == food and
> XP).

I'm one of those engineers who thinks this stuff is "So Cool!" (tm),
and I agree you can get hooked into working on something that's cool
to you, but not to anyone else, but I believe the reason that
players aren't too enthusiastic about them is more a function of the
primitive state of these systems, rather than the goal.

I don't think good NPC behavior on a large scale has ever been done
well enough for players to be given the choice to make. As you know,
I have tried to work on this, but the end result was basically
colonies of ants with some interesting behavior. Eventually, I think
there will be good results in this area, I don't think it's happened
yet. (And if it has, please tell me. :)) My goals in writing the
code were to give the players an interface that they could use to
interact and change the world. I guess I don't see the NPC's so much
as entities in their own right or things to carry on conversations,
but more of an interface between the players and the world.

I think going down the conversational/NLG path will be too difficult
in the near term. Some people are working on this, such as Michael
Mateas and Andrew Stern with Facade, and more recently I saw the
post on Grand Text Auto about Robert Zubek's The Breakup
Conversation. In these cases, work is being done to make believable
interactive characters. The examples that I have seen so far deal
with very short time frames with very few interactive agents and
specific topics of conversation. There are, of course, many people
working on systems for the Loebner prize, but I still don't think
anyone has won a gold medal in it.

Passing the Turing test is easy compared to what would be necessary
to create in a complete AI/conversational system for an MMO. The
Turing test deals with a single computer agent trying to fool a
person into thinking the machine is a person. This is within the
context of a single conversation (I think) and requires the machine
to have general knowledge and to be able to remember the context of
the conversation.  I think having a huge number of agents with
long-term memory that keep track of large numbers of social contexts
will be much more challenging and expensive to do very well, but
some steps are definitely possible at this point.

> If form follows function, then NPCs should be defined by the value
> systems they satisfy for players.  Not the value systems we think
> players have, or the value systems that we think are cute, fuzzy,
> attractive, neat etc, but the ones that actually generate and
> maintain player value and interest.

I'll agree with that. I know I sound down on trying to do NLG, and
it might be possible soon on a large scale, but I don't think
so. What I think is possible is to have social contexts into the
game that let the players who want to interact with the world system
a finer granularity.  What I mean is roughly that NPCs can keep
track of simple social contexts and events between themselves and
other NPC's and they can track the social contexts of the NPC's they
know with each other (and other NPC's they don't know). They should
also be able to do this with players, and I think it could doable
and produce interesting results if the complexities of the social
interactions can be kept fairly small between any two entities. I am
looking forward to Peter Molyneux and Lionhead's Fable (which keeps
getting pushed back. :() and which I am hoping will have some of
this long-term large-scale NPC social context in it.

Since I view an NPC as an interface into the system, it should be
able to keep track of the context of the system "near" it, and it
should also be able to understand what the players want the NPC to
do. NPC's won't be there to carry on realistic conversations, but to
update the player about the little corner of the world that the NPC
knows about, and the pieces of that corner of the world that the
player cares about.

So when the same NPC sees different players, it could talk about
some other NPC having a baby, or some shop burning to the ground, or
some caravan being raided, or that some other player stopped by
earlier in the morning and this is what they discussed...and so
forth.

John
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list