[MUD-Dev] Newbies

Hans-Henrik Staerfeldt hhs at cbs.dtu.dk
Fri Feb 25 13:52:23 CET 2000


On Fri, 25 Feb 2000, MichelleThompson wrote:

> There are so many things that people react to.  There are so many thing=
s that
> players do, especially to mobs when they are bored.  If you defined
> action/reaction on say even a fourth of them into a specific personalit=
y
> script (the list above is not even a fourth of what players can say or =
do to
> mobs)  If you defined an action/reaction on every mob for say a fourth =
of
> them, even for only several hundred mobs, it would quickly take up more=
 space
> than it was worth.    If you make several general personilty types, the=
y could
> be assigned to mobs.  The mobs could have some of the comparitively sma=
ll
> scripts like you described above as well.  Mobs generally do not react =
to that
> much.  This is a possible way to have more mobs react more ways to diff=
erent
> things.=20
>=20
> Michelle Thompson
>=20

This is possible with what we did with our scripting language. You can as=
sign
any number of programs to a mob. (well .. enything really, but mob's as w=
ell)
The programs can react to different circumstances (message based). The
message will be passed down the programs, until a program 'blocks' it.
This way, you can attach several different _simple_ behaviour patterns to
a mob. The programs can have 'arguments' as you attach them for ultimate
reuse. F.inst. you can attach a generic cityguard patrol program, that
takes a path as an argument, and thus assign the same program to all the=20
cityguards, but give them different patrol paths. One of the could hold a=
=20
grudge against the mob 'quazimodo' and if he sees that mob he'll spit at =
him
and call him names. Functions can even take other functions as parameters=
=20
so more complex behaviour could be achieved (callbacks or whatever).

dilcopy mypatrol at myzone("NUWWWNNSSEEWDS");
dilcopy quazimodo at myzone("Get lost freak");
dilcopy alarm_if_attacked at myzone("Guards Guards!");

However, this works only for reasonably simple behaviour patterns. If you=
 want=20
something that takes into account what other patterns are installed, the
inter-dependencies get complex, and you really need to make a new script =
to
get something finely tuned.

For your example, you could make the small scripts, that reacted to
differnt actions/keywords, and attach them all to you mob in the combinat=
ion
you wanted. The problem is, when the more variety you want in your abilit=
y
to specify personality, the more your assignments will be like a seperate
specific program, and less like a collection of high-level behaviours.

It all depends on how specific or high-level you want it. So the trick is
to make your reaction options complex enough that they warrant being code=
d
in a seperate script, rather than just included in one global script.

Documentation for interrested; http://www.valhalla.com/Builders/docs.html

Hans Henrik St=E6rfeldt   |    bombman at diku.dk    | work:  hhs at cbs.dtu.dk=
      |
address:                |___  +45 40383492    __|__       +45 45252425   =
  __|
 Dybendalsvej 74 2. th, | Scientific programmer at Center for Biological =
    |
 2720 Vanl=F8se, Danmark. |  Sequence Analysis, Technical University of D=
enmark|




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



More information about the mud-dev-archive mailing list