[MUD-Dev] Getting info from NPCs

Lazarus lazarus at ourplace.org
Wed Aug 2 23:19:00 New Zealand Standard Time 2000

----- Original Message -----
From: Dmitri Zagidulin <zagidud at allegheny.edu>
To: <mud-dev at kanga.nu>
Sent: Friday, July 28, 2000 11:13 AM
Subject: [MUD-Dev] Getting info from NPCs

> Hi everyone. I'd like to share some ideas about a topic I came up against
recently, as well as
> to ask your opinion and tips on the matter.
> The problem is this:
> NPCs are a time-honored source of information,  rumours, quest info, tips,
etc, in any and all RPGs.
> How do we get that information to the players?
> There seem to be three main approaches:
> I. "Static" response.
> The player comes up to the NPC, hits the 'talk' command, and the NPC
spouts his appropriate
> line, like "Beware of monsters outside the town" or "Please save our


This is a very useful technique.  All our "talk responses" are scripted so
the response can change based on the time of day, gender of player, quest
state of the player, alignment of player.  Some of our NPC's do not like
being bothered and can get aggressive when bothered.  All of this is basic
mobprogs available in many diku derived muds and available as an addon
package.  Stock mobprogs trigger actions on the PC entering the same room as
the NPC or the NPC entering the same room as the PC, PC's giving items to
NPC's, PC's saying things to NPC's and is easily extended to handle other
'triggering' events.

> II. A Menu of choices
> This approach to NPC information is exemplified by games like Diablo and
Planescape: Torment,
> where the NPC presents a choice of topics the player can ask them about
(usually as
> a menu). The choices can be dynamically  adjusted depending on player
> and the situation at hand.

This is also easy with traditional mob progs.  The talk command triggers a
list of topics and setting a quest state in the players persistant store.
The tell command or say command is then used to trigger additional responses
from the mob.  Very easy to script online.

> III. AI approach - language recognition
> Some sophisticated RPGs (didn't the Wizardy series do this?) allow you to
> with the NPCs directly by composing sentences to which they respond to.
All the AI
> tricks come out to play here - maybe the NPCs detect a  key word that
triggers a
> response, or maybe it actually does natural language parsing, whatever.

Basic mobprogs have simple pattern matching to trigger actions.  We have
found this provides good results on our mud.  Combine this with persistant
player infomation and you can script up interesting conversations.  I tried
eliza type chatty mobs (look for mudchat on
http://www.goodnet.com/~esnible/mudinfo.html) to try to disguise the mobs
with special triggers from the run of the mill mob but the general concensus
was it was a a waste of time.  Hooking mudchat into your command interpreter
has interesting possibilities.

> So, my question to you all is, what's the best compromise we can achieve
for a humble MUD
> environment (while we wait for the AI technology to mature)?

I have found that mobprogs plus persistant player variables to work very
well for providing very simple action-causes-event processing.  My only
issue now is the extremely poor script language provided by stock mobprogs.
I have been too lazy to invent my own language and write a filter to convert
from mobprogs to something better for our installed base of scripts.  Maybe
I will break down and follow Erwin's lead (http://www.andreasen.org/) and
use Python.

> On DustMARE, we currently plan to have a sort of mix of (I) and (II).
There is a 'talk' command
> to which the mobs respond in the usual fashion, giving their scripted line
depending on player
> quest flags, etc.  But also, in the description of the NPC, the room, and
the NPC dialogue, there
> are "key words" denoted by asterisks  about which the player can ask.

<interesting example snipped>

I prefer not to highlight keywords and let them player figure them out by
themselves.  Not all trigger words tell something interesting.  Merc
standard 'extra descriptions' really spice up areas and get bonus points
from me when I review an area.

> Maybe, when I'm more ambitious, we can start messing around with NPC AI...
but that's
> much later.

Stock mobprogs work pretty good as they are.  Adding persistant player store
that your scripts can modify make them even more useful.  Almost anything is
better than plain old mobs that just sit there waiting to be converted into

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list