Re: non-recursive tracking algorithm (that works) from "Daniel Koepke" at Oct 13, 97 03:28:15 pm

From: Andrew Helm (ashe@IGLOU.COM)
Date: 10/13/97


>
> There is, of course, some problems.  It requies everything to be
> physically possible.
[snip]
> 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...:\

Not only that but a lot of zones also depend on unrealistic room
layouts for mazes. Those rooms would have to be taken out and
some special coding to emulate the maze added in.

> 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.

Once you do this it would be a good idea to add checks to OasisOLC
that prevent the rooms from overlapping each other all over again.

> 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).

Do you mean that you have one room for every coordinate within the
boundries of the "cube" or only that you insure that each room
doesn't overlap? Either way you can implement some cool searching
algorithms like A* (capable of taking into effect terrain as
well as being pretty damn fast) that you couldn't implement
if the rooms don't form a nice 3d structure (ie- no overlaps).

Here are some url's I've found helpful:
http://theory.stanford.edu/~amitp/GameProgramming/
http://hem.passagen.se/fmj/pathfinder/index.html


For the room layouts possible under normal circumstances, Jeremy's
algorithm is near impossible to improve upon. If anyone has any
idea whether it's possible to implement a better algorithm without
constraining the layout of the rooms (even if it's only a slight
notion of a solution) I'd love to hear from you.


     +------------------------------------------------------------+
     | 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