<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: MUD Design doc (long) --> <!--X-From-R13: Quevf Uenl <ptNnzv-pt.UenlEntr.Sqzbagba.OP.QO> --> <!--X-Date: Sun, 3 Jan 1999 09:12:51 -0800 --> <!--X-Message-Id: 199901031713.KAA00873@ami-cg.GraySage.Edmonton.AB.CA --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: MUD Design doc (long)</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA"> </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="msg00024.html">Previous</a> | <a href="msg00026.html">Next</a> ] Thread: [ <a href="msg00065.html">Previous</a> | <a href="msg00029.html">Next</a> ] Index: [ <A HREF="author.html#00025">Author</A> | <A HREF="#00025">Date</A> | <A HREF="thread.html#00025">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: MUD Design doc (long)</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>: [MUD-Dev] Re: MUD Design doc (long)</LI> <LI><em>From</em>: Chris Gray <<A HREF="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</A>></LI> <LI><em>Date</em>: Sun, 3 Jan 1999 10:13:11 -0700</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#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> [Emil Eifrem:] >The most reasonable thing is probably to have some kind of 'default >function' (be it via inheritance or some other construction) that handles >everything but the 'unusual case,' where the builder overloads this >'default function' with his scripting code. This should probably be done >regardless of whether you implement all your commands in the scripting >language or in your static server. If your system allows dynamic procs and the controlled calling of them, there are further twists that you can do to make things easier and more consistent. Have your 'default function' always run, and perform all of the checks that need to be done before anything specific to the object in question needs to be tested. At that point, check for the existence of a special processing function for this verb on that object, and call it if found. Otherwise do the normal default processing. In either case, you may or may not want to do common 'after-special-case' processing, depending on the result of that special case. In fact, all the real work may be done there, and 'normal default processing' consists of nothing at all. With this sort of scheme (or whatever variant a given system allows for), the standard checking and work is done in precisely one place, and special handling consists only of the part that differs from the standard stuff. Of course it gets a bit more complicated than the above - some special stuff might be only pre-action checks. Some might be alternatives for the core of the action. Some might be post-action additions. There can be special checks/actions attached to the character, the object and the current location. It gets messy, but is doable, and once done properly, special objects, etc. can be setup fairly easily, and you still have reasonable confidence that changes to the main processing will affect everything that they should. -- Don't design inefficiency in - it'll happen in the implementation. - me Chris Gray cg#ami-cg,GraySage.Edmonton.AB.CA </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="00029" HREF="msg00029.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong> <ul compact><li><em>From:</em> Emil Eifrem <emil#prophecy,lu></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00024.html">[MUD-Dev] Info about different skill systems</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00026.html">[MUD-Dev] Re: Info about different skill systems</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00065.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00029.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00025"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00025"><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>[MUD-Dev] Re: MUD Design doc (long)</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00020" HREF="msg00020.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Travis Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Sat 02 Jan 1999, 19:49 GMT <UL> <LI><strong><A NAME="00022" HREF="msg00022.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Emil Eifrem <a href="mailto:emil#prophecy,lu">emil#prophecy,lu</a>, Sat 02 Jan 1999, 21:16 GMT <UL> <LI><strong><A NAME="00035" HREF="msg00035.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Travis S. Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Mon 04 Jan 1999, 18:57 GMT </LI> <LI><strong><A NAME="00065" HREF="msg00065.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Wed 06 Jan 1999, 20:54 GMT </LI> </UL> </LI> </UL> </LI> </ul> </ul> </ul> <LI><strong><A NAME="00025" HREF="msg00025.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sun 03 Jan 1999, 17:12 GMT <UL> <LI><strong><A NAME="00029" HREF="msg00029.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Emil Eifrem <a href="mailto:emil#prophecy,lu">emil#prophecy,lu</a>, Mon 04 Jan 1999, 01:45 GMT <UL> <LI><strong><A NAME="00092" HREF="msg00092.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Mik Clarke <a href="mailto:mikclrk#ibm,net">mikclrk#ibm,net</a>, Fri 08 Jan 1999, 20:16 GMT </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00030" HREF="msg00030.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 04 Jan 1999, 04:09 GMT </LI> <LI><strong><A NAME="00037" HREF="msg00037.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Mon 04 Jan 1999, 19:59 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>