1999Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: MUD Design doc (long) -->
<!--X-From-R13: Szvy Svserz <rzvyNcebcurpl.yh> -->
<!--X-Date: Sat, 2 Jan 1999 13:16:33 &#45;0800 -->
<!--X-Message-Id: Version.32.19990102213216.00f3cc20#sendar,prophecy.lu -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: Version.32.19990102114103.00f34d60#sendar,prophecy.lu -->
<!--X-Reference: 18616.990102#io,com -->
<!--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:emil#prophecy,lu">
</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="msg00021.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00023.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00020.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00035.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00022">Author</A>
&nbsp;|&nbsp;<A HREF="#00022">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00022">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>: Emil Eifrem &lt;<A HREF="mailto:emil#prophecy,lu">emil#prophecy,lu</A>&gt;</LI>
<LI><em>Date</em>: Sat, 02 Jan 1999 22:14:29 +0100</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>
At 08:48 PM 1/2/99 , Travis Casey wrote:
&gt;[Emil Eifrem:]
&gt;&gt; That's true. Unfortunately, my server is not that far to the soft side of
&gt;&gt; things that the above would be possible. Our scripting lang is designed
&gt;&gt; specifically for world manipulation and would be quite unsuitable for
&gt;&gt; commands programming.
&gt;
&gt;Without seeing your scripting language, I can't say for sure, but it
&gt;seems to me that a world-manipulation language should be suitable for
&gt;implementing at least some commands:  those that make the body affect
&gt;the world.  Thus, things like give, take, wield, wear, etc. ought to
&gt;be implementable in it.

Our world scripting language is designed specifically for non-geeks. We
don't discourage geeks from building, but we're actively looking for
creative arts people and the like and they tend to be afraid of stuff like
'if player.mana &gt; 0 &amp;&amp; player.hp &gt; 0 then player.print("blah") fi'. So in
general, our scripting syntax largely avoids symbols in favor for words.

For example

player.hp = 3;
player.out.print("blah");

would be written

set the hp of player to 3   ! or: set player's hp to 3
print "blah" to player's output

So, aye, this could be used to implement most world manipulating commands
and some skills. But why? For clarity, I feel it's either one or the other.

&gt; - Easier quality control.  I already mentioned this with regards to
&gt;   the possibility of builders adding synonyms for verbs that already
&gt;   exist, but there are a lot of other ways that centralized verbs
&gt;   make it easier.  Take a "read" verb for example:  to really work
&gt;   right, a "read" verb ought to check whether there's enough light to
&gt;   read, whether the character understands the language (if your mud
&gt;   has languages), if there's any spell on the character or thing
&gt;   being read which might prevent it (e.g., AD&amp;D's confuse languages
&gt;   spell, or a blindness spell).  With a centralized verb, all this
&gt;   only has to be coded once.  If each builder has to manually add a
&gt;   "read" action to each object that can be read, you can be sure that
&gt;   many of them won't think of some of these things.

Hmmm, what do yuo mean? Surely, you're not saying that you have every
single command coded for every object type you have out there? The code
duplication would be enormous and like you say, maintainability and quality
control non-existant. 

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.

&gt;   (A side note:  on SWmud (an LP which used the add_action() system),
&gt;   we often ran across situations where there was a neat idea that
&gt;   would have made things better, but it would have required changing
&gt;   hundreds of objects throughout the game.  Naturally enough, none of
&gt;   those were ever implemented, because we simply didn't have the time
&gt;   to redo all those things.)

Aye, I've had such cases as well. Perl has proven to be a trustworthy
friend in most situations.


Out of curiousity, what does SW stand for? Star Wars?

&gt;
&gt; - It can help prevent "guess the verb" situations.  I know -- some
&gt;   people like those.  Personally, though, I hate them.  Why?  Because
&gt;   if I were actually my character, I'd just *do* whatever it is, and
&gt;   it wouldn't matter what I *called* doing it.  Thus, to me, it
&gt;   discourages roleplaying by bringing the divide between the player
&gt;   and the character to the fore.

Yes. Guess-the-verb is a Bad Thing (tm) by my book.

-EE [emil#prophecy,lu]



</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="00065" HREF="msg00065.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>
<ul compact><li><em>From:</em> Marian Griffith &lt;gryphon#iaehv,nl&gt;</li></ul>
<li><strong><A NAME="00035" HREF="msg00035.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>
<ul compact><li><em>From:</em> "Travis S. Casey" &lt;efindel#io,com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00018" HREF="msg00018.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
<UL><LI><EM>From:</EM> Emil Eifrem &lt;emil#prophecy,lu&gt;</LI></UL></LI>
<LI><STRONG><A NAME="00020" HREF="msg00020.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
<UL><LI><EM>From:</EM> Travis Casey &lt;efindel#io,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00021.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00023.html">[MUD-Dev] New features for ScryMUD (Player-run Shops)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00020.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00035.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00022"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00022"><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>
<LI><strong><A NAME="00004" HREF="msg00004.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, 02:21 GMT
<UL>
<LI><strong><A NAME="00006" HREF="msg00006.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, 05:08 GMT
<UL>
<LI><strong><A NAME="00018" HREF="msg00018.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, 11:26 GMT
<UL>
<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>
</LI>
</UL>
</LI>
</UL>
</LI>
<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
</LI>
</UL>
</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>