<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Object and class heirarchies -- are they really necessary? --> <!--X-From-R13: Yriva Zvggyrwbua <qnevhfNpbaarpg.pbz.nh> --> <!--X-Date: Tue, 21 Mar 2000 16:25:10 -0800 --> <!--X-Message-Id: 20000322001650.9BCC141818#koro,off.connect.com.au --> <!--X-Content-Type: text/plain --> <!--X-Reference: E12XYWb-0000hk-00#under,eng.cp.net --> <!--X-Reference: E12XVws-0001DB-00#under,eng.cp.net --> <!--X-Reference: 14551.65272.614292.445363#alyx,skotos.net --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Object and class heirarchies -- are they really </title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:darius#connect,com.au"> </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="msg00680.html">Previous</a> | <a href="msg00682.html">Next</a> ] Thread: [ <a href="msg00706.html">Previous</a> | <a href="msg00683.html">Next</a> ] Index: [ <A HREF="author.html#00681">Author</A> | <A HREF="#00681">Date</A> | <A HREF="thread.html#00681">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: Re: [MUD-Dev] Object and class heirarchies -- are they really necessary? </LI> <LI><em>From</em>: Kevin Littlejohn <<A HREF="mailto:darius#connect,com.au">darius#connect,com.au</A>></LI> <LI><em>Date</em>: Wed, 22 Mar 2000 11:16:50 +1100</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> >>> J C Lawrence wrote > On Tue, 21 Mar 2000 15:00:08 -0800 (PST) > Par Winzell <zell#alyx,com> wrote: > > My favourite benefit of this approach is the same one that > > e.g. Diku has over most LPMuds... that you nail down in the > > implementation of the single physical class the entireity of the > > feature set... and as a consequence, all physical objects are > > guaranteed to respond sanely to a known set of actions. > > Good point. To parrot George Reese, there are also good effects in > the handling of command grammars. It really kills "Guess the verb," > in most of its variations, encluding my favourite, "What will XXX do > here?" In Moebius, we're facing these issues right now - I'm tinkering with various different ways to handle the inheritance structure (having the data actually stored in SQL but presented in objects throws a curve in there too... Efficient SQL is painful to create if you have to maintain the illusion of OO). At the moment, we're single-inheritanced - one base object from which everything springs, and it breaks really quickly into an object for players, an object for locations, etc. Not real good. When we manage to get multiple inheritance working (shudder), I've been toying with the structures we'll end up with. At the moment, I'm thinking along the lines of a bunch of smaller objects, which most things in the world inherit from, which define clumps of attributes. Example most easy to deal with is that of materials - define a bunch of objects that provide the attributes that make up metal, wood, stone, as three different objects, then just inherit whichever one you want - and presto: you gain all the attributes of that material. Same goes for a lot of other stuff - some things (like basic universal attributes) would exist in objects that everything inherits from, others would be kind of pick and choose to get the effect you want. There's a neat advantage here, which I'm determined to implement - a "stone to flesh" spell becomes simply something that changes the inheritance - and can be cast on _anything_, without the object creator having to think about it. That provides for a level of mud-world consistency I think would be a real win, and allow players to seriously invent their own strategies for dealing with the world. Also makes for some neat ways to get past locked doors, or annoy that axe-wielding maniac chasing you ;) Commands (as per George Reese's article on Imaginary Realities) would be global, and would simply look for the attributes they need to be supported on the objects they're applied to - try to sit on something, it'll look for a carrying capacity. Define a 'mount' object, and anything that inherits from that gains that capacity automagically. This still allows creators to be facist about what they do and don't allow to happen, but it also provides for the owners of a mud to make high-level decisions - want all chests to be sittable on, simply define a chest object, make it inherit from the mount object, and require builders to use that chest object as their base. Change your mind, change the base object only. > > So though in theory, with competent and _disciplined_ developers, > > the LPMud can be everything a Diku can and then some, in practice > > there's no question which code base I prefer to be a player > > in. Since Skotos uses DGD, an LP driver, we must attempt to > > conjure up this discipline largely through our world > > implementation (and developer interface). > > Beatings will continue until code constancy improves. > > > ...in my experience it is usually a mistake to depend, > > inheritance-wise, on something over which you do not have control. > > True. That was one of the sources of the design requirement for > Murkle that features must be programmable without requiring source > access to any other objects. I'm thinking as I read this thread that security is a two-phase problem - the technical (how do you determine which objects can do what to whom, addressed by things such as E and similar, in different ways), and social (who is actually _allowed_ to make these sorts of sweeping changes, and who gets clobbered when they screw up). I suspect trying to solve the one with the other is, as in the real world, a common mistake. KevinL (Rambling again) _______________________________________________ MUD-Dev mailing list MUD-Dev#kanga,nu <A HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A> </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="00680" HREF="msg00680.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG> <UL><LI><EM>From:</EM> J C Lawrence <claw#cp,net></LI></UL></LI> <LI><STRONG><A NAME="00675" HREF="msg00675.html">[MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG> <UL><LI><EM>From:</EM> J C Lawrence <claw#cp,net></LI></UL></LI> <LI><STRONG><A NAME="00679" HREF="msg00679.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG> <UL><LI><EM>From:</EM> Par Winzell <zell#alyx,com></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00680.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00682.html">RE: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00706.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00683.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00681"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00681"><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] Object and class heirarchies -- are they really necessary?</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <LI><strong><A NAME="00680" HREF="msg00680.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, J C Lawrence <a href="mailto:claw#cp,net">claw#cp,net</a>, Tue 21 Mar 2000, 23:57 GMT <UL> <LI><strong><A NAME="00688" HREF="msg00688.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, Phillip Lenhardt <a href="mailto:philen#funky,monkey.org">philen#funky,monkey.org</a>, Wed 22 Mar 2000, 06:36 GMT <UL> <LI><strong><A NAME="00695" HREF="msg00695.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, J C Lawrence <a href="mailto:claw#cp,net">claw#cp,net</a>, Wed 22 Mar 2000, 23:14 GMT <UL> <LI><strong><A NAME="00706" HREF="msg00706.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, Phillip Lenhardt <a href="mailto:philen#funky,monkey.org">philen#funky,monkey.org</a>, Thu 23 Mar 2000, 06:14 GMT </LI> </UL> </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00681" HREF="msg00681.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, Kevin Littlejohn <a href="mailto:darius#connect,com.au">darius#connect,com.au</a>, Wed 22 Mar 2000, 00:25 GMT </LI> </ul> <LI><strong><A NAME="00683" HREF="msg00683.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, Chris Jones <a href="mailto:cjones#v-wave,com">cjones#v-wave,com</a>, Wed 22 Mar 2000, 00:49 GMT </LI> <LI><strong><A NAME="00743" HREF="msg00743.html">Re: [MUD-Dev] Object and class heirarchies -- are they reallynecessary?</A></strong>, Lazarus <a href="mailto:lazarus#ourplace,org">lazarus#ourplace,org</a>, Mon 27 Mar 2000, 21:19 GMT <UL> <LI><strong><A NAME="00748" HREF="msg00748.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, Kevin Littlejohn <a href="mailto:darius#connect,com.au">darius#connect,com.au</a>, Tue 28 Mar 2000, 01:06 GMT <UL> <LI><strong><A NAME="00754" HREF="msg00754.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Tue 28 Mar 2000, 19:36 GMT </LI> </UL> </LI> </UL> </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>