1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Leaving characters in play -->
<!--X-From-R13: "Fenivf E. Qnfrl" <rsvaqryNvb.pbz> -->
<!--X-Date: Thu, 17 May 1998 14:15:43 &#45;0700 -->
<!--X-Message-Id: Pine.BSF.3.96.980517221707.26074C&#45;100000#dillinger,io.com -->
<!--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: Leaving characters in play</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:efindel#io,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="msg00649.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00651.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00733.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00717.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00650">Author</A>
&nbsp;|&nbsp;<A HREF="#00650">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00650">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Leaving characters in play</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: Leaving characters in play</LI>
<LI><em>From</em>: "Travis S. Casey" &lt;<A HREF="mailto:efindel#io,com">efindel#io,com</A>&gt;</LI>
<LI><em>Date</em>: Sun, 17 May 1998 22:17:57 -0500 (CDT)</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: "Petidomo List Agent -- Kanga.Nu version" &lt;<A HREF="mailto:petidomo#kanga,nu">petidomo#kanga,nu</A>&gt;</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Friday, 15 May 98, J C Lawrence wrote:

&gt; It is this point which ghas persuaded me to almost entirely move away
&gt; from round based combat.  I refuse to place the entire game and all
&gt; players on a pacing clock (humans shall not wait for machines), but
&gt; not using a global clock while using usably long combat rounds opens
&gt; the combat system for all sorts of interesting abuse due to the
&gt; inconsistant time scales.

In true round-based combat, as used in the paper RPGs which created
the term, there is no pacing clock.  Humans aren't waiting for
machines -- they're waiting for other humans.

I'd call what most muds use timer-based combat -- there's a timer
which determines how often automatic combat routines are performed,
and which thereby places limits on how slow someone can be and still
get their action in this turn, and sometimes on how often one can
enter a command.

A true round-based combat system is difficult to implement on a mud
for one reason:  there's no easy way to tell if a player is still
there or not.  In a paper RPG, if a player has to get up and go to the
bathroom, the other players and the GM will definitely notice that
the player is leaving, and can then either choose to wait or to have
someone else decide what that PC will do while the player is gone.  On
a mud, it's not that simple.

It would be easy to add an "auto" command for players who have to go
for a few minutes but want to stay in the fight -- "auto" would tell
the game to autopilot your character.  When you returned, entering any
command would take your character off autopilot.

The problem then becomes one with careless players or players who are
suffering extreme lag or lose their connection.  A lost connection isn't
too hard to handle -- many muds already have methods for handling
them.  However, to handle the other two cases, there needs to be some
kind of timeout -- if a reasonably long time goes by without a certain
player entering a command, then the mud would need to either put that
character on autopilot or handle it like a lost connection.

This eliminates (or at least seriously reduces) the advantage to "fast
twitch" players, those who use scripting, and those who can type fast.

&gt; Opening the combat to being entirely untimed conversely allows spam
&gt; attacks and tends to guarantee that the fastest twitch will win.  Not
&gt; good.  Further, as discussed earlier, I can't distinguish between
&gt; combat and non-combat commands as even utterly innocuous commands will
&gt; be used heavily in combat ("drop mana consumers"), and very
&gt; combat-centric commands will be used peacibly (cf UggUgg's fight)..

&gt; I don't have a good design.  The best I can think of so far is:

&gt;   -- No first blows are fatal.  

Why not?  I can see why you'd want first blows to be rarely fatal, but
why never?

Also, how do you define a first blow?  The first blow since the
character entered the room?  A blow suffered when the character is
uninjured?  A blow delivered by someone who hasn't attacked you since
you logged on?

There may be easier ways to do this... for example, how about a damage
system which works like this:

Every character has three stats related to damage:  Resilience, Size,
and Accumulated Damage.  When a blow is suffered, the character makes a
check on Resilience against the amount of Accumulated Damage he/she had
*before* the blow landed.  If the check is failed, the character dies.
If the check succeeds, the character adds the amount of damage taken
to his/her Accumulated Damage.  However, each character has a limit to
how much Accumulated Damage he/she can take:  Resilience multiplied by
Size.  If Accumulated Damage passes this point, the character dies,
even if he/she did not fail a check.

The linchpin of this system is the Resilience check against
Accumulated Damage.  You can set this up to provide many different
possibilities:  for example, you might choose to set it up so that a
character who had no Accumulated Damage can't fail the check.  In that
case, the only way to kill an undamaged character with one blow would be
to do more than his/her Resilience * Size in a single blow.

Features of this system:
  - The chance of death, barring massive amounts of damage, depends on
    what Accumulated Damage was *before* the blow.  Hence, you can
    better control how likely someone is to die from a first blow.

  - Beyond a possible initial "safe zone", where the character can't
    die except from a massive amount of damage, there is always a
    possibility of death, however small it may be.  This would help
    discourage "tanking" and similar tactics.

  - Instead of simply having death, you could create a table of
    different effects which could happen on a failed Resilience check,
    with worse failures giving worse results.  This gives a simple way
    to add stuns, wounds, and similar results to the system.

Possible bug:
  - Weapons which do less damage will force more Resilience checks in
    the course of bringing Accumulated Damage up to a certain point.
    Hence, a character is more likely to die from a series of knife
    blows which bring him/her up to 50 points of damage than from a
    series of sword blows which do the same total damage.  It should
    be noted, though, that this effect isn't likely to make too much
    of a difference in practice -- if you start from X Accumulated
    Damage, you'll be more likely to die from Y blows delivered by a
    sword than from the same number of blows delivered by a knife.

&gt;   -- Arrange these probabilities appropriately to force most combats
&gt; to the 15 - 20 seconds point.

Is that 15-20 seconds of game time or real time?

&gt;   -- The game dynamically defines a "combat state" which is hidden
&gt; from the player and is used only for event process control.

&gt;   -- Combat state is initiated upon a definitely combat-oriented
&gt; command from any party (kill, fight, hit, damaging spell, etc).

&gt;   -- Combat state is declared for both target and source.

&gt;   -- Combat state's only effect is to enforce timings of actions.  It
&gt; takes XXX time to swing a sword, YYY time to cast a spell etc.

If using a round-based system, this could be done via action points,
or, if using short rounds, by making some actions take more than one
round to do (possibly with an option to abort in the middle of an
action).

--
       |\      _,,,---,,_        Travis S. Casey  &lt;efindel#io,com&gt;
 ZZzz  /,`.-'`'    -.  ;-;;,_   No one agrees with me.  Not even me.
      |,4-  ) )-,_..;\ (  `'-'
     '---''(_/--'  `-'\_)


-- 
MUD-Dev: Advancing an unrealised future.

</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="00838" HREF="msg00838.html">[MUD-Dev] Re: Leaving characters in play</A></strong>
<ul compact><li><em>From:</em> Adam Wiggins &lt;adam#angel,com&gt;</li></ul>
<li><strong><A NAME="00717" HREF="msg00717.html">[MUD-Dev] Re: Leaving characters in play</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-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00649.html">[MUD-Dev] Re: Mudschool</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00651.html">[MUD-Dev] Re: CGDC, a summary</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00733.html">[MUD-Dev] Re: Leaving characters in play</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00717.html">[MUD-Dev] Re: Leaving characters in play</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00650"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00650"><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: Leaving characters in play</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00714" HREF="msg00714.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 19 May 1998, 20:14 GMT
</LI>
</ul>
<LI><strong><A NAME="00648" HREF="msg00648.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
Travis S. Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Sun 17 May 1998, 21:15 GMT
<UL>
<LI><strong><A NAME="00671" HREF="msg00671.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Mon 18 May 1998, 19:56 GMT
<UL>
<LI><strong><A NAME="00733" HREF="msg00733.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 20 May 1998, 18:45 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00650" HREF="msg00650.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
Travis S. Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Sun 17 May 1998, 21:15 GMT
<UL>
<LI><strong><A NAME="00717" HREF="msg00717.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 19 May 1998, 21:08 GMT
<UL>
<LI><strong><A NAME="00719" HREF="msg00719.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
D. B. Brown <a href="mailto:dbrown1#stny,lrun.com">dbrown1#stny,lrun.com</a>, Tue 19 May 1998, 22:04 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00838" HREF="msg00838.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Tue 26 May 1998, 22:56 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00691" HREF="msg00691.html">[MUD-Dev] Re: Leaving characters in play</A></strong>, 
John Bertoglio <a href="mailto:alexb#internetcds,com">alexb#internetcds,com</a>, Tue 19 May 1998, 06:42 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>