> 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 zone.room 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. PjD +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT