[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