On Mon, 13 Oct 1997, Gary Barnett wrote: -+1) Create a 3d array of ints to represent a zone. Each room will plug into -+the array -+ in whatever spot it is in relation to the other rooms. (sparse array) There is, of course, some problems. It requies everything to be physically possible. That is, you can't make west take you from roomA to roomB, and east to take from roomB to roomC. The rooms, and zones, cannot overlap. It's easier to prevent this with rooms (unless you have a reason for doing it, then you should avoid it). The main problem lies in mapping where zones are in relation to each other. Remember when Rome was north of Midgaard? It was about 7 or 8 steps from the north exit of Midgaard (Behind the Altar?), but the western forest was a few steps west, and going north you'd never connect with Rome. The same problem exists with other zones. Where they would *logically* connect, they do not, because no-one ever bothered to check. As it is, the zones are free-floating masses of rooms that can "magically" connect with one another. If you stapled them down to the ground in a limited space, several would likely overlap...:\ The only way I can see to remedy this situation is to have the program (or you can do it manually) find where two zones intersect by in an illogical way by building the array and reporting the two intersecting zones. This is why, though, I am moving away from free-floating, unlimited zones and placing them in a three-dimensional cube. It has its own limitations, but it's very neat for tracking, flying, etc. (e.g., you don't have to *fake* flying or make it just a hovering thing). -- Daniel Anton Koepke -:- dkoepke@california.com -:- [Nether] "Human language is a cracked kettle on which we beat out tunes for bears to dance to when all the while we want to move the stars to pity." -- Flaubert +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST