[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