[MUD-Dev] Solutions for smarter NPCs

Michael Sellers mike at onlinealchemy.com
Wed Feb 4 22:57:30 New Zealand Daylight Time 2004

Björn Morén wrote:

> I'm curious about what technical solutions you have tried in order
> to get NPCs act more interactively and smart. Better AI to support
> a more vivid world. Both regarding combat behavior for NPC
> monsters and conversation behavior for NPC merchant / quest
> assignment types.

> Have anyone found it fruitful to use a functional/logic
> programming language like Prolog or Mercury? I guess most use a
> state machine abstraction in regular C/C++? I also guess a lot has
> been done by scripting (Python, Lua, Javascript), but how far can
> you get with that? What about neural nets? Fuzzy logic?

This is an active area of research even beyond the MUD community:
DARPA is increasingly interested in the area of 'believable
avatars.'  They recently requested research proposals/advances in
this area for SBIR grants, and my understanding is that over 30 US
companies submitted (we were one).  Other groups like the Institute
for Creative Technologies at USC, John Laird's group at the
University of Michigan, and several European efforts have all made
significant headway in this area over the past few years.

The short of it is that this is one of those areas in which it's
easy to make a fair amount of progress - creating NPCs that at least
aren't embarrasingly stupid within well-defined situations and
parameters.  But getting beyond a certain Eliza-like point of
mechanical interactivity is *hard*.  Moreover, things that work for
you in the easy parts work against you when you take on the harder
problems.  So making 'smart NPCs' is an unsolved problem.  Logic
programming won't do it, nor will classical FSMs; they eventually
crumble under their own weight and complexity.  A variety of fuzzy
techniques are popular, but it's unclear as yet what will come out
on top.

There's a few good PhDs in this for anyone who's interested.

Oh, a couple of good foundational sources:

  "Growing Artificial Societies" by Epstein and Axtell -- great
  introduction to social agent-based programming.  Not NPCs per se,
  but the extensions should be fascinating to anyone interested in
  making NPCs that go to war or trade with each other.

  "Artificial Animals for Computer Animation" by Xiaoyuan Tu.
  Again, not NPCs (she deals with fish), but a very good foundation
  for the kinds of issues found in making smart NPCs.

  "Affective Computing" by Roz Picard is a good resource too.
  Academic, but it raises the critical and often ignored issue of
  affective/emotional states and responses in AI and NPCs.

There are a ton of papers on this sort of thing too - hit the ICT
site and google for the "OCC model of emotions."  That'll get you
going if you're interested in what's happening in this area that
might apply to MUDs.

Mike Sellers
Online Alchemy
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list