1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Analysis and specification -->
<!--X-From-R13: Eunja Vnycraal <znynpunvNvanzr.pbz> -->
<!--X-Date: Mon, 15 Jun 1998 12:14:08 &#45;0700 -->
<!--X-Message-Id: 19980615151011.B4154#sun104,humb.nt.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: E0ykZwG&#45;0006OW&#45;00#post,mail.demon.net -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Analysis and specification</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>
[&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="msg01049.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01051.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01193.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01066.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01050">Author</A>
&nbsp;|&nbsp;<A HREF="#01050">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01050">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Analysis and specification</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: Analysis and specification</LI>
<LI><em>From</em>: Shawn Halpenny &lt;<A HREF="mailto:malachai#iname,com">malachai#iname,com</A>&gt;</LI>
<LI><em>Date</em>: Mon, 15 Jun 1998 15:10:12 -0400</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>
On Fri, Jun 12, 1998 at 08:57:44PM +0100, Greg Munt wrote:
&gt; I decided to give up waiting for someone to add some more to this thread
&gt; before I responded. I note with interest (and dismay) that the number of
&gt; posts in this thread are scarce.

That's because I am (and have been for the past 2.5 years) busy working on my
design dox...

&gt; Is the topic just not interesting enough, do you not feel knowledgable
&gt; enough to comment, or do you not think analysis has any part to play in a
&gt; one-person development team? (If the last one is true, you're very, very
&gt; wrong.*)

Very interesting and I am a solo-developer.  My two cents:

Initially, I'd started with a ROM knock-off and got progressively more
unhappy with how hampered I was by the design.  At that point my append-only
files of ideas began and I decided to completely write from scratch.
When the files became unwieldy/unmanageable/crufty I decided to do it right
and draft a "formal" design specification.  Currently, I've got it broken into
two major parts:  design for the kernel and design for the world itself.

The kernel D-doc details the main components:  DB, event handling, internal
scripting language, networking, internal object representation, parser.
It:
    - gives a clear indication of what the entire system is supposed to do
    - lists any currently foreseen restrictions and limitations
    - defines what the function of each subsystem is
    - details how the object security model works
    - lists and defines subsystem interactions
    - describes public interfaces
    - gives algorithms for portions of each component 
    - etc.

The world D-doc details how the game universe works:
- base object templates (designing these is akin to very low level building)
    - containers, buildings/rooms
    - affects
    - wounds
    - the default "intelligent" NPC behaviors
    - etc.
- object interaction
    - coordinate spaces
    - movement
    - how the economy works
    - weather
    - communication
    - combat and object damage systems
    - skill system
    - etc.

ATM, the kernel doc is incomplete.  A sizeable portion of the idea files
will end up in the world doc, but I'm holding off on that until the
kernel doc is complete.  Once the kernel doc is complete, I'll implement
the spec and work on the world doc.  When the world doc is done, I'll create
the base universe.  It's possible to work on parts of the world doc even
if the kernel doc is unfinished.

Some things that help the design process:
- Track all design elements that have been rejected along with the list
  of reasons why each was unacceptable (no point designing in circles).
- Maintain a section devoted solely to open questions:  things that
  haven't been resolved yet but for which a solution is required for
  some element of the current design.  Revisit this often.  
- Having the Design Patterns book
- Be prepared to scrap a design when it becomes unworkable.  I had put
  quite a bit of work into a combination coordinate/room-based
  geography, but it got cumbersome and kludgy for doing what I thought
  should be fairly simple things (like notifying objects about area
  affects) and I decided to drop it in favor of a completely coordinate-
  based system.

Let's add to this list.

-- 
Shawn Halpenny

I know that you believe you understand what you think I said, but,
I am not sure you realize that what you heard is not what I meant.  


</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="01066" HREF="msg01066.html">[MUD-Dev] Re: Analysis and specification</A></strong>
<ul compact><li><em>From:</em> Ben Greear &lt;greear#cyberhighway,net&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="01005" HREF="msg01005.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></STRONG>
<UL><LI><EM>From:</EM> "Greg Munt" &lt;greg#uni-corn,demon.co.uk&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01049.html">[MUD-Dev] (fwd) Temporality and user actions in MUDs</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01051.html">[MUD-Dev] User Input Parser, was Re: darkness/visibility</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01193.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01066.html">[MUD-Dev] Re: Analysis and specification</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01050"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01050"><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: Analysis and specification - the dirty words o</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="01222" HREF="msg01222.html">[MUD-Dev] Re: Analysis and specification - the dirty words o</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 26 Jun 1998, 21:30 GMT
</LI>
</ul>
<LI><strong><A NAME="01183" HREF="msg01183.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 23 Jun 1998, 23:55 GMT
<UL>
<LI><strong><A NAME="01184" HREF="msg01184.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Wed 24 Jun 1998, 00:26 GMT
<UL>
<LI><strong><A NAME="01193" HREF="msg01193.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 24 Jun 1998, 18:38 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
<LI><strong><A NAME="01050" HREF="msg01050.html">[MUD-Dev] Re: Analysis and specification</A></strong>, 
Shawn Halpenny <a href="mailto:malachai#iname,com">malachai#iname,com</a>, Mon 15 Jun 1998, 19:14 GMT
<UL>
<LI><strong><A NAME="01066" HREF="msg01066.html">[MUD-Dev] Re: Analysis and specification</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Tue 16 Jun 1998, 05:48 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01170" HREF="msg01170.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 22 Jun 1998, 23:46 GMT
</LI>
</ul>
<LI><strong><A NAME="01017" HREF="msg01017.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 13 Jun 1998, 07:11 GMT
</LI>
<LI><strong><A NAME="01150" HREF="msg01150.html">[MUD-Dev] Re: Analysis and specification - the dirty words of mud development?</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 20 Jun 1998, 01: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>