Newsgroups: rec.arts.int-fiction
Path: gmd.de!xlink.net!howland.reston.ans.net!europa.eng.gtefsd.com!news.umbc.edu!eff!news.kei.com!world!dmorin
From: dmorin@world.std.com (Duane D Morin)
Subject: Re: Some further thoughts on NPCs
Message-ID: <CMCnAA.DM5@world.std.com>
Organization: The World Public Access UNIX, Brookline, MA
References: <D91FE.94Mar8003105@bengan.pt.hk-r.se> <grady.763085126@xcf.berkeley.edu>
Date: Tue, 8 Mar 1994 14:08:33 GMT
Lines: 95

In article <grady.763085126@xcf.berkeley.edu>,
Steven Grady <grady@xcf.berkeley.edu> wrote:
>d91fe@bengan.pt.hk-r.se (Fredrik Ekman) writes:
>>So what I wonder is; if we for the moment try to forget the logic
>>reasoning of the NPCs, how large would the set of actions have to
>>be for the Turing test to pass, ie for the player to view the NPC
>>as intelligent, even after a great deal of playing?
>
>I don't think the issue is passing the Turing Test, so much, as simply
>being intelligent enough to be interesting rather than annoying.  The problem
>is that if an NPC is implemented in a simple fashion (like your version
>of Gandalf above), then after sufficiently long, even an NPC with
>many possible actions (enough to look intelligent at first glance)
>will become repetitive.

Right.  Mentioning "Turing Test" will often ruffle the feathers of many
who hear you, who will then make it their sole ambition to prove that 
your NPC doesn't even come close to the real Turing Test.  So, best not
to even compare.  Or, better, define a more appropriate test.  This
is hard in the typical standalone PC, however, because you KNOW that 
everyone you meet is an NPC.  Little different on a MUD...

>For this reason, I think the appropriate way to deal with NPCs is
>to describe the NPC with a large enough set of characteristics to
>cause emergent behavior, 

Exactly!  You beat me to this one.  I like the idea of having characters
that are changing internally as the game progresses, so that even if
you try to recreate an environment exactly, you can't duplicate the 
state that the NPC was in at the time.  Therefore, you could potentially
have a different result.

>Another feature of emergent behavior is that (presuming the personality
>engine interacts with the environment) it may do different things in
>different situations.  Even a small set of characterstics may produce
>a fairly wide range of behavior if placed in a varied enough environment.

It's also to do different things in the *same* environment.  Take the
earlier example:

The troll eyes you hungrily.  He begins drooling on your leg.

>give toaster to troll

The troll snatches up the kitchen appliance and pops it into his mouth.
"Blech!" he growls, and spits it out.

>take toaster and give toaster to troll

The troll isn't falling for that twice.

(Simple, but the point is there.)

>(This is pure theory, folks.  I hope this is true, but have no
>experience trying to implement such a critter..)  Furthermore, even
>if the NPC is so simple that the player can determine the NPC's actions
>in any given circumstance, at least this might actually be interesting
>to the player -- perhaps there are problems to solve which involve
>manipulating an NPC in the appropriate way.  This would be much
>more interesting than having a character who usually acts randomly
>following you around all the time.

I would never want to have a character acting randomly.  At the very
least, instead of "move in a random direction", give the character some
sort of internal map that tells him if he's been somewhere before, and
not to repeat himself.  Small price to pay to make the character look
better.  Actually, I've got a maze algorithm that I'd love to implement
so that you could tell a character "Go to the library!" and it would
then invoke a script to find the library, from wherever this NPC 
happened to be at the time.

>Finally, I want to point at that the operative term in NP_C_ is
>Character.  Monsters, robots, etc that don't pretend to have
>intelligence don't need to act in an interesting manner.  The
>repetitive stupidity of the monsters in Alone In The Dark is
>fine, probably even contributing to the atmosphere.  The issue
>is that of expectation -- if the player sees a creature which
>looks like it's intelligent (e.g. Gandalf), it better act
>more intelligently than the frog hopping nearby.

This is a good reason why you don't often meet intelligent characters in
adventures.  I outlined simple behavior for a few characters earlier
in the thread, like:  
	If it's food, eat it.
	If it breaks, break it.
	If it's shiny, steal it.
	If it moves, shoot it.    <-- typical arcade game NPC. :-)

And so on.  

>--
>	Steven

Duane

