<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: Just a bit of musing -->
<!--X-From-R13: pbqreNvoz.arg -->
<!--X-Date: from babe.globecomm.net [207.51.48.8] by mx3.ibm.net id 857328464.67544-1 Sun Mar 2 18:47:44 1997 -->
<!--X-Message-Id: 199703021852.SAA149513#out1,ibm.net -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199702271506.PAA145886#out1,ibm.net -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: Just a bit of musing</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:coder#ibm,net">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">
<font size="+4" color="#804040">
<strong><em>MUD-Dev<br>mailing list archive</em></strong>
</font>
<br>
[ <a href="../">Other Periods</a>
| <a href="../../">Other mailing lists</a>
| <a href="/search.php3">Search</a>
]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->
Date:
[ <a href="msg00036.html">Previous</a>
| <a href="msg00038.html">Next</a>
]
Thread:
[ <a href="msg00036.html">Previous</a>
| <a href="msg00038.html">Next</a>
]
Index:
[ <A HREF="author.html#00037">Author</A>
| <A HREF="#00037">Date</A>
| <A HREF="thread.html#00037">Thread</A>
]
<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: Just a bit of musing</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <<A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A>></LI>
<LI><em>Subject</em>: Re: Just a bit of musing</LI>
<LI><em>From</em>: <A HREF="mailto:coder#ibm,net">coder#ibm,net</A></LI>
<LI><em>Date</em>: Sun, 02 Mar 97 10:32:05 -0800</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On 27/02/97 at 08:17 AM, "Carter T Shock" <ctso#umiacs,umd.edu> said:
>I'll never understand why mud-folk have an overwhelming need to
>explicitly grid the world. That is, determine a minimum feature size (a
>room, a grid square, etc.) and then index one description for each cell
>in the grid.
Its simple and brain-cheap and thus attractive. The problem I think is
not in "gridding the world", but in defining the world as a 2D/3D array,
as versus a sparse coordinate space.
>It seems to me that
>what you really have is a small-scale GIS, so why not use the techniques
>found in other GIS implementations?
For me, a major concern with literally taking a GIS approach (I used to
write 3rd party CAD applications for the MIcrostation market, so I have
some feel for the area) is that it enforces geometric consistancy.
Realising I'm a rebel here, I think this is a Bad Thing. I specifically
want to be able to easily represent mobius strips, Dr Who TARDIS'es
(bigger inside than out), and other such spatial violations. To me they
make a bit part of the fun of designing/discovering the map of a world or
area.
What I've been playing with instead is a idea where there is a base
coodinate system, but where new (child/grandchild/etc) fully fledged
coodinate systems of equal or smaller resolution to the parent system can
be defined as occupying a given space withing its parent system.
Transition from that point to a pure classic room based system shouldn't
be TOO hard.
>The digital nature of things means that there has to be at least an
>implicit gridding to the system. All that means is that there is some
>finite number of locations that any object may occupy. So we'll give
>everything a pair of coordinates. To keep it easy we'll go 2-D and use a
>pair of 16 bit values for about 4 billion distinct locations. Since we
>don't want to explicitly code descriptions for each of the 4 billion
>locations, we'll use some spatial data structure (point quadtrees come to
>mind) to index objects, critters, and players. It's small, relatively
>compact and let's you do neato things like determine the distance to
>another object, find the closest object etc.
I'd be much more tempted to use an R*-tree. Most MUD calculations are
based on proximity, avilable reference, and similar. Additionally noes
tend to very unevely distributed over the spatial matrix (busy city /empty
desert). This makes a Quadtree comparitively expensive where large
sections would wastefully recurse down to define empty deserty, and others
would recurse very efficiently to define a highly detailed city. At least
an R*-Tree allows a little more intelligent balancing.
>Implement terrain features as thematic layers. Something simple like a
>region quadtree for each terrain type would do nicely. Again, they're
>small and efficient. ("one entry" in the region quadtree is the whole
>forest, rather than having to mark each individual location as
>forest/non-forest). No reason some terrain types can't overlap. Now when
>a person moves, you intersect their new location with the various themes.
>For each one that qualifies, you send a description. (i.e. if the
>player's location is coincident on a region in your forest theme, and the
>person is "outside", you add a line to any other descriptions sent that
>says "Yer in a forest". If they are "inside" skip the step.
>Interestingly, you can use this same kind of trick to let them look out a
>window)
Ignoring the logic problems of incompatable terrain types, apparently
inconsistant terrain (forests inside an aboreatum, lakes etc inside a
RAMA-style colony ship (or screw it, localised gravity distortions)) etc.
>The idea extends to 3 dimensions as well, but computational overhead goes
>_way_ up. But, if you host your mud on a bruiser machine, no reason not
>to.
Yeah. This is the one I want to minimise.
>Sorry for the long post,
Hehn. Nahh, its great. It helps keep the signal ration high.
--
J C Lawrence Internet: claw#null,net
----------(*) Internet: coder#ibm,net
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...
</PRE>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00036.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00038.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00036.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00038.html">Re: Just a bit of musing</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00037"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00037"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>
<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>Re: Just a bit of musing</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00031" HREF="msg00031.html">Re: Just a bit of musing</A></strong>,
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sun 02 Mar 1997, 02:19 GMT
</LI>
<LI><strong><A NAME="00032" HREF="msg00032.html">Re: Just a bit of musing</A></strong>,
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sun 02 Mar 1997, 02:19 GMT
</LI>
<LI><strong><A NAME="00035" HREF="msg00035.html">Re: Just a bit of musing</A></strong>,
GnomesHome <a href="mailto:GnomesHome#aol,com">GnomesHome#aol,com</a>, Mon 03 Mar 1997, 00:15 GMT
</LI>
<LI><strong><A NAME="00036" HREF="msg00036.html">Re: Just a bit of musing</A></strong>,
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Mon 03 Mar 1997, 02:35 GMT
</LI>
<LI><strong><A NAME="00037" HREF="msg00037.html">Re: Just a bit of musing</A></strong>,
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Mon 03 Mar 1997, 02:47 GMT
</LI>
<LI><strong><A NAME="00038" HREF="msg00038.html">Re: Just a bit of musing</A></strong>,
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Mon 03 Mar 1997, 03:05 GMT
</LI>
<LI><strong><A NAME="00039" HREF="msg00039.html">Re: Just a bit of musing</A></strong>,
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Mon 03 Mar 1997, 03:13 GMT
</LI>
<LI><strong><A NAME="00042" HREF="msg00042.html">Re: Just a bit of musing</A></strong>,
Dmitri Kondratiev <a href="mailto:dima#paragraph,com">dima#paragraph,com</a>, Mon 03 Mar 1997, 09:36 GMT
</LI>
<LI><strong><A NAME="00045" HREF="msg00045.html">Re: Just a bit of musing</A></strong>,
Carter T Shock <a href="mailto:ctso#umiacs,umd.edu">ctso#umiacs,umd.edu</a>, Mon 03 Mar 1997, 21:22 GMT
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>
</ul>
<hr>
<center>
[ <a href="../">Other Periods</a>
| <a href="../../">Other mailing lists</a>
| <a href="/search.php3">Search</a>
]
</center>
<hr>
</body>
</html>