[DGD] Object house-keeping and persistance

Stephen Schmidt schmidsj at union.edu
Thu Aug 19 17:06:11 CEST 2004


On Thu, 19 Aug 2004 birgit.schulte at philips.com wrote:
> [ quoting out of sequence ]
> Also, I am still getting used to the idea of real persistance,
> meaning I am not yet used to code with that firmly embedded in my mind.

I've been thinking about persistance, on and off, for six years
and it still isn't firmly embedded in my mind :)  It is amazing
to me how fundamental a difference it makes.

> Guess when I'm saying unused I somehow think more of objects
> cloned / created by coders when working on some part of the world,
> as opposed to working in their own working-dir.

Fair enough. But in a truly persistant mud, you may not even
have coders anymore. It'll be very awkward to have new areas
opening up in a persistant world. Where do the objects that
fill those new areas come from? I think persistence tends to
work better if the game world is already there, at least in
outline form, and development happens within the context of
the game - quite possibly being done by the players rather
than by the development staff. That is, the job of the
developer is to build an enormous set of rooms saying "You
are in a forest", "You are in open plains", etc. If someone
wants to build a town there, let the players build it
themselves (and give them commands to do it, within
resource limits that are defined within the game system).

That said, that's an long-run vision; in the short run you
are probably still going to have coders. The fix here,
probably, is to mark each room that is not part of the
game world with a flag. Any object left in such a room
gets removed via a traditional clean_up mechanism. You
need not start the clean-up mechanism in any object which
is created in the game world - that would waste a lot of
CPU. Activate it when the object enters a non-game-world
room. You probably also want some way to prevent an object
created outside the game world from entering the game
world, too.

Steve


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



More information about the DGD mailing list