[MUD-Dev] Room-based vs. coordinate-based
clawrenc at cup.hp.com
clawrenc at cup.hp.com
Thu Jun 5 14:41:13 CEST 1997
In <3.0.32.19970604221304.00a03024 at mail.tenetwork.com>, on 06/05/97
at 08:07 AM, Jeff Kesselman <jeffk at tenetwork.com> said:
>At 08:20 PM 6/4/97 PST8PDT, Chris Lawrence wrote:
>>The approach which I'm currently moving towards is somewhat related to
>>this:
>>
>>The entire world lies within a single coordinate system (32bit cube).
>>
>>Domains within that global coordinate system are marked off as being
>>"units". A domain is defined as a 3D space as deliniated by a matrix
>>of coordinates. Typically this means a cuboid space (eg a rectangular
>>building).
>This sounds alot like an Octree . Are you familair with the data
>structure?
Yup, an oct tree is just a 3D version of a quadtree. Nope, this isn't
an oct tree, and really bears no relationship to an oct tree.
Reasons:
The arrangement of domains has no logical order within the
coordinate system. The only reuirement is that the lumps in a domain
cannot overlap.
Different domains however can overlap (ie occupy the same coordinate
space), something which is not allowed within an oct tree.
A domain can consist of several lumps, and while lumps are usually
cuboid, quite often they are L-shaped, V-shaped, W-shaped, or other
more complex forms. By definition the sub-divisions in an oct tree
are cuboid.
This is a much more general form. There is really no implicit order
or reasoning to the subdivision of a coordinate space into domains.
In fact, within fairly loose limits, I consider sub-domains to exist
in parallel with the domains they are defined in. Thus:
+--------------------------------------------+
| |
| |
| 33333333 |
| A 3333C333C B |
| 33333333 |
| 1111111444433333 2222222222 |
| 1111111444433333 2222222222 |
| O 111P1114Q44R3S33T U 2222V22222WX |
| 1111111444433333 2222222222 |
| 11111111111 2222222222 |
| 11111111111 2222222222 |
| |
+--------------------------------------------+
Where the outer box is the global domain, '1' is domain #1, '2' is
domain #2, '3' is domain #3, and '4' is where domains '1' and '3'
overlap.
The player at A could walk to B without ever passing C. Similarly for
B in reverse. However B could walk in the same direction as A, and
would suddenly meet and join A on his way to B at C.
Given: O is in the global domain, P in in #1, Q is in #1, R is in #3,
T is in the global domain, and U is in #2.
O can see only T U W and X clearly.
If O walks east to X he will pass T U and W. If P starts walking west
at the right moment he'll pass Q and join O at R. S would join O at
T. P would not see S until they met at T. etc.
--
J C Lawrence Internet: claw at null.net
(Contractor) Internet: coder at ibm.net
---------------(*) Internet: clawrenc at cup.hp.com
...Honorary Member Clan McFUD -- Teamer's Avenging Monolith...
More information about the mud-dev-archive
mailing list