1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] MUD Design doc &#45; Combat -->
<!--X-From-R13: "Xba O. Znzoreg" <wyflfvapNvk.argpbz.pbz> -->
<!--X-Date: Tue, 29 Dec 1998 00:28:37 &#45;0800 -->
<!--X-Message-Id: 199812280754.BAA14031@dfw&#45;ix8.ix.netcom.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199812170331.TAA10828#under,engr.sgi.com -->
<!--X-Reference: Version.32.19981217101607.00e6b600#sendar,prophecy.lu -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] MUD Design doc - Combat</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:jlsysinc#ix,netcom.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="msg01055.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01056.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01049.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00980.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01054">Author</A>
&nbsp;|&nbsp;<A HREF="#01054">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01054">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] MUD Design doc - Combat</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] MUD Design doc - Combat</LI>
<LI><em>From</em>: "Jon A. Lambert" &lt;<A HREF="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</A>&gt;</LI>
<LI><em>Date</em>: Mon, 28 Dec 1998 02:54:46 -5</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 17 Dec 98, Emil Eifrem wrote:
&gt; At 04:31 AM 12/17/98 , J C Lawrence wrote:
&gt; 
&gt; [timing in combat:]
&gt; &gt;In #1 each player action (eg "bash buffa") takes a preset length of
&gt; &gt;time, and prevents the player character's motions/actions during
&gt; &gt;that time.
&gt; &gt;
&gt; &gt;#2 is a little different.  Players submit the actions that their
&gt; &gt;characters are going to perform in the next "round", where a round
&gt; &gt;is a known and predefined length of time.  At the end of the round
&gt; &gt;all the various actions by the various players are resolved against
&gt; &gt;each other (the action and round resolution logic can be quite
&gt; &gt;complex -- see the combat package threads in the list archives) and
&gt; &gt;the final results computed and reported before the next round starts
&gt; &gt;and the players again submit their intended actions.  It is common
&gt; &gt;with round systems for player characters to operate under a quota
&gt; &gt;system, where each of their proposed actions has a quota value and
&gt; &gt;their total must not exceed some maximum.  See Jon Lambert's posts
&gt; &gt;on his (IIRC) round based combat system for some interesting design
&gt; &gt;notes on this area.
&gt; &gt;
&gt; &gt;#3 is where I've been heading, while mixing in generous dollops of
&gt; &gt;#1 and #2.  Loosely, each character does whatever he can as fast as
&gt; &gt;he can with the limiting factor being the execution time of his
&gt; &gt;various actions and the speed with which he can submit them.
&gt; &gt;Arguments about fairness are of course rife with this approach.
&gt; 
&gt; Ack. Haven't your players heard of tintin?
&gt; 
&gt; Surely you must have some way to delay a player's queing commands while
&gt; they're busy doing something else. For example, say you have a spell that
&gt; causes damage. According to the above, a fight between two people with this
&gt; spell would basically be a fight between their clients and connections --
&gt; whomever gets through most "cast my damagespell" messages would win.
&gt; 
&gt; This doesn't sound feasible, so I assume that you do have individual delays
&gt; after commands. I think that's what you mean with the limiting factor being
&gt; the execution time of various actions. So the execution time for cast
&gt; damagespell would be pretty high and thus not unbalance the game. I don't
&gt; see how that's different from 1?
&gt; 

Here's my take on #2 reprised from earlier posts -

I plan to implement a timed turn-sequenced combat round.  I find the types of 
combat actions that interest me to be complex enough to warrant a turn based 
system.  Selecting default actions and modes of attack seem easy enough as 
well as allowing a time delay for character's orders to be submitted.  Suprise 
is implemented by either removing the time delay for the suprised character or 
by giving a free action points to the supriser.  Initiative can be implemented 
by alternating order of resolution or delay in execution of character actions. 

Combat mode can be entered and exited by any member of a room.  You are 
prompted whether you would like enter combat through any action including many
socials that might cause "a rush of adrenaline".  Thus any action is a
potential combat starter and individual commands are resolved as actions really
occurring.

It also occurs to me that one's character should be allowed to react in a 
strictly defensive manner, rather than a default offensive mode.  Ex.- If 
Bubba the drunken troll throws a tankard of ale across the tavern floor 
striking Boffo, it may be quite inappropriate for Boffo to automatically draw 
his sword and attack.  So I'm thinking more along the line of modal/prompted 
queries.

--example--
  Bubba hurls a tankard at you hitting you square in the forehead.
  Do you wish to engage Bubba? Y/N ....
  &gt; N
  Ok.
  &gt; throw dagger at Bubba's bar stool.
  You throw your dagger.  You miss the stool and the dagger hits 
  Bernie. 
  Do you wish to engage Bernie? Y/N
  &gt; Y
  You have entered combat. You have 6 action points.
  # draw dagger from left boot
  You have 5 action points.
  # charge Bernie
  You have 3 action points.
  # stab Bernie
  You have 0 action points
  # done
  ...
  You draw a dagger from your left boot.  
  You charge towards Bernie.
  Bernie hurls a stool at you sending you crashing to the floor.

  You have 6 action points.
  # stand
  You have 4 action points.
  # say "Bastard!"
  You have 4 action points.
  etc...
--end example--

While in-game combat can be modal, one can always break out of the combat.  
I've always hated how automated combat systems continue until one side or the 
other is dead.  I've also dislike terminating combat by fleeing to another 
room or recalling to base.

A great many wonderful role-play opportunities exist in situations where 
conflict has come to a head.  The objective of combat should not necessarily 
be taking the life of the opponent.  It is to achieve glory and honor. ;)  
However there are generally no opportunities for players to mutually rest, to 
trade witty and provocative reparte between blows, to make called shots like 
cutting the cord holding up your opponents trousers, or calling it a draw and 
retiring for the day.  Sure there's still a good chance for immediate or slow 
death, but there's also ample opportunities for final words or curses, and 
protracted death scenes.  Why should an automated combat system force Sir 
Gawain to strike a blow on an unarmed combatant when he desires to wait for 
the opponent to retrieve the weapon?

Also, there may be a great deal of OOC dialog between the parties before these 
sequences take place and also some OOC coordination during staging of the 
event.  This is especially handy for larger free-for-alls.

My game systems are complex enough to make manually refereeing such an event a 
real pain.  And good gamemasters are hard to find when you are itching to 
settle a score.  Once entering the state where blows are exchanged, players 
have implicitly consented to abide by the rules of the computer referee.  This 
also allows any interested immortals time to respond and join into fray.


--
--*     Jon A. Lambert - TychoMUD       Email:jlsysinc#,ix.netcom.com      *--
--*     Mud Server Developer's Page &lt;<A  HREF="http://pw1.netcom.com/~jlsysinc">http://pw1.netcom.com/~jlsysinc</A>&gt;      *--
--* I am the Dragon of Grindly Grund, but my lunches aren't very much fun, *--
--* For I like my damsels medium rare, And they always come out well done. *--


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00975" HREF="msg00975.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
<UL><LI><EM>From:</EM> J C Lawrence &lt;claw#under,engr.sgi.com&gt;</LI></UL></LI>
<LI><STRONG><A NAME="00979" HREF="msg00979.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>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01055.html">[MUD-Dev] Re: AFAP: As fast as possible, non linear...</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01056.html">[MUD-Dev] More Laws</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01049.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00980.html">[MUD-Dev] Re: MUD Design doc (long)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01054"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01054"><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>
<LI><strong><A NAME="00979" HREF="msg00979.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Emil Eifrem <a href="mailto:emil#prophecy,lu">emil#prophecy,lu</a>, Thu 17 Dec 1998, 11:00 GMT
<UL>
<LI><strong><A NAME="00984" HREF="msg00984.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Thu 17 Dec 1998, 20:14 GMT
</LI>
<LI><strong><A NAME="00985" HREF="msg00985.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Mik Clarke <a href="mailto:mikclrk#ibm,net">mikclrk#ibm,net</a>, Thu 17 Dec 1998, 20:27 GMT
</LI>
<LI><strong><A NAME="01049" HREF="msg01049.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>, Thu 24 Dec 1998, 07:57 GMT
</LI>
<LI><strong><A NAME="01054" HREF="msg01054.html">[MUD-Dev] MUD Design doc - Combat</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Tue 29 Dec 1998, 08:28 GMT
</LI>
</UL>
</LI>
</ul>
</ul>
<LI><strong><A NAME="00980" HREF="msg00980.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Thu 17 Dec 1998, 15:15 GMT
</LI>
<LI><strong><A NAME="00988" HREF="msg00988.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Thu 17 Dec 1998, 23:12 GMT
<UL>
<LI><strong><A NAME="00991" HREF="msg00991.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Thinus Barnard <a href="mailto:thinus_barnard#bigfoot,com">thinus_barnard#bigfoot,com</a>, Fri 18 Dec 1998, 12:57 GMT
<UL>
<LI><strong><A NAME="01003" HREF="msg01003.html">[MUD-Dev] Re: MUD Design doc (long)</A></strong>, 
Mik Clarke <a href="mailto:mikclrk#ibm,net">mikclrk#ibm,net</a>, Fri 18 Dec 1998, 23:02 GMT
</LI>
</UL>
</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>