[MUD-Dev] Re: The Best Guy on the Mud Thing

Mik Clarke mikclrk at ibm.net
Sat Sep 18 17:08:11 New Zealand Standard Time 1999


Laurel Fan wrote:
> 
> Excerpts from muddev: 17-Sep-99 [MUD-Dev] Re: The Best Guy .. by Robin
> Cloutman at free4all.
> > I'm trying to work out some way of doing a decent spell system, and this
> > does seem good, but the beta testing shows that it doesn't work, therefore
> > there needs to be something to stop people just "testing" all the
> > combinations in order to find something that works...
>
> Or, similarly, have many spells that are "close" to actual spells which
> are useless or catastrophic... It might make sense that "whip monster
> with chains" might be close to "whip monster with peacock feathers", or
> that a slightly wrong invocation of "create water" might cause a small
> lake to form directly above the caster's head.

Firstly, if the character is unable to cast the spell or is lacking in
material components, then they probably should not find out what the 
spell is.  This should be very similar (if not identical) to the
sequence
that occurs when they try to cast an invalid spell.

So now searching will only find spells the caster is able to cast.

Some spells need a target, and if one isn't specified, the spell will
again fail.  Then you have to pick a target - difficult when you don't
know if the spell is fireball or super-bezerk (one is good for orcs, the
other is not).  The spell 'change places with very upset red dragon' is
also an interesting one in this situation.

So now we're down to spells with the right target that the caster can
cast 
(and survive the incidental effects of).

Some spells have area affects (all foes in room, everyone in the same
area etc...).  Finding a safe place to test cast these could be
interesting.
Returning to town to find everyone singed and upset might not be to the
testers benefit.

A few spells have a detremental effect upon the caster.  Minor varients
include damage due to spell feedback and getting caught in the spells
effects.  Monsters can be summoned, adverse affects can be applied.  
Feedback damage should probably be reduced as the casters skill
increases.

The major varients are the suicide spells - a small number of spells
which
unconditionally kill the caster - thier life is one of the components.
One or two of these might cause permanent death (character deletion) and 
some fairly noticable game effects.  For instance, once coded, 'Divine
Presence' will open a portal directly from the caster to Azathoth.  
Azathoth is a sort of living nuclear explosion at the center of the 
universe, so opening the portal makes something of a mess.  The caster
is reduced to a blacked shadow and all in the area take some serious
damage.  Temporary changes to room descriptions are also in order.  I 
think its main usage would be in a quest where the PCs have to stop a
mob
from casting it.  That and for those who want to go out with a bang...

You might want to give some thought to spells that have to be cast in
sequence (protection, magic circle, summon demon).

Finally you could consider randomly varying the rune strings for
each character.  You might be able to get somewhere by use a simple
encryption algorythm to provide the variation. The resulting rune
strings have to be suitably non-linear that it is not possible to simply
take two characters and use the runes one of to derive the runes of the
other (assuming the cracker has access to your mud code). Your code how
ever has to be able to figure out the correct sequence for them to enter
to get the spell so it can 'teach' it to them.  

Hmmmm. You could give them each a different seed for a PRN and step it
through enough steps to encode the spell and then apply the encoding in
reverse. Consider the true runes 'ABC'.  Use the PRN to generate
transformation sequences for the letters - say reverse, swap alternate,
shift up by sequence, shift down by sequence.

  ABCDEFGHIJKLMNOPQRSTUVWXYZ

The PRN is seeded and called to generate a sequence of 5 actions. Thier
parameters are generated immedietly after the instruction. Say:

  reverse
  shift up sequence 17, 23, 12
  swap alternate
  shift down sequence 5, 19, 13
  reverse

This is 11 calls to the PRN.  As long as you know the seed and the
number
of actions to apply you can always generate the correct decoding
sequence.

Apply the actions backwards to the true runes to get the player runes:

  ABC - CBA - XIN - IXN - ZUA - AUZ

The player has to enter AUZ to get spell effect ABC.  The string to get
effect ABD will probably be completely different and, without knowing
each
players PRN seed, it is not possible to back figure from one players
runes
to anothers. You cannot deduce the PRN seed easily because you are
chopping
a 16 bit number (the PRN output) down to something a lot smaller when
you
generate the sequence values.

This is a simplified version of something I call the drunken cypher
which
can be found on my home page.

Mik



_______________________________________________
MUD-Dev maillist  -  MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev



More information about the MUD-Dev mailing list