<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Virtual rooms (was: RP thesis...) --> <!--X-From-R13: Eunja Vnycraal <znynpunvNvanzr.pbz> --> <!--X-Date: from stimpy.globecomm.net [207.51.48.4] by in12.ibm.net id 864915462.36300-1 Thu May 29 14:17:42 1997 CUT --> <!--X-Message-Id: 338D91FA.41C67EA6#iname,com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199705281722.KAA18989#xsvr3,cup.hp.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</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="msg00924.html">Previous</a> | <a href="msg00926.html">Next</a> ] Thread: [ <a href="msg00897.html">Previous</a> | <a href="msg00712.html">Next</a> ] Index: [ <A HREF="author.html#00925">Author</A> | <A HREF="#00925">Date</A> | <A HREF="thread.html#00925">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</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] Virtual rooms (was: RP thesis...)</LI> <LI><em>From</em>: Shawn Halpenny <<A HREF="mailto:malachai#iname,com">malachai#iname,com</A>></LI> <LI><em>Date</em>: Thu, 29 May 1997 10:26:02 -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> clawrenc#cup,hp.com wrote: > > In <<A HREF="msg00841.html">338B0796.41C67EA6#iname,com</A>>, on 05/27/97 > at 07:35 PM, Shawn Halpenny <malachai#iname,com> said: [ instantiation of objects in real and virtual rooms ] > >I assume you mean upon instantiation of the blaze in the > >virtual room, and if it were ever used in a built-room, things will > >still work as they should? > > Yup. > > The problem is that you'll have implicit objects in virtual rooms (ie > objects that are mentioned in the description, but which otherwise > don't exist) which need to be made explicit (ie actual objects). As > you mention this can be true as well for non-virtual rooms. Consider: > > > l > You are in a forest. > > l at trees > They are a mix of oak, beech and elm, with a few scattered yew > and hazelnut. > > l at yew > There's a yew tree right by you. > > blaze yew > You cut a blaze into the yew tree. > > I'm presuming that none of those trees actually existed until they > were blazed, at which point one tree of the appropriate type was > instantiated and a blaze applied to it. Yep. It's very unlikely that all the trees that make up the rain forest exist as objects until something is actually done with them. Perhaps in cases like this, the necessary generalization can be handled by the code that creates the distinguishing mark, since this code can be made aware of what implicit objects exist in the room (in a fashion similar to Diku-style extended keywords and descriptions, I suppose). For example, "blaze pine" wouldn't work, but "blaze yew" or "blaze elm" or the generic "blaze tree" would (and would "blaze tree" prompt for which tree? Probably not unless there were other blazed trees in the room.). [ representing a very large world efficiently ] > [clawrence:] > >> My attempted tack is that by building a flexible enough system will > >> allow the complexities to devolve into taking care of themselves. > >> While I currently have no idea how to handle the "path appears/grows > >> back" question, I am convinced that coming up with some sort of > >> generic structure to model it (the tough bit) and applying that in > >> turn to the entire DB structure will result in it being just an > >> implied automaticity in the way the MUD world works. > > >I agree. I plan to have as much stuff take care of itself as > >possible. As for the path appearing/growing-over, I wonder if we > >don't already have the solution, or at least the building blocks to > >do it. Since we've got events, we can schedule the regrowth and > >subsequently have those events fail if someone has traversed the path > >recently and post a new regrowth event again to do the same, or else > >they succeed and destroy all the objects associated with the path. > >This is done on a room-by-room basis, of course, so that the path > >will not all disappear at once. The path itself can be represented > >by an object (even an exit object, for that matter). > > Yeah, the basics are there -- I'm just lost on how to represent it to > the user without requiring an immense amount of work up front from the > builders. Its easy enough to code a process which increments over > time to a given state. The problem is doing: [ watching the grass grow and creating sensible, intelligent descriptions depending on each state ] > Orchestrating the chages is easy. Arranging for all the intelligently > readable text is laborious. Aye, and truthfully this isn't terribly high on my list of things to do. I'll settle for semi-intelligently readable text, where the object representing a portion of the path will recreate its description on each state. These descriptions will not be seamlessly worked into the existing room description (yes, it would be nice and I think that's sort of what you're getting at, but I'm happy enough to have them appear apart from the generic room desc): > l You are standing in a narrow clearing amidst tall grasses; very tall grasses actually, reaching to just over your shoulders. A narrow path of recently trampled grass cuts NE/SW across the clearing. > wait a while > l at path Small shoots of new green grass are poking their way up through the dead grass. > wait > l You are standing in a narrow clearing amidst tall grasses; very tall grasses actually, reaching to just over your shoulders. Looking NE/SW there seems to be a strangely straight line where the grass is only waist high. It's very similar to what you'd written, but the distinction is clearer between the room and what's "in" the room. I'd argue that the text remains intelligently readable, but it's not _seamlessly_ intelligently readable. I think this sort of thing is inherent to orchestrating the changes in the path? > >I've though about representing things like paths and rivers as > >collections of line segments and doing intersection tests whenever I > >might have something that hits one of them, but I've got the feeling > >it's more mucking than it's worth... > > Yeah, Tho I'd love to be able to damn a river and have it make a > reasonably shaped lake, followed by bursting the damn to have it do > the appropriate damage _and_ reform the river's path. Hm. I think creating a reasonably shaped lake is easy enough, since the surface of your lake will essentially be flat (I'm assuming that if your world is round, it's large enough that the curvature is not immediately apparent when looking at an expansive, flat surface). You could essentially do a 3D flood-fill starting at the dam and filling in the reverse direction of the river flow. Fill the lowest region of elevation and progress upwards until the desired volume is reached (or the dam breaks in which case you do the reverse). Requires some notion of volume of water and I think it'll get ugly as hell so I probably won't bother with it, but it's a nice idea. When reforming the path, perhaps something like a fractal-terrain generation but in 2D to generate a slightly modified path from the huge increase in water volume flowing along the old riverbed. -- Shawn Halpenny "People that are really very weird can get into sensitive positions and have a tremendous impact on history." - Dan Quayle </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00897" HREF="msg00897.html">Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</A></STRONG> <UL><LI><EM>From:</EM> clawrenc#cup,hp.com</LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00924.html">Re: [MUD-Dev] Rooms, 3D arrays, etc.</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00926.html">Re: [MUD-Dev] Probability (was: Alright... IF your gonan do DESIESE...)</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00897.html">Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00712.html">Re: [MUD-Dev] RP thesis...</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00925"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00925"><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] Virtual rooms (was: RP thesis...)</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00693" HREF="msg00693.html">Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Fri 23 May 1997, 00:22 GMT <LI><strong><A NAME="00723" HREF="msg00723.html">Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 24 May 1997, 06:24 GMT <LI><strong><A NAME="00841" HREF="msg00841.html">Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Tue 27 May 1997, 23:11 GMT <LI><strong><A NAME="00897" HREF="msg00897.html">Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Thu 29 May 1997, 00:24 GMT <LI><strong><A NAME="00925" HREF="msg00925.html">Re: [MUD-Dev] Virtual rooms (was: RP thesis...)</A></strong>, Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Thu 29 May 1997, 21:17 GMT </LI> </LI> </LI> </LI> </LI> <LI><strong><A NAME="00712" HREF="msg00712.html">Re: [MUD-Dev] RP thesis...</A></strong>, Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Fri 23 May 1997, 12:58 GMT </LI> </ul> <LI><strong><A NAME="00817" HREF="msg00817.html">[MUD-Dev] Re: RP thesis...</A></strong>, Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Tue 27 May 1997, 04:53 GMT <UL> <LI><strong><A NAME="00820" HREF="msg00820.html">Pidgin Language & Writing [was RP Thesis]</A></strong>, Matt Chatterley <a href="mailto:root#mpc,dyn.ml.org">root#mpc,dyn.ml.org</a>, Tue 27 May 1997, 05:28 GMT </LI> </UL> </LI> </ul> </ul> <LI><strong><A NAME="00558" HREF="msg00558.html">Re: [MUD-Dev] RP thesis...</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Sun 18 May 1997, 08:53 GMT </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>