[Coldstuff] Environment list and recursive locations...

Jonathan Robertson coldstuff@cold.org
Sun, 17 Feb 2002 21:44:02 -0800 (PST)


Sorry I didn't give more input previously.  We add all
objects seen as objects maybe not visible but you can
look at them for a more indepth description.  If this
could be tied into the room itself I'm sure it would
save space in the DB.
Jonathan

> --- Brandon Gillespie <brandon@roguetrader.com>
> wrote:
> > Ok, I decided to tackle fixing some of the located
> > location issues
> > (i.e. a location of a couch in a location of a
> room,
> > etc).  I thought
> > about this years ago (1995 or so) and cannot
> recall
> > ANYTHING from back
> > then, so I'm starting over.  I'd appreciate some
> > input on how other
> > muds handle this, because frankly I can't even
> > recall how MOO does it
> > anymore...
> > 
> > I have three variants, based on a little hacking I
> > just did...  All of
> > the timings come from the same room on the same
> > hardware, and are
> > relative only to themselves...
> > 
> > 1-- Current ColdCore configuration...
> > 
> >    This configuration is very minimal... the
> > environment has no concept
> >    of located locations.  It is just a list of
> > anything you are holding
> >    or which is in the room you are in (so you
> could
> > address the couch in
> >    the room you are in, but nobody on the couch in
> > the room...).
> > 
> >    This takes approximately 0.000086 to generate
> an
> > environment list...
> > 
> > 2-- Open-ended configuration
> > 
> >    This allows for any object within the context
> of
> > the environment to
> >    add-to the list as it is being generated.  This
> > way a couch could also
> >    inject everybody sitting on the couch, etc.  It
> > uses a dictionary to
> >    avoid loops and replication.  However, it is
> also
> > very slow, time is
> >    approximately 0.001234 in the same room.
> > 
> > 3-- $located_locations only
> > 
> >    This goes back to the original code and just
> > hacks in a check for
> >    located locations, and if the target object is
> a
> > located location it
> >    then injects that object's contens.  It takes
> > 0.000318 seconds.
> > 
> > So the issue is--stick with a non extensible
> > mechanism like #3, but
> > which is faster, or go with an extensible
> mechanism
> > like #2 and just
> > take the performance bump (is it really that big
> of
> > a deal?).  Nice
> > thing about #2 is it allows for things like an
> > object to be able to
> > inject a detail into the environment, without
> having
> > to either make it
> > be a real object or have it be a located_location.
> 
> > Of course, one
> > could argue against that, in that all addressable
> > objects in the
> > environment should be $things, and all located
> > locations should be
> > $located_locations, thus making it a non-issue...
> > 
> > Let me know which would be preferrable...
> > 
> > -Brandon
> > 
> > _______________________________________________
> > Cold-Coldstuff mailing list
> > Cold-Coldstuff@cold.org
> >
> http://web.cold.org/mailman/listinfo/cold-coldstuff
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Sports - Coverage of the 2002 Olympic Games
> http://sports.yahoo.com
> _______________________________________________
> Cold-Coldstuff mailing list
> Cold-Coldstuff@cold.org
> http://web.cold.org/mailman/listinfo/cold-coldstuff


__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com