Resets and repops

Adam Wiggins nightfall at inficad.com
Thu Mar 27 23:00:50 CET 1997


[AW:]
> >Crystalline Tree?  Wazzat?
[JCL:]
> An old scenario, much like the Elven forest/Sceptre/Castle Krak
> scenario we used to bounce ideas off.
> 
> The actual scenario was called "Bubba and the Crystalline Tree", and
> dealt fairly simply with our friend Bubba who managed to climb a
> crystalline tree.  This was no mean feat as Bubba is a very heavy chap
> whose weight *should* break the tree, dropping bubba to the ground. 
> The scenario is:
> 
> -- Bubba is in the Crystalline Tree.
> 
> -- Bubba has some sort of state changing effect which lessens his
> weight such that the tree does not break.  Typical examples are: he is
> holding on to a large number of helium balloons, he is enchanted to be
> lighter, etc.
> 
> 
> -- Bubba now changes his weight value.  This could be by letting go of
> the balloons, picking up another object, receiving a "heavy" spell,
> having his "light" spell wear off, having one of the objects he is
> carrying receive or lose a heavy/light spell, having one of the
> objects he is carrying chage its weight for any other reason etc.
> 
> -- Having the tree respond appropriately to Bubba's weight change.

Heh...well...we have the obvious, ugly solution to this.  Every
timer pulse (currently .25 seconds, I think) you get a set amount
of gravity exerted on you, based on your gravity value (can be modified
by both spells and your current environment, right now everyplace on the
mud is 9.8 m/s^2) and your 'carried' weight, as well as any connection
node you have attached (namely, ropes and such...could be magical in
nature however).  Thus, you can do whatever you want and you'll always
be correctly affected by gravity at the next moment.  This is the
same loop in which we update other non-event stuff, such as your
current vector of motion (when Uglug the Troll picked you up and tossed
you over the edge of the cliff, or into a wall) and the update of
your physical stats, character emotions, fatigue, and so on.  Sure,
loops are pretty brute-forcish, but it works well for two reasons:
it generally actually saves us time vs using our event lists for things
like this (because they almost always need to be updated) and two,
situations like the above work just fine.  A few comparisions and
adds/subtracts per character with only a few hundred or possibly thousand
active characters is no problem whatsoever for the processor we're running on.

> Nahh.  That's way too expensive.  Most of us already have ways of
> trapping method calls for which we don't have a defined method (and
> usually calling a default method instead).  All you need to do instead
> is to instantiate the actual object upon receipt of such a call, and
> continue working with the forgery the rest of the time.  
> 
> Cheap, effective, and workable.  Real objects only get built when
> something asks for them and a forgery can't do the job.

Ah, okay...this wouldn't work very well for us for the reason I just
mentioned, above.  It would _always_ be asking for the real thing.

> >After rebooting both my code machine and my debug machine a dozen
> >times a day, it's somewhat refreshing to come home and type 'uptime'
> >on my Linux machine and see 104 days.
> 
> Shoot.  I reboot OS/2 no more than once a fortnight or so, and then
> usually because I've coded something stupid.

Well, I could deal with this.  What boggles me is why I have to reboot
my code machine just because an array on my remote debug machine went
slightly out of bounds.  The program isn't even _running_ on that machine,
for crying out loud!  What, does MSVC Monitor send a message, "Hi, I'm
crashing now, so why don't you follow suit"?!

Oh yeah, we got MS Visual C++ 5.0 in the mail the other day.  Not only
does our project not compile (they decided to change a few key things in
the way that templates work), but there's a fuckin web brouser built into
the development enviroment!  ARRRGGHHH!!  I'm sticking with 4.2, needless
to say.  I think Microsoft's plan is that by the year 2000 every piece of
software will just be a web brower with a few specialty components.




More information about the mud-dev-archive mailing list