[vworld-tech] Verb/action handling

Brian Hook hook_l at pyrogon.com
Sun Feb 1 10:49:44 PST 2004


> Just being 'room-based' doesn't mean a whole lot.  Are rooms
> regular in size/shape? Are they in Euclidian space?  Are there
> higher level organizational systems (these rooms are the inn, these
> buildings are this street, these streets make up a district, or
> other organizational structures) or does a room exist independently
> in and of itself?

Rooms are just nodes.  Rooms are connected to each other with exits, 
and are grouped together into (possibly nested) areas, e.g.

Room 103 <- Holiday Inn <- Dallas <- Texas

> So you'll need some way to determine the context, type, strength,
> etc of an event/action and how to go about propagating it through
> the surrounding environment.  

Right, that's really what I was asking about.

> You'll also need to determine how
> much CPU power you'll willing to let this take up, how much extra
> memory for rooms that have to be in memory rather than potentially
> swapped out to disk, whether or not you want it to take closed/open
> doors/windows/etc into account, and whether or not you want to use
> a technique like beam tracing for determining the propagation paths
> for an action.

I would have instead flipped this around and looked at the potential 
solutions in terms of their costs/benefits, instead of trying to start 
with cost/benefits and looking for solutions, but that's just me. =)

> Well, everyone wants that.  

Then see, I'm like everyone else =)

> But designing and planning for 10k
> players in a single world is somewhat different from designing and
> planning for 200 players.  

Realistic cap -- 1000 players.  But I envision an architecture that 
can be zoned across multiple servers fairly transparently.

> * It is always useful to have a security model and framework! *
> Auditability is important.

Yes, that goes without saying.

> I have a lot of comments about issues that I see with this, even as
> pseudocode, but perhaps another night for that.

Get some sleep, then let me know what you think.

> Personally, I think that it is interesting to approach this whole
> topic at a different level such as Claude Shannon's _A Mathematical
> Theory of Communication_ or one based on semiotics.  But perhaps
> more about that some other day/week/month as well.

Right, I'm busy being practical right now =)

Currently the primitive system we have almost implemented is related 
to what you'd see in an IF engine like Hugo or Inform, but more 
generalized since those systems are really designed around a single 
adventure with a lot of unique behaviour and objects.

The general structure is:

input
input normalization (verb [target [[preposition] other_object]])
lookup action based on system | target | room in that order
(somehow handle notifications to other objects)
target.action(actor,other_object)

But there are a bunch of subtleties that I've glossed over.

Brian




More information about the vworld-tech mailing list