<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Re: generic objects, behaviors --> <!--X-From-R13: pynjerapNphc.uc.pbz --> <!--X-Date: from major.globecomm.net [207.51.48.5] by mx01.ca.us.ibm.net id 863628738.54492-1 Wed May 14 16:52:18 1997 --> <!--X-Message-Id: 199705141650.JAA23396#xsvr3,cup.hp.com --> <!--X-Content-Type: text/plain --> <!--X-Reference: 199705112319.SAA13451@dfw-ix1.ix.netcom.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Re: generic objects, behaviors</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:clawrenc#cup,hp.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="msg00468.html">Previous</a> | <a href="msg00470.html">Next</a> ] Thread: [ <a href="msg00383.html">Previous</a> | <a href="msg00389.html">Next</a> ] Index: [ <A HREF="author.html#00469">Author</A> | <A HREF="#00469">Date</A> | <A HREF="thread.html#00469">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Re: generic objects, behaviors</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] Re: generic objects, behaviors</LI> <LI><em>From</em>: <A HREF="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</A></LI> <LI><em>Date</em>: Tue, 13 May 97 09:24:44 -0700</LI> <LI><em>Reply-to</em>: <A HREF="mailto:claw#null,net">claw#null,net</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> In <<A HREF="msg00383.html">199705112319.SAA13451#dfw-ix1,ix.netcom.com</A>>, on 05/11/97 at 04:24 PM, "Jon A. Lambert" <jlsysinc#ix,netcom.com> said: >> From: Andy Davidoff <dert#pobox,com> >> >> :I really want to to make objects generic. I want some player to be >> :able to take some clothes, a couple branches and a broomstick, make a >> :scarecrow, cast a spell on it to animate it, and Voila! Have a >> :mobile. I want a player to be able to take a couple pebbles, put them >> :in a small box, seal the box, and instantly have a rattle. It this >> :interpretive behaviour of objects that I think is the *real* key. >> >I would call these types of objects Assemblies, some might call it >aggregation. A key question for implementation would be whether you >allow the player complete creative license here? Or attempt to >force a thematic consistency? > >For instance might I chose to build the "scarecrow golem" above by >assembling a red rubber ball, a wooden pencil and animate spell and >label or otherwise describe the final product as a "scarecrow golem"? >Might I also use the exact same components to produce the rattle? >Would other players be able to create the exact same assemblies >through the use of completely different components? Using the aggregate model, a possible solution is to have a "virtual" golem type which defines a list of needed component body parts. The user then assembles a potential golem body out of parts and points the virtual golem object at it. The virtual golem object then attemots to satisfy its internal list (and relative placements) of body parts (the ball for the head, the pencil for the body, etc), and if successful in populating its entire body part tree, gestalts into a real golem instance. Neat. I like this idea. If you wish to enforce some sort of thematic consistancy you could have the virtual golem object restrict the list of objects that can be used for various body parts (yes, a pumkin will make a head, but a pigs bladder won't, nor will a mushroom). >I don't tend to like this approach so let me propose something a >little different. I prefer a top down approach where the assembled >object is designed first much like any other normal object. Any >object may or may not have an abstract object called an assembly >object associated with it. There are two types of assemblies, those >whose parts form a whole object which can be disassembled into >component pieces and those which cannot be disassembled into >component pieces because a transformation has occurred to the >components to form the assembled object (ala chemical reaction, >etc.). Nod. >The "scarecrow golem" object's associated assembly object would >contain two lists of assembled/disassembled components, two lists of >assembled/disassembled skills/spells and various attributes relating >to stability and transformation costs. This object has two primary >methods assemble and disassemble. Assemble checks to see if all the >requisites are met and handles creation of the new object and >destruction of the components. Disassemble handles the opposite >changes. Yeppirs. I have a feeling this could also be a generic solution model for anonymous groups (there are fifty balloons here, there a group of orcs, etc). Just have various virtual aggregate objects which attempt to be applied to the current environment... Essentially it means reversing the question from, "I have a bunch of objects, do they make a group?" to "I have a bunch of possible group types, which one applies to the current situation?". Of course it also means a lot of optimising as you can't have every group considered for every view. -- J C Lawrence Internet: claw#null,net (Contractor) Internet: coder#ibm,net ---------------(*) Internet: clawrenc#cup,hp.com ...Honorary Member 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--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00383" HREF="msg00383.html">[MUD-Dev] Re: generic objects, behaviors</A></STRONG> <UL><LI><EM>From:</EM> "Jon A. Lambert" <jlsysinc#ix,netcom.com></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00468.html">Re: [MUD-Dev] Introduction</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00470.html">Re: [MUD-Dev] Re: Role-playing [was Re: several messages]</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00383.html">[MUD-Dev] Re: generic objects, behaviors</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00389.html">Re: [MUD-Dev] Re: generic objects, behaviors</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00469"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00469"><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: generic objects, behaviors</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <LI><strong><A NAME="00433" HREF="msg00433.html">Re: [MUD-Dev] Re: generic objects, behaviors</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 14 May 1997, 01:01 GMT </LI> </ul> <LI><strong><A NAME="00375" HREF="msg00375.html">Re: [MUD-Dev] Re: generic objects, behaviors</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 12 May 1997, 02:13 GMT </LI> <LI><strong><A NAME="00378" HREF="msg00378.html">Re: [MUD-Dev] Re: generic objects, behaviors</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Mon 12 May 1997, 03:18 GMT </LI> <LI><strong><A NAME="00383" HREF="msg00383.html">[MUD-Dev] Re: generic objects, behaviors</A></strong>, Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 12 May 1997, 06:11 GMT <UL> <LI><strong><A NAME="00469" HREF="msg00469.html">Re: [MUD-Dev] Re: generic objects, behaviors</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Wed 14 May 1997, 23:52 GMT </LI> </UL> </LI> <LI><strong><A NAME="00389" HREF="msg00389.html">Re: [MUD-Dev] Re: generic objects, behaviors</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 12 May 1997, 13:04 GMT </LI> <LI><strong><A NAME="00450" HREF="msg00450.html">Re: [MUD-Dev] Re: generic objects, behaviors</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Wed 14 May 1997, 09:58 GMT </LI> </ul> </LI> <LI><strong><A NAME="00353" HREF="msg00353.html">Game easter eggs</A></strong>, clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 10 May 1997, 03:59 GMT <LI><strong><A NAME="00344" HREF="msg00344.html">Re: [MUD-Dev] Re: Client<->mud compression protocol</A></strong>, Jeff Kesselman <a href="mailto:jeffk#tenetwork,com">jeffk#tenetwork,com</a>, Sat 10 May 1997, 00:11 GMT </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>