Re: [Newbie] Room/Zone limitations

From: Patrick Dughi (
Date: 06/20/00

>   A good solution to this is to replace the vnum system with an
> ip-like system. Just use an unsigned 32-bit integer, and adress
> the four bit-octets seperately giving you a nice seperation
> like:
>   <continent>.<area>.<zone>.<room>
> This would allow you 255 continents with 255 areas, with
> 255 zones each having up to 255 rooms, blasting away any
> limitations.
        Sounds good - i did/am in the process of doing something similar,
only i just have a simple divison.  I figure that the highest #
of individual rooms in a zone would be around 1000, and based on the
average speed of development is about 1 good, proofed, integrated,
attached zone per builder per 2-3 month period (unless pushed), i doubt
the zone count will ever go over 1000.  Not that you couldn't have zone
50228328382 with a room 2392939292, but that it just isn't required for
the most part.  I'm not limited to 255 obviously.

        The one thing I did change that was important though was how
rooms/zones/objs/mobs/etc were saved.  Now everything is saved immediately
after editing, on a one by one basis.  That is, if you do happen to have a
large number of objects (say 30K) in one zone, and you edit #22033, you're
only going to incur the penalty for one object save, as opposed to the
entire obj file for a zone.

        Based on some advice and demonstration from a friend, I've also
changed the structure of my zones to be based on a binary tree system.
This allows me to load parts of zones at a time, and keep the rest in
reserve.  So, if there's a zone which has had no people in it for the last
3 weeks of uptime, but has 4 distinct objects which _are_ in use, i can
just load up those 4 objects, and dismiss the rooms, zone cmmands, mobs,
shops, and other objects.

        Rather nice on the memory.

        The only downside is that the load _is_ notably slower.  Loading
up 10K rooms used to take around 2-4 seconds, now takes around 12-15.  The
process for loading the rooms (and indeed all other parts) is sub-optimal
though, I should invest some time fixing this.

        Of course, I'm still not done yet.


     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  |

This archive was generated by hypermail 2b30 : 04/10/01 PDT