[MUD-Dev] FW: Article on Global Verbs & Bulk Bug
Bruce
bruce at puremagic.com
Tue Feb 6 01:18:52 CET 2001
(I left this long quote here because it was burried in the midst
of a long post.)
Christopher Allen wrote:
> The Skotos system actually combines these two traditional
> types of verbs. All verbs must be defined globally. For
> all of our "social" verbs (things with minimal game effect,
> as opposed to "action" verbs like "north" or "duel" or
> "sign") this is really easy to do. Any non-programmer can
> add a new verb by defining what type of verb it is. Can
> the verb be used with an object ("hit wall")? With a
> preposition and an object ("point at the wall")? With an
> evocation ("say 'The owls are not what they seem.'")? A
> non-programmer just enters this information into some
> web-based forms and ... voila! ... the verb is globally
> defined.
> But verbs can also have specific local effects. We have
> a minor programming language called BILBO which can be
> used to make objects react to specific verbs. Remember
> the goblets from the Winter Ball that fill with wine if
> you tap them? That's a BILBO script. A local version of
> the "tap" verb is built into the glass so that it reacts
> appropriately, but since "tap" must also be a global verb
> it has appropriate effects elsewhere.
> We can actually program verbs into people too, so that
> the BILBO script goes off whenever the person uses the
> verb in question. Remember the kissing curse, which
> caused someone to become mute when he was kissed by
> someone who was muted by the curse already? That was
> BILBO too (in an early form). The local definition of
> the "kiss" verb jumped from person to person.
TEC uses a somewhat more robust/flexible version of this system
that allows you to move beyond simple direct object interactions,
and to support pre and post verb reactions, indirect objects and
witnessing objects.
We have global commands, that have the ability to be intercepted,
modified or acted upon by any objects in that area.
For a quick example, when you do a 'get' command, it does
something similar to the following:
* Issues a pre-get notification to the location
* Issues a pre-get notification to the item being gotten
A pre-notification can tell signal to a command that it needs to
abort.
* Performs the actual get on the item/object.
* Issues a post-get notification to the location
* Issues a post-get notification to the item being gotten.
This is a much simplified description of the system. The
notifications are actually fairly complex. Pre-notifications
involve not just issuing to the items mentioned, but they also
send out 'pre-witness' notifications as well, which can allow
other objects in the area to intercede.
The same thing goes for the post-notificiations as well, but for
them, depending on the strength of the message, that can propgate
out to other parts of that area.
Also, the messages that are sent out are classified in a
hierarchy, such that a 'get' message is a type of 'manipulative'
message
This whole system lets TEC have a global set of commands, but
with highly customizable and very modular ways to intercede and
provide customized actions and effects. The system is also put
to use in handling NPC interactions in many ways, such as
allowing constables to automatically witness a theft and begin
pursuit of the criminal.
- Bruce
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list