1999Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: MUD Design doc (long) -->
<!--X-From-R13: Quevf Uenl <ptNnzv&#45;pt.UenlEntr.Sqzbagba.OP.QO> -->
<!--X-Date: Sun, 3 Jan 1999 09:12:51 &#45;0800 -->
<!--X-Message-Id: 199901031713.KAA00873@ami&#45;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>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00024.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00026.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00065.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00029.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00025">Author</A>
&nbsp;|&nbsp;<A HREF="#00025">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00025">Thread</A>
&nbsp;]

<!--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 &lt;<A HREF="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</A>&gt;</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:]

 &gt;The most reasonable thing is probably to have some kind of 'default
 &gt;function' (be it via inheritance or some other construction) that handles
 &gt;everything but the 'unusual case,' where the builder overloads this
 &gt;'default function' with his scripting code. This should probably be done
 &gt;regardless of whether you implement all your commands in the scripting
 &gt;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 &lt;emil#prophecy,lu&gt;</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>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>