[vworld-tech] Verb/action handling

Brian Hook hook_l at pyrogon.com
Sun Jan 25 11:02:50 PST 2004

> What is your world model?  

Can you be more specific?

> While you say rooms, are things going to
> happen that cross room boundaries?  


> What sort of scalability requirements do you have?

Ideally I want to be scalable to a very large degree, I'd hate to 
implement something with a hard cap on users, rooms, mobs, etc.

> What is the scope of a single room?

As in?

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

A lot.

> Do you allow user programming at all?


> Do you trust everyone that has access to writing code?

Yes (but bugs are bugs, so we're still going to have to solve the 
out-of-control-script problem with Lua).

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

There are two parts to the editing process (at least, as I envision it 
right now, but this is all fluid).  The first is data definition, done 
using standard DB tools.

So you make a new room, assign it basic properties like name, 
description, exits, etc.  It has no intrinsic special behaviour, but 
then again, very few rooms do.

But, say you want to make a room with special case behaviour, I dunno, 
like it heals everyone standing in it every 10 seconds.  To do this, 
I'm thinking that the database author sets the "OnTick" field to 

At room load time, its OnTick function is redirected to 
HealingRoom:OnTick (i.e. it's a function pointer).

Which means that someone, at some time, needs to write 
HealingRoom:OnTick.  The larger ramification is that it's a hybrid 
data-driven/procedurally-driven system, and that's a kind of 
uncomfortable place to be.

A purely procedural system is going to have a lot of overhead and 
suffer from all the myriad problems that inheritance/sub-classing have 
but a data driven system is going to have a lot of bloat and spaghetti 



More information about the vworld-tech mailing list