(General) Realistic NPCs (Active vs Reactive)

11 views
Skip to first unread message

Dan Shiovitz

unread,
Sep 9, 1995, 3:00:00 AM9/9/95
to
(This was discussed a little, I believe, around the time _Christminster_ came
out. It's an important topic, so I thought I'd bring it up again.)
(There are some vague spoilers for _Christminster_ and Curses here, which
provide decent examples for what I'm talking about.)

In whatever next game I put out, I intend to have a real NPC (since I didn't
have any real ones in my last game). To bolster the illusion of reality in an
NPC, there are a couple things you can do. One of the things I was thinking
about doing was having the NPC actually be active, rather than reactive. Most
NPCs in most games are purely reactive. They don't seem to have any lives of
their own, they take no initiative, they have no curiousity about the world,
they have no apparent goals that they work to achieve, and (in worst cases)
they don't even seem to have a reason for being in the adventure. This doesn't
do much for my suspension of disbelief.
For instance, in _Christminster_ Professor Wilderspin has a one-room living
space. If you inspect the fireplace, you notice the griffins to either side,
and notice that they're one-eyed. Asking Wilderspin about them gives the
response that they're unusual, created by such-and-such a person. Looking up
their creator in your college book shows that he was rumored to have created
a number of secret passages, and so on, and so forth. Professor Wilderspin is
a professor of archaeology. He's used to pyramid explorations, and what-not.
Further on, we're shown he's curious and fairly intelligent. Yet we're
supposed to believe he's never even wondered about the griffins? We're
expected to believe he's lived in this room for who knows how long, and never
even accidentally pushed an eye? Furthermore, to make matters worse, when you
take the initiative and push an eye, all he says is something to the effect of
"Wow, that's neat." There's no feeling there, there's no move towards "Hmm,
what happens if we push both eyes at once!" [The above should not be taken as
a personal attack on _Christminster_, persay. I enjoyed the game immensely,
but its somewhat-detailed NPCs only show how much farther we have to go.]
So, I was thinking about making the NPC in my game be a little more active,
more willing to take action (and maybe tell the player what to do!). The
obvious problem with that is how to keep the NPC from solving all the puzzles,
then? I'm not really sure what to do about that. One thing to try, I guess,
is to have some puzzles that are character-specific, and some more that require
cooperation. I suppose the NPC could even be used as a hint system, having
them solve certain puzzles if the player takes too long. Anyone got other
thoughts on the topic?

My ideal NPC interaction would be something like this:
>LOOK
South end of Attic
[...]
Igor is here.
A robot mouse is on the floor.
There is a small hole in the western wall.

Igor says "go west" to the mouse. The robot mouse zips westwards into the
hole.
>Z
[..]
Igor sighs. "The mouse can't hear me from out here," he says.
>HOLE, WEST
You bend down to the hole and say "go west" into it. "Hey, good idea," Igor
says. He bends down and says "go north" into the hole. You hear the whirring
of wheels.
>HOLE, NORTH
Igor glares at you. "Hey! I'm the one with the map of the maze, here."
He bends down to the hole and says "go north" into it. You hear the whirring
of wheels.
>IGOR, GIVE ME MAP
"Fine," he grumbles, handing you the map. "You can do all the fun stuff, see
if I care." He stomps off to the north.
>HOLE, NORTH
You hear the whirring of wheels, and an excited beep from the hole.
[etc]

I'm not sure how much effort this would take to do, but I think it is doable
today with the programming we have.

--

------------------------------------------------+--------------
The Grim Reaper ** scy...@u.washington.edu |
Dan Shiovitz ** sh...@cs.washington.edu | Aude
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Sapere
_Music of the Spheres_ : Coming Nov '95 |
------------------------------------------------+--------------

Julian Arnold

unread,
Sep 10, 1995, 3:00:00 AM9/10/95
to
Dan Shiovitz (scy...@u.washington.edu) wrote:

> In whatever next game I put out, I intend to have a real NPC (since I
> didn't have any real ones in my last game). To bolster the illusion of
> reality in an NPC, there are a couple things you can do. One of the things
> I was thinking about doing was having the NPC actually be active, rather
> than reactive.

Wonderful if you can do it.

> For instance, in _Christminster_ Professor Wilderspin has a one-room living
> space.

This, I assume, is more a question of compiler limitations rather than poor
game design. Inform imposes a maximum of 512 objects in a V5 game; these
include locations, directions, manipulable objects, scenery, and so on. Say
Wilderspin's living space was a bit more realistic (ie, larger) and comprised
the study, and perhaps a bedroom and possibly bathroom. The two new rooms
might have one or two scenery objects each (bed, sink, toilet, etc.) plus
perhaps a door to each. That's an additional 4-8 objects. At the moment
these extra rooms and their contents have no purpose. Yes the game's author
could throw in a few puzzles to remedy this, but these puzzles might then
seem somewhat contrived. Also, the extra `code space' (V5 games are a
maximum of 256K) for these new objects and puzzles would have to come from
somewhere, and could therefore be in direct competition with other, more
important, parts of the game. (OK, so _Christminster_ had a fair bit of that
256K to spare, but you get the idea). An alternative to detailing these
rooms like this would be to have a closed door in Wilderspin's study, and
then use the desk routine for the door, thus

>OPEN DOOR
That leads to Wilderspin's bedroom. The college has rules against staff
entertaining members of the opposite sex in their private rooms.

I'd have thought this could become supremely annoying to the player if she is
blocked from entering too many seemingly innocuous locations in this way.

> [The above should not be taken as a personal attack on _Christminster_,
> persay. I enjoyed the game immensely, but its somewhat-detailed NPCs only
> show how much farther we have to go.]

Seconded.

> I suppose the NPC could even be used as a hint system, having them solve
> certain puzzles if the player takes too long. Anyone got other thoughts on
> the topic?

Be careful here. A benefit of the usual `HINT' command is that it enables
the player to control his exposure to hints/solutions. If an NPC jumps in
and either partially or fully solves a puzzle after x turns this could seem
hugely intrusive to many players (me). Also, might it encourage the player
to decide "Well, if I just wait around for 15 turns Clarence will solve the
puzzle for me"?
--
Jools Arnold jo...@arnod.demon.co.uk

JZahn

unread,
Sep 10, 1995, 3:00:00 AM9/10/95
to
scy...@u.washington.edu (Dan Shiovitz) writes:

>One of the things I was thinking
>about doing was having the NPC actually be active, rather than reactive.
Most
>NPCs in most games are purely reactive. They don't seem to have any
lives of
>their own, they take no initiative, they have no curiousity about the
world,
>they have no apparent goals that they work to achieve, and (in worst
cases)
>they don't even seem to have a reason for being in the adventure. This
>doesn't do much for my suspension of disbelief.

Wow, there must be a meme going around. I have been working on an article
on NPC personality design. Here is a (very) short abstract.
------------------------------------------------------------------------
A number of concepts can be used classify personality traits in Real
People (tm). One familiar concept is Introverted v. Extroverted. A less
familiar dialectic is Stabile v. Labile. Stabiles are generally on an
even keel, almost nothing upsets them; they are "inner directed."
Labiles, on the other hand, are jumpy, excitable, and emotional; they are
more affected by outside events. Each of these can be thought of as a
continuum instead of a dichotomy.

When you combine the two concepts, you get the following:

Introvert Extrovert

Stabile Phlegmatic Sanguine
Labile Melancholic Choleric

Sound familiar?

The theory of bodily humors (Br.: humours) comes from Galen, hundreds of
years ago. However, Introversion and Extroversion have a biological
foundation, as do Stability and Lability.

--------------------------------------------------------------------------
---
There is a lot more detail in my article-in-progress. I just wanted to
throw these ideas into the mix.

-Jeff

"Whatever doesn't kill you makes you stranger."
- Trevor Goodbody, _Aeon Flux_


Christopher E. Forman

unread,
Sep 10, 1995, 3:00:00 AM9/10/95
to
Dan Shiovitz (scy...@u.washington.edu) wrote:
: My ideal NPC interaction would be something like this:
[SNIP]
: Igor sighs. "The mouse can't hear me from out here," he says.

: >HOLE, WEST
: You bend down to the hole and say "go west" into it. "Hey, good idea," Igor
: says. He bends down and says "go north" into the hole. You hear the whirring
: of wheels.
: >HOLE, NORTH
: Igor glares at you. "Hey! I'm the one with the map of the maze, here."
: He bends down to the hole and says "go north" into it. You hear the whirring
: of wheels.

The only problem I see with this is keeping the delicate balance between
realistic NPCs and a decent game. In your example, you'd have to decide,
for instance, how much of the puzzle Igor could figure out on his own, and
how much the player would have to deduce.

From a realistic standpoint, I'd imagine that Igor should eventually be able
to figure the whole thing out by himself, without the help of the player.
This doesn't make for a challenging game -- you'd end up letting the NPCs
do all the work for you.

But by the same token, you can't make the NPCs inactive, or you'd be going
back to the traditional method and wouldn't get the results you want here.

So the question is, where do you draw the line? At what point do you say,
"Okay, this is all Igor should be able to figure out. The player has to
do the rest"? And how long should it take before Igor figures out his part
of the puzzle? Can the player do it before him? If so, will Igor figure
out the next part, or will the player have to do that too? Will Igor go
anywhere the player does, or will he want to explore on his own?

Your idea sounds great, if you can make it work without ruining the puzzles
in the process, but there's a lot of things you'd have to take into
consideration.
--
C.E. Forman cef...@rs6000.cmp.ilstu.edu
Read the I-F e-zine XYZZYnews, at ftp.gmd.de:/if-archive/magazines/xyzzynews!
* Interactive Fiction * Beavis and Butt-Head * The X-Files * MST3K * C/C++ *

Reply all
Reply to author
Forward
0 new messages