[MUD-Dev] Resisting Charm or you're cute and nice, but not

Jon A. Lambert jlsysinc at ix.netcom.com
Thu Apr 9 01:51:36 CEST 1998


On  8 Apr 98 at 14:18, Katrina McClelan wrote:
> On Wed, 8 Apr 1998, Jon A. Lambert wrote:
> 
> > And about that Charm spell....  

Sorry, I've gone all over the map here. :)

> 
> [snip]
> 
> > Wouldn't this spell and those like it be more interesting and
> > unpredictable it resistance to charm was attempted after each
> > requested action?  Especially in a strong RP environment where
> > such spells often cross the boundaries of player
> > consent/non-consent.  Player characters could be offered the
> > option to attempt to resist or go along with the requested action.
> >  A given action might even be successfully resisted, yet the
> > afflicted still remains entranced.
> > 
> > Thoughts and ideas anyone?
> >  
> 
> It's quite workable.  As is I give a chance to break free for any
> order. The problem with chance to resist and not break spell is a
> repeated query that would be thwarted in a paper game but would be
> somewhat of a pain to keep track of on a mud.  The other problem is
> determining mechanically best intrests.  

This other problem seems to be the bigger one.  Somehow methinks this
may tie in with the rgma thread "Goal-based AIs".  One could probably
implement a "universal" reponse network based on the instinct of
living creatures, and perhaps override and extend it with species
exceptions.

So for instance (co-opting parts of Richard's Fido example)

FIDO
  event   response            weight
  -----   --------            ------
  kick 	  play                 -5% 
          looks at you funny  6-10%
          nothing             11-20%                           
          yelp and run away   21-80%
          attack              81+% 

The responses are kept in relative order from most
positive to most hostile.

So if Fido is "charmed" or a pet, a kick action would add
in a negative weight modify (say -25%) before randomly determining
Fido's course of action.  If Fido is afflicted with rabies or
distemper a positive weight modify is added to the random
determination (+50%).  

The real fun begins when you make such a table dynamic and
self-modifying and then attach it to Fido.  So as Spot the Fido
gets gets repeatedly kicked by master, either Fido's response gets
progressively more aggresive or more likely, in this particular
creature case, more trained and predictable (left out submissive tail
between legs pose).  So each species might have it's own training
algoritm.

> An example, is dispel magic a good or bad thing to have
> cast on you?  Well, it depends on if you have a bunch of beneficial
> spells on you or if you have something like irresistable dance on
> you.  But what if you have both types on you?  Is it worth the loss
> of all the good spells to get rid of silence.  (even that depends...
> is the mob a caster or warrior type)  What if instead of silence
> it's something like hold person or charm person?  It's very
> subjective and hard to code algoritmically. 

Some commands and spells are "morally" neutral(?) or the recipient is
unable to process it.  Dispel Magic is a funny one there.  I remember
the implementation your referring too, but all area affect spells are
similar.  If I cast a fireball at an enemy who happens to be
surrounded by my loyal henchman at the time (oops), how does one
determine a reasonable reaction for them, assumming they survive? 
Perhaps a start of a solution can be found in other games like the
AD&D reaction tables and the associated situational modifier tables. 
So perhaps the positives and negatives of a dispel magic "attack" are
weighted into the final reaction roll.

> The same can be said for some commands.  Above, enter
> portal when the portal is to a safe haven is something "good", while
> entering a portal to the middle of the abyss is a bad thing.  But
> how can you tell the difference from the 0's and 1's?  It can be
> done but it is a major pain in the butt.

Ah, thats the key.  It may be 0's and 1's down at the bit level, but a
table (or net) with situational modifiers to the weighting and some
good old-fashioned randomness, might make it appear that the creature
is acting semi-intelligently and fairly unpredictable.

The coding here is can be simple, canned and reusable.  It's the
loading of the just the right response options and weighting that's a
pain. Throw in the dynamic aspect and you have a training issue as to
how fast or slow the table adjusts itself and tends toward predictable
responses.  Some mention was made of this in providing AI combat
responses in earlier threads - by Nathan of course and others, have
posted examples of arcade-games (Mortal Combat) where the opponents
get tougher and quicker in response to repeated strategies.

 
--
--/*\ Jon A. Lambert - TychoMUD     Internet:jlsysinc at ix.netcom.com /*\--
--/*\ Mud Server Developer's Page <http://www.netcom.com/~jlsysinc> /*\--
--/*\   "Everything that deceives may be said to enchant" - Plato   /*\--



More information about the mud-dev-archive mailing list