[DGD] Re: Persistance
Stephen Schmidt
schmidsj at union.edu
Thu Jan 8 21:16:52 CET 2004
On Thu, 8 Jan 2004, Par Winzell wrote:
> > How do you initialize the system to begin
> > with? At some point you have to load the room into memory for
> > the first time.
> Well, if the most advanced tool you had at your disposal was the Kernel
> library's wiztool, then ...
Yeah, but I don't want to be initializing the 10,000 rooms of
my mud world with the wiztool :)
I gather the principle is the same, though. When a player is
walking around the mud in the first few minutes of uptime,
loading the rooms, then each time he goes through an exit
the code (somehow) checks to see if the object for the
connected room is loaded. If it is, fine. If not, it loads
/base/obj/room and configures it in whatever way is
appropriate.
The problem comes with circular paths. Suppose the mud world
has four rooms A through D, connected like this:
A - B
| |
C - D
At the start of the world, the player enters in room A. He
walks to C, then back to A, then to B, then to D. Now all
four rooms are loaded. A has a pointer to C and C to A,
created when the player walked from A to C. Similarly
for A and B, and for B and D.
When the player next walks from D to C, room D needs to
realize that room C is already loaded. Does it have to
search all existing clones of /base/obj/room to find it?
That could get icky in a 10,000 room world. Or is there
some more clever solution?
Steve
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list