[Divunal-devel] The Problem with Perspectives

Michael Dartt jedin@divunal.com
Tue, 20 Jul 1999 09:09:52 -0400 (EDT)


How about this:

As it stands, we already have to generate a list of objects based on the
person's perspective when the person enters the room.  Why not maintain
this list while the person's in the room, and query it instead of the
normal room list to avoid perspective processing every time a person
performs an action?  To save space and increase speed, the lists could be
associated with the given perspective "tag"/property, so that if there are
multiple people in the same room with the same perspective, you only have
to maintain one list for all of them.  



On Tue, 20 Jul 1999, Glyph Lefkowitz wrote:

> 
> Quick answer: efficiency problem.
> 
> Long answer: the game right now uses a 'Dictionary' structure to find what
> you're looking for.  It looks up the object by the key of whatever you've
> specified.  Reconstructing that entire dictionary structure each time a
> player requests and object would be a HUGE efficiency hit.
> 
> Personally, I think there's a better way to do it, such as auto-adding the
> synonyms when they're first sent to the player... that's kinda kludgy
> though, and seems like it might have a very, very bad 'worst case
> scenario'.
> 
> On Tue, 20 Jul 1999, Michael Dartt wrote:
> 
> > Since the game already knows how to make something look a certain way to a
> > certain player, why not do a similar thing with whatever looks at the room
> > to get an object?  That is, when someone says, "get blue box", the game
> > "thinks", "Okay, based on his perspective and what's in the room, what the
> > hell is he talking about?"  To put it another way, rather than just
> > returning the straight list of objects in the room for the verb to sort
> > through, you return the list of objects as filtered by the player's
> > perspective.
> 
> 
> _______________________________________________
> Divunal-devel maillist  -  Divunal-devel@divunal.com
> http://divunal.com/mailman/listinfo/divunal-devel
>