MUD-Dev
mailing list archive

[ Other Periods  | Other mailing lists  | Search  ]

Date:  [ Previous  | Next  ]      Thread:  [ Previous  | Next  ]      Index:  [ Author  | Date  | Thread  ]

Re: [MUD-Dev] Newbies



On Fri, 25 Feb 2000, MichelleThompson wrote:

> There are so many things that people react to.  There are so many things 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 personality
> 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, they could
> be assigned to mobs.  The mobs could have some of the comparitively small
> 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 different
> things. 
> 
> Michelle Thompson
> 

This is possible with what we did with our scripting language. You can assign
any number of programs to a mob. (well .. enything really, but mob's as well)
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 
cityguards, but give them different patrol paths. One of the could hold a 
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 
so more complex behaviour could be achieved (callbacks or whatever).

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

However, this works only for reasonably simple behaviour patterns. If you want 
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 combination
you wanted. The problem is, when the more variety you want in your ability
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 coded
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ærfeldt   |    bombman#diku,dk    | work:  hhs#cbs,dtu.dk      |
address:                |___  +45 40383492    __|__       +45 45252425     __|
 Dybendalsvej 74 2. th, | Scientific programmer at Center for Biological     |
 2720 Vanløse, Danmark. |  Sequence Analysis, Technical University of Denmark|




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



[ Other Periods  | Other mailing lists  | Search  ]