1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: MUD Design doc (long) -->
<!--X-From-R13: Oqnz Ivttvaf <nqnzNnatry.pbz> -->
<!--X-Date: Fri, 18 Dec 1998 14:16:12 &#45;0800 -->
<!--X-Message-Id: Pine.SGI.3.96.981218114206.10739E&#45;100000#zazu,angel.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 03573367A8E9F07C*/c=US/admd=400net/prmd=ABNAMRO/o=notes/s=Willey/g=Michael/@MHS -->
<!--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:adam#angel,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="msg01000.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01002.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00999.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01030.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01001">Author</A>
&nbsp;|&nbsp;<A HREF="#01001">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01001">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>: Michael Willey &lt;<A HREF="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</A>&gt;</LI>
<LI><em>Subject</em>: [MUD-Dev] Re: MUD Design doc (long) </LI>
<LI><em>From</em>: Adam Wiggins &lt;<A HREF="mailto:adam#angel,com">adam#angel,com</A>&gt;</LI>
<LI><em>Date</em>: Fri, 18 Dec 1998 12:15:52 -0800 (PST)</LI>
<LI><em>cc</em>: mud-dev &lt;<A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>&gt;</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 18 Dec 1998, Michael Willey wrote:
&gt; On 12/17/98 2:36 PM, adam#angel,com wrote:
&gt; &gt;On Thu, 17 Dec 1998, Emil Eifrem wrote:
&gt; &gt;&gt; Surely you must have some way to delay a 
&gt; &gt;&gt;player's queing commands while they're busy 
&gt; &gt;&gt;doing something else. For example, say you 
&gt; &gt;&gt;have a spell that causes damage. According to 
&gt; &gt;&gt;the above, a fight between two people with 
&gt; &gt;&gt;this spell would basically be a fight between 
&gt; &gt;&gt;their clients and connections -- whomever gets 
&gt; &gt;&gt;through most "cast my damagespell" messages 
&gt; &gt;&gt;would win.
&gt; &gt;
&gt; &gt;No, not necessarily.  It's game balance.  A 
&gt; &gt;direct player delay is not always necessary in 
&gt; &gt;order to ensure that combat itself gets drawn 
&gt; &gt;out for more than 3 seconds.
&gt; &gt;
&gt; &gt;Consider:
&gt; &gt;
&gt; &gt;- Buffy the mage has a damage spell,
&gt; &gt;'fireball'.  It costs her 100 mana to cast the 
&gt; &gt;spell.
&gt; &gt;- Buffy has another, weaker damage spell, 
&gt; &gt;'chilling touch'.  It costs her 50 mana to cast 
&gt; &gt;the spell.
&gt; &gt;- Buffy has a really kickass damage spell, &gt;'nuke'.  It costs her 200 
&gt; mana to cast the 
&gt; &gt;spell.
&gt; &gt;
&gt; &gt;- Buffy has 120 total mana.
&gt; &gt;- Buffy's mana count can go negative, up to her 
&gt; &gt;total negated: -120.
&gt; &gt;- Buffy gets back (((N + n) / 8) + 1) mana per &gt;second, where N is her 
&gt; max (120) and n is her 
&gt; &gt;current mana level (which could be between -120
&gt; &gt;and 120).
&gt; &gt;
&gt; &gt;Buffy's current target, Boffo, can be killed by 
&gt; &gt;two nukes, four fireballs, or eight chilling 
&gt; &gt;touches.  What spell(s) should she cast at him &gt;to kill him as quickly as 
&gt; possible, and when?  &gt;Does tintin really help out here?  How long 
&gt; &gt;does combat last?
&gt; &gt;
&gt; &gt;Now throw in that Boffo has spells and mana of &gt;his own, including neat 
&gt; mana-twiddling spells 
&gt; &gt;such as limiting the targets regen or 
&gt; &gt;temporarily increasing your own.
&gt; &gt;
&gt; &gt;Now what's the wisest course?  Does #10 cast
&gt; &gt;'fireball' boffo seem to be the best way for 
&gt; &gt;Buffy to start combat?
&gt; 
&gt; A simple problem.  Assuming Buffy starts at a 
&gt; full charge, a simple script will kill off Boffo 
&gt; in eight seconds, with mana to spare.  Something 
&gt; along the lines of..
&gt; 
&gt;   Repeat 4 { chill touch boffo, wait 2 seconds }
&gt;   nuke boffo

Perhaps.  But one might note that now the game already has
more complex combat than 80% of existing muds.  I'd say that's
a pretty good start.  Now with a little imagination we can
extend this and come up with some slightly more amusing spells
rather than straight damage to shake things up a bit.

&gt; Poor Boffo has eight seconds to type in a few 
&gt; commands; He will likely be defending himself or 
&gt; running away rather than trying to slow Buffy's 
&gt; mana regeneration.

You're welcome to fool with the formula in order to change the rate
of regeneration.  The original point is that it is possible to
have no forced delay (or "lag") on the player characters in order to
make combat not a war of typing/link speed.  My design has achieved
this aim.  If you'd like to extend it from there, a creative mind
could do that quite easily.  (Perhaps I'll try for some more interesting
rules.  See below.)

&gt; The only effect your mana regeneration had on 
&gt; Buffy is for her to add a 2 second delay to the 
&gt; script rather than the system adding a delay 
&gt; for her.

Which was the original goal.  Mission accomplished.

&gt; Buffy's next goal is probably to raise 
&gt; her mana maximum to 200 points, so she can 
&gt; change her insta-death script to
&gt; 
&gt;   repeat 2 nuke boffo
&gt; 
&gt; and be done with it.

Actually I think your chill touch trick would *still* be better regardless
of how much mana she got.  One (potential) flaw with my formula is that
your regen increases as your max mana increases.  I'd probably rather
do something percentage based - where you got back ((N + n) / 8) + 1
percent of your mana back, or (((((N + n) / 8) + 1) / 100) * N) per pulse.

Again, you can do a lot with this.  None of it requires any character
delay, and most of it makes for more interesting gameplay.

Here's some more spells which Boffo or Buffy might have.  Most of these
ideas are not new, of course - Magic: The Gathering is a great source for
this sort of spellcasting, so I will now shamelessly rip off a few of
its more popular spells.

Mana Vortex: For 50 mana, cause everyone in the room to be drained 10
mana per pulse.  Lasts twenty seconds.

Mana Barbs: For 100 mana, cause everyone in the room to take an amount
of damage equal to the casting cost of any spell they cast.  Eg,
Buffy casting the 50 mana chilling touch above would do 50 pts of damage
to her.  Lasts ten seconds.

Mana Sink: For 80 mana, cause every spell to cost twice as much.  Lasts
fifteen seconds.

Reverse Damage: For 100 mana, any damage done to the caster during
the next five seconds heals them rather than harms them.

Wither: For 30 mana, cut a target's mana regen in half for the next
twenty seconds.

Drain Power: For 75 mana, any spell the target casts over the next
ten seconds will cause the caster's mana to go up by half the casting
cost of that spell.

Drain Life: For 75 mana, any spell the target casts over the next ten
seconds will cause the caster's health to go up by half the casting
cost of that spell.


Now with just one or two of these spells at his disposal, Boffo could
make mincemeat of Buffy (presuming she was blindly trusting the
4*chill touch + nuke script you mentioned above).

Here's some possible scenarios.  Let's assume that both characters
have 200 hitpoints.  This would mean (according to the stuff I said
in the original message) that a chilling touch does 25 points of
damage, fireball does 50, and nuke does 100.

Buffy walks into the room, starts her script on Boffo.
Buffy casts chill touch at Boffo.  (Boffo.HP = 175)
Boffo casts mana barbs.
Buffy casts chill touch.  (Boffo.HP = 150, Buffy.HP = 150)
Boffo twiddles his thumbs.
Buffy casts chill touch.  (Boffo.HP = 125, Buffy.HP = 100)
Boffo cackles evily.
Buffy casts chill touch.  (Boffo.HP = 100, Buffy.HP = 50)
Boffo laughs loudly.
Buffy casts chill touch.  (Boffo.HP = 75, Buffy.HP = 0)
Buffy is DEAD! R.I.P.
Boffo loots Buffy's corpse.
The Mana Barbs disipates.

Let's say that Boffo only wants to disable her, perhaps to kill her
at his leisure with conventional weaponry, or perhaps even to try to
talk some reason into her:

Buffy walks into the room, starts her script on Boffo.
Buffy casts chill touch at Boffo.  (Boffo.HP = 175, Buffy.Mana = 70)
Boffo casts wither on Buffy.  (Boffo.Mana = 90)
Buffy casts chill touch at Boffo.  (Boffo.HP = 150, Buffy.Mana = 45)
Boffo casts mana sink.  (Boffo.Mana = -10)
Buffy casts chill touch at Boffo.  (Boffo.HP = 125, Buffy.Mana = -55)
Buffy casts chill touch at Boffo.  (Boffo.HP = 100, Buffy.Mana = -140)
Buffy casts chill touch at Boffo.  (Boffo.HP = 75, Buffy.Mana = -180)

At this point Boffo's spells wear off, but it doesn't matter - Buffy
can't cast anymore (she's *way* under her limit), and Boffo can
continuely renew the Wither on her at his leisure to keep her disabled.
(The mana counts above are approximate, btw...)


I'm sure a person that wanted to put some serious time into this could
come up with something that was a lot of fun, and for which triggers
and scripts where all but useless.

The point being that we've removed that annoying character lag (which
players hate), made clients less important than wits, preserved
the flow and pacing of combat, and in the meantime maybe made the combat
gameplay a little bit more fun and engaging for the players.


Adam W.




</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="01030" HREF="msg01030.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>
<ul compact><li><em>From:</em> J C Lawrence &lt;claw#under,engr.sgi.com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00999" HREF="msg00999.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
<UL><LI><EM>From:</EM> Michael Willey &lt;Michael.Willey#abnamro,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01000.html">[MUD-Dev] Re: Graphic design, client questions</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01002.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00999.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01030.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01001"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01001"><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="00994" HREF="msg00994.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>, Fri 18 Dec 1998, 12:58 GMT
<UL>
<LI><strong><A NAME="00998" HREF="msg00998.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Sunny Gulati <a href="mailto:sunnywiz#radiks,net">sunnywiz#radiks,net</a>, Fri 18 Dec 1998, 19:19 GMT
<UL>
<LI><strong><A NAME="01029" HREF="msg01029.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 21 Dec 1998, 23:19 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00999" HREF="msg00999.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Michael Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Fri 18 Dec 1998, 19:20 GMT
<UL>
<LI><strong><A NAME="01001" HREF="msg01001.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Fri 18 Dec 1998, 22:16 GMT
<UL>
<LI><strong><A NAME="01030" HREF="msg01030.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 21 Dec 1998, 23:31 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="01007" HREF="msg01007.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Benjamin D. Wiechel <a href="mailto:strycher#toast,net">strycher#toast,net</a>, Fri 18 Dec 1998, 23:38 GMT
<UL>
<LI><strong><A NAME="01031" HREF="msg01031.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 21 Dec 1998, 23:34 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01048" HREF="msg01048.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Nathan F Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Wed 23 Dec 1998, 20:11 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>