[MUD-Dev] Mob (NPC) behavior

Sasha Hart Sasha.Hart at directory.reed.edu
Fri Feb 22 09:18:20 CET 2002


[Sean K]

> What I'd really like to do is work in some sort of grapevine
> effect, so the story changes a bit with each telling, but that
> gets into the sticky world of language processing, and in a
> scripting language no less.

It is hard (for me) to see how to change/degrade a rumor properly.
At the most basic level it is an issue of making the data
representing the rumor composite, rather than atomic. (You are
probably ahead of me here; my rumor stuff has nothing to do with
scripting.)

  e.g. rumor #141 = "I hear it will rain tomorrow."

You end up wanting to do this anyway for things like having rumors
about players.

  <subject> <rest of content> = ENVIRONMENT "will rain tomorrow."
  <subject> <verb> <object> = JOHN killed BOB

At this point you probably either have built up a synthetic grammar,
or are just translating DB<->Text more or less by hand.

Now there are multiple fields, so something can happen like

  JOHN "killed" BOB -> JANE "killed" BOB

Obviously here I can appeal to sound similarity to explain why I
changed John to Jane, but in the more general case it is probably
random, or worse bizarre but entirely predictable. Even when the
rumor is composite you still want the degradation to be plausible,
or at least not egregious (I am thinking of NPC rumors as source of
valuable information for players who are more or less using forensic
evidence to spoil each other's lives.) I'm not sure if soundex would
apply here. Anyway, short of making an awfully detailed model of
mishearing and misremembering, my thought is that you want some
notion of "distance" in change from one element to another.

A few goofy ideas:

  -- you could hand-tune a "concept space", e.g. by having nodes and
  weighted edges between them; this would only have to be maintained
  for the whole MUD, just for purposes of judging least-distance
  (maybe there is a more compressed representation of same for the
  least-distance purpose only). i have no idea how you'd automate
  this but i guess that is a possibility too.

  -- if you represent rumors with progressive level of detail, you
  could simply knock a level of detail off (making your rumor more
  vague/ambiguous.) for example, if instead of JOHN you used "person
  with black hair AND ... AND goes by 'John'", you could knock off
  the last part entirely (not trying to turn it into Jqhn or Sally
  or whatever) and have "person with black hair."

  -- if you (globally or per-npc) calculate which rumors are likely
  to follow each other, NPCs could elect (weighted probability) to
  spread a rumor "ahead" of the one they are told, degrading the
  information, but suggestively and remotely predictively. i'm not
  happy with this at all.

I haven't said anything about determining NPC behavior on the basis
of these, either. For me they are supposed to be lossy means of
transmitting certain kinds of information, player to player.

Sasha
_______________________________________________
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