[vworld-tech] Verb/action handling

Bruce Mitchener bruce at cubik.org
Sun Jan 25 09:23:52 PST 2004


Brian Hook wrote:
> I'm trying to come up with a scheme that handles verbs uniformly that 
> isn't a kludge or incredibly slow or error prone.
> 
> Right now I'm leaning towards an event-handling/listener-registration 
> model, where there are preset handlers that can be registered.  The 
> ROOM database table would list the name of appropriate scripts to 
> execute under certain conditions.
> 
> This is relatively efficient (compared to, say, dispatching to 
> everything in the world on all events), but still doesn't strike me as 
> elegant or ideal.
> 
> Any suggestions for a better mechanism?

This depends on details that you haven't provided at all. :)

What is your world model?  While you say rooms, are things going to 
happen that cross room boundaries?  In TEC, we propagate things to 
surrounding environs a lot.

What sort of scalability requirements do you have?

What is the scope of a single room?

How much ability do you need to modify the world for scripters/GM staff?

Do you allow user programming at all?

Do you trust everyone that has access to writing code?

Will someone doing extension work be actually writing code, filling out 
a set of rules, or what?

We have a system that works well for us in TEC that we've been using for 
years.  As we grew, I did some optimization of the implementation 
language's runtime to make it more optimal for our usage.  I described 
it fairly briefly some years ago in the MUD-Dev archives:

     http://www.kanga.nu/archives/MUD-Dev-L/2001Q1/msg00415.php

(I think that is the URL ... the webserver on kanga.nu is currently down.)

You may also find it interesting to read up on the various bits of 
research regarding management of areas of interest and all of the other 
terms that people use for the same thing.  The work on PARADISE, 
MASSIVE-3, SPLINE, and others is a good start here.

     * http://www-dsg.stanford.edu/paradise.html
     * http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3/
     * http://www.merl.com/projects/spline/

And that will lead you through a big trail of papers and related work.

I had intended to post a different sort of response, but I'm having to 
deal with a system failure instead this morning, so that'll have to wait. :/

  - Bruce



More information about the vworld-tech mailing list