<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Room-based vs. coordinate-based --> <!--X-From-R13: Eunja Vnycraal <znynpunvNvanzr.pbz> --> <!--X-Date: from stimpy.globecomm.net [207.51.48.4] by in4.ibm.net id 865352591.36988-1 Tue Jun 3 15:43:11 1997 CUT --> <!--X-Message-Id: 33943B87.41C67EA6#iname,com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199704250127.SAA25913#xsvr3,cup.hp.com --> <!--X-Reference: 3399f534.728119540@neptune --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Room-based vs. coordinate-based</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:malachai#iname,com"> </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="msg01098.html">Previous</a> | <a href="msg01100.html">Next</a> ] Thread: [ <a href="msg01096.html">Previous</a> | <a href="msg01153.html">Next</a> ] Index: [ <A HREF="author.html#01099">Author</A> | <A HREF="#01099">Date</A> | <A HREF="thread.html#01099">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Room-based vs. coordinate-based</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: [MUD-Dev] Room-based vs. coordinate-based</LI> <LI><em>From</em>: Shawn Halpenny <<A HREF="mailto:malachai#iname,com">malachai#iname,com</A>></LI> <LI><em>Date</em>: Tue, 03 Jun 1997 11:43:03 -0400</LI> <LI><em>Sender</em>: <A HREF="mailto:rsh#iname,com">rsh#iname,com</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> Alex Oren wrote: > > Hello. > > I have some questions regarding a room-based vs. a coordinate-based > MUD issues. > > (*) Ease of coding and efficiency. > > Room-based seems much more efficient and easier to code. > > Coordinate-based will require proximity calculations on almost any > activity or command (in room-based I can just assume that objects > inside a "room" container are close to each other). Motion, > visibility, etc. becomes more complex. I admit to copping out here, since I'm adopting a scheme where I have a room-based system mapped onto a coordinate-based system. This gives me an obscene number of possible "rooms", though most of them will, of course, be empty. The remainder (those that make up the really interesting parts of the world) are actually created by someone. The upshot is that a room exists at a single 3-space coordinate (there's the cop out :-) ), which rather consistently violates a number of geometrical sensibilities. However, it does obviate the implicit requirement (a requirement in my mind, anyway) that I have to do what would amount to elementary ray-tracing for simple things like showing a character what's in the room she's standing in. It's not as slick as a completely coordinate-based approach, but it means less headaches, particularly where object visibility is concerned. It is much easier to just let objects exist in a room and not worry about precisely where they are. Arguably, it could be said that this is a coordinate system only, since there is no reason the descriptions at each 3-space location must represent an entire room instead of just a portion... > (*) Combat. > > Coordinate-based makes ranged attacks, closing-in, retreats, etc. > simpler to implement (any ideas how to handle this in a room-based > system?). With the above implementation, things like this are possible, though only relative to rooms (or portions of rooms), not individual objects. The granularity of the coordinates and the objects sitting on them is such that precise control is not possible: there's no meaning to taking a step back from Bubba as he swings at you, since where does that step take you? It can't always take you to another coordinate (since that means taking you to another room, or portion thereof--the granularity of which depends on how the set of rooms in that region was built). If you're in a room, you are at the same location as everything else in that room. This does not preclude ranged combat, but does preclude precise control over close-quarters combat. > (*) Area effects. > > How will I handle "Boffo arrives from the north" type of messages? > > Room-based (or, rather, "container-based") has an advantage here. A > container may send messages to the objects it contains. In a > coordinate-based system I will need to consult a "map" of object > locations to determine message recipients. Or am I wrong? Well, I have a mapping of locations to objects as well as each objects existing in a container (i.e. the room it's in). To make Boffo arrive from the north, I (roughly): - set Boffo's coordinates to the new location - check the location->object mapping to see if there is a real room at that location - if so, add Boffo to that container and generate a message for its contents - if not (the room is deterministically generated, so there is no room container), from the mapping grab all objects at Boffo's new location and tell them of Boffo's arrival. > (*) Movement. > > What will be the difference between "north" and "run north" in a > room-based and a coordinate-based systems? > > Coordinate-based systems also seem to imply finer movement granularity > (closing-in for combat vs. walking towards the mountain) and therefore, > additional user commands may be needed to realize this. I only have finer movement granularity if the room descriptions show it as such. I'm not sure yet if it will be meaningful to type "run north"...how fast does that make one move? If you're in the middle of a large desert with no real rooms for hundreds of thousands of units in any direction, it's easy to run--just pick a rate of movement and let loose. However, if you're in the middle of a town and you're running along a street, how fast you traverse that street (and what you see while doing so) depends a lot on the room descriptions. I think there's a scaling issue here, since the scale is not necessarily the same for me in all locations (more of that geometric sensibility violation). Running through real rooms is much different from running through virtual rooms. I'm not sure how I'll settle this one--there may be no "run" verb at all. If it sounds like I'm not content with this model, it's not true. So far it works for what I want to do. -- Shawn Halpenny "You only need two things in life: WD-40 to make things go and duct tape to make them stop." - Unknown </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="01262" HREF="msg01262.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong> <ul compact><li><em>From:</em> alexo#bigfoot,com (Alex Oren)</li></ul> <li><strong><A NAME="01153" HREF="msg01153.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong> <ul compact><li><em>From:</em> clawrenc#cup,hp.com</li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00214" HREF="msg00214.html">Re: [MUD-Dev] Re: Issues from the digests and Wout's list</A></STRONG> <UL><LI><EM>From:</EM> clawrenc#cup,hp.com</LI></UL></LI> <LI><STRONG><A NAME="01059" HREF="msg01059.html">Room-based vs. coordinate-based</A></STRONG> <UL><LI><EM>From:</EM> alexo#bigfoot,com (Alex Oren)</LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg01098.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg01100.html">Re: [MUD-Dev] Life</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg01096.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg01153.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#01099"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#01099"><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: [MUD-Dev] Re: Issues from the digests and Wout's list</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00281" HREF="msg00281.html">Re: [MUD-Dev] Re: Issues from the digests and Wout's list</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Tue 29 Apr 1997, 21:10 GMT <UL> <LI><strong><A NAME="00295" HREF="msg00295.html">Re: [MUD-Dev] Re: Issues from the digests and Wout's list</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 30 Apr 1997, 02:53 GMT </LI> </UL> </LI> </ul> </ul> <LI><strong><A NAME="01059" HREF="msg01059.html">Room-based vs. coordinate-based</A></strong>, Alex Oren <a href="mailto:alexo#bigfoot,com">alexo#bigfoot,com</a>, Tue 03 Jun 1997, 01:02 GMT <UL> <LI><strong><A NAME="01096" HREF="msg01096.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong>, Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Tue 03 Jun 1997, 19:31 GMT </LI> <LI><strong><A NAME="01099" HREF="msg01099.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Tue 03 Jun 1997, 22:43 GMT <UL> <LI><strong><A NAME="01153" HREF="msg01153.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 05 Jun 1997, 00:52 GMT <UL> <LI><strong><A NAME="01200" HREF="msg01200.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 05 Jun 1997, 23:44 GMT <LI><strong><A NAME="01237" HREF="msg01237.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 08 Jan 1970, 05:01 GMT <LI><strong><A NAME="01266" HREF="msg01266.html">Re: [MUD-Dev] Room-based vs. coordinate-based</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Tue 10 Jun 1997, 03:03 GMT </LI> </LI> </LI> </UL> </LI> </UL> </LI> </UL> </LI> </ul> </ul> </ul> </ul> </ul> </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>