[MUD-Dev] Respecting NPCs

gamaiun at yahoo.com gamaiun at yahoo.com
Thu Oct 25 10:55:47 CEST 2001


--<cut>--
Note: This message was written via the list web archives.  There is
no guarantee that the claimed author is actually the author.
--<cut>--
Original message: http://www.kanga.nu/archives/MUD-Dev-L/2001Q4/msg00349.php


On Tue, 23 Oct 2001 14:34:22 -0700 (PDT)
J C Lawrence <claw at 2wire.com> wrote:

>   Is there an NPC anywhere which can be even remotely compared or
>   contrasted functionally with Alice's Father William?

...

> The goal is depth.

...

> How about inscrutable not-quite-deterministic NPCs?

I think I see what you're getting at by describing this _other_ kind
of NPC - compelling, mysterious... living.

Let me ask some questions first, and then provide my take on the
matter.

What shall we call this kind of NPCs? I mean we need some kind of
terminology for this discussion. Compelling? Literary-quality? 
Alive?

On the same note, what are the qualities of such NPCs, that make
them stand out from the mechanical rest?

Here's a brainstorm of qualities, to start with.

  - Interaction? These NPCs need to be able to interact, both with
  the game world, and with players. If they merely interact with the
  game world, but never with players (such as Father William, who
  was only mentioned in a story, but never, AFAIK, interacted with
  Alice), then they're nothing more than well-crafted pieces of
  literature. What makes compelling _literary_ characters is another
  matter entirely, I think, and I'm sure volumes have been written
  on the subject.  What makes _NPCs_ unique is that players can
  interact with them, adding another dimension.  If they only
  interact with players, but not with the game world, then they come
  across as 'mechanical', as simply props for the players' benefit.

  - Purpose/Motivation?  Purpose is a dangerous word, actually. It
  implies that the NPCs were put there _on purpose_ by the admins,
  which is read as entirely for the benefit of the players (or as a
  prop to some quest).  By purpose I mean, the NPCs have a place in
  the world, some kind of role they play there outside of the
  players. Take a town guard, for example. If all the guard does is
  automagically sense player-committed crimes and arrive at the
  scene ready to slay. The 'purpose' of such a guard is readily
  guessable by the players, and is rightly seen as fake or
  tasteless. However, take a different town guard who leaves the
  barraks at a scheduled time, patrols the streets, fights off
  intruding monsters crawling out of the sewer, stops player crimes,
  stops _NPC_ crimes (like a mob pickpocket, for example), takes
  lunch breaks, and if killed, will be missed at the barraks, and
  will have his name inscribed on the wall along with the rest of
  the town's brave defenders. What a difference (and without
  stretching current AI techniques)! This second guard has a
  _purpose_, a place in town, he's not just a prop but now a proper
  inhabitant.

Motivation is a related concept. Even the _illusion_ of motivation
is sometimes enough! Give some sense of internal motivation to your
NPCs and monsters, from self-preservation, to greed, to simple
kindness.

  - Complexity. I think this mysterious quality of the kinds of NPCs
  JC was talking about is an emergent property, something that comes
  with a sufficient level of complexity. What kind of complexity? 
  Motivation is one axis of complexity, ranging from a sewer slime
  who mindlessly gobbles all in its path, to a raven who gobbles,
  looks for mates, steals shiny objects and has a sense of
  self-preservation, to the aforementioned town guard, who has all
  the previous motivations, plus that of guarding the town and even
  gambling on the side.  Interaction is another axis - it's not
  enough to just interact with both world and player (as in the
  previous point), but interact in how many ways?  Can the NPC be
  attacked and killed? Does it have valuables to be stolen? How
  about secrets, which a mind-reading mage can discover? Can he/she
  be hired?  Offended or befriended? Will it pass along rumours to
  other NPCs? Scream for help or yell encouragements? And so on. In
  general, the complexity of an NPC's internal programming, for
  whatever purpose, falls under this category.

  - Detail. This is different from complexity. How many loving
  details does an NPC have, whether hand-coded or automatically
  generated from a well-put-together algorithm? Accents, mannerisms,
  scars, tears in clothing, signature actions (phrases, spells,
  combat moves), unique equipment, phobias -- the list goes on
  forever. Even a detailed description can go a long way towards
  this (and again we cross into the realm of the literary).

I think the very words used by JC can shed some light on this
matter, 'incidental' and 'outgrowth'. They're both words used to
describe _living things_. Living things are both mysterious (subject
for much wonder throughout the ages), and at the same time subject
to knowable rules (biology, ecology).  Let's start discovering those
rules, while at the same time wondering and appreciating the living
and the well-crafted.

One more thing. How are living, inscrutable, non-deterministic NPCs
created?  Two major ways, as I see it.  One is craftsmanship. Once
enough rules/qualities are known, one can craft a seemingly living
(and that's huge!) NPC, given enough design, coding and writing.
The other...  The other way to create living NPCs is a subject for
another post entirely (rather, many such posts). I'll mention it
briefly, anyways.  Evolve them. And I'm not talking about genetic
algorithms. Those are an amazingly powerful tool, and have many uses
in Muds. I mean genetic _programming_. Why are carbon-based living
things so wondrous, inscrutable, non-deterministic? They were
evolved, in a complex world, using the very building blocks of that
world (atoms, molecules, etc). The mud equivalent is genetic
programming. Set up a framework for these creatures/NPCs, with
mechanisms for mutation, sexual reproduction, etc. Give them access
to the building blocks of the world - commands and function
calls. Let them loose in the game world (with players and all). Let
them evolve or die. Let them cope with rampaging,
ecosystem-destroying players.  Let them evolve survival tactics &
mechanisms; they'll have PURPOSE and place in the world because
they'll be natives of that world, products of it.

Well, food for thought.

Dmitri Z



_______________________________________________
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