[DGD] Persistance

Robert Forshaw iouswuoibev at hotmail.com
Thu Jan 8 01:45:32 CET 2004


>From: Noah Gibbs <noah_gibbs at yahoo.com>
>   As for how areas are designed, imagine a world with
>no zone resets.  Stuff doesn't pop back into place a
>few moments after you kill it or steal it.  You might
>say "that seems stupid.  How would you get more
>opponents and money?"  But if you think it through,
>you wind up with something subtly more like the real
>world.  It's a nice change, or so I believe.

I'm not quite sure what this has to do with persistance. It seems to me that 
resets and respawning are a design consideration, and can exist regardless 
of whether the MUD gets rebooted or not...

>  That
>changes area design completely.  It also makes an
>economy possible, since it allows for the possibility
>of scarcity.  Zone resets are the #1 source of runaway
>inflation since new "valuables" come into the economy
>constantly, thus destroying any actual value they may
>otherwise have had.

What you are describing is the theory of game balance. What does this have 
to do with persistance? It can still be achieved with a non-persistant MUD 
can it not?

>Imagine that you created an object once, and it
>stayed.  But imagine you didn't create it as a regular
>occurrence.  You'd never write any initialization code
>for it, not once it had its attributes (which could be
>done in some other way, as Skotos does, or with a data
>file, as Phantasmal does).
>
>   There's no reset, no respawn, no destruction and
>remaking.  It's just, y'know, there.

This sounds drastically different from the conventions I've grown accustomed 
to. What's the point of storing configuration in a datafile? Setting 
attributes isn't difficult and having a datafile just makes it harder to 
alter the possible attributes an object may have.

>So you don't
>write code for routine destruction, nor code for
>initialization.  You just set some attributes (some of
>which may involve code, naturally) and away it goes.

Hmm. I thought that was how it was always done? *scratches head*

>
>   State dumps allow you to bring everything back to
>the way it was pre-reboot, and to do so without
>writing a single line of save/load code.  So you can
>get by without init code, without object destructors
>(well, sort of).  No load/save.  It saves a lot of
>code.  I know it's a lot -- Phantasmal *has* all that
>code :-)

It sounds like you could get away with just doing state dumps, but that does 
cause lag, no? I'm thinking of preserving user configuration, etc. with 
savefiles in case there is a crash (you never know what might happen).

>In return, when you change object code, you have to
>write a little piece of code to update the existing
>object(s).  That can be nontrivial, sadly.  But it
>runs to turn the old object into the new object, not
>to make the new object from scratch.

Do you mean writing the code to update objects is non-trivial? I thought it 
was all there in the kernel lib? ;) I never have thought that writing an 
object manager will be hard.


>For one thing, you can make the object and shape it.
>You can change the attributes dynamically and they
>stay.

They stay on a non-persistant MUD also though, except when there is a 
reboot...

_________________________________________________________________
It's fast, it's easy and it's free. Get MSN Messenger today! 
http://www.msn.co.uk/messenger

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



More information about the DGD mailing list