[DGD]Global Reset

E. Harte harte at xs4all.nl
Mon Sep 11 17:53:42 CEST 2000


On Mon, 11 Sep 2000, Malcolm Tester wrote:

> 
> As Ludger said, you're going to have extreme lag once you go beyond a few
> objects.  But besides that,  you're going to have other problems as well, if
> you use heart_beat() as the mechanism to track that.  I'm not a hard-core
> DGD user, so I can say things based on what I've used/seen in LD/Amylaar and
> MudOS, but I assume the basics are the same.  heart_beat() has a very
> important function of determining who is "living" and who is not.  If you
> activate heart_beat() in every object on the game, you will in effect call
> everything living.  And having heart_beat() active in every single object
> will also serve to shut your mud down often.  It's worse than any other
> method of book-keeping you can think of to use.  heart_beat() tends to be an
> expensive function to execute.  But.  Your mud, so have fun learning :)

The 2.4.5 DGD-emulation code that I vaguely recall has an auto-object
private 'int living;' variable to keep track of what is or isn't a living
object, so that shouldn't be a problem.

His biggest problem will be that it is expensive and unwise to keep all
objects active and swapped in by call_out()-ing functions constantly.

The only way that I can think of to do this somewhat efficiently is to
keep a timestamp in a (or 'the') global object that indicates when the
last global reset has been, which all objects check the moment something
happens in their inventory/environment, for instance when an object moves
around.

Hope that helps,

Erwin.
-- 
Erwin Harte  -  Forever September, 2568 and counting  -  harte at xs4all.nl
[ 3:45pm  up 33 days, 20:16, 11 users,  load average: 0.00, 0.00, 0.00 ]


List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list