[MUD-Dev] Better Combat (long)

David Kennerly kennerly at finegamedesign.com
Thu Aug 12 06:09:29 CEST 2004


Paul Schwanz wrote:

> My five move strategy is to
> defend...riposte...attack...attack...checkmate, using forms that
> cause the following stance changes:

> *R* | *** | *** | *** | L** |
> *** | *** | L** | L*R | **R |  ...checkmate move
> *L* | *LR | **R | *** | *** |

Thanks for doing the footwork.

To translate it from a diagram to a tuple we could use the
convention (L,R), with the positions read as the lines of a
two-dimensional Cartesian product grid:

  (0,0)  (0,1)  (0,2)
  (1,0)  (1,1)  (1,2)
  (2,0)  (2,1)  (2,2)

Then a knight has the potential options {(-/+2,-/+1), (-/+1,-/+2)},
which in a 3x3 grid are only two possible moves at any given
position.  To be compact in e-mail, we may concatenate to
unambiguous strings (e.g., (0,0) ==> 00).  Thus, our player starts
in (21,01) and wants to get to (00,12).

> *R* | *** | *** | *** | L** |
> *** | *** | L** | L*R | **R |  ...checkmate move
> *L* | *LR | **R | *** | *** |

In this notation: ( (21,01), (21,22), (11,22), (11,12), (00,12) ).
As you noted, this is only half of the play.  The other half
consists of the 5-sequence of the opponent's foot positions.

One factor that can make the game more interesting, is if each
opponent has characteristic movements.  You've used knight, bishop,
and pawn movements.  Suppose you are fighting a monster with
crab-like legs.  Perhaps it's feet only move horizontally.  Suppose
a different opponent of a spring-loaded droid.  It might only move
vertically.  Thus, although each opponent's game is not hard to
optimize, at least one gets to use different tactics.  Many
single-player games do something like this.  For examples: most
opponents in Return of the King and The Wind Waker have optimal
combat combos, yet there is a variety of different opponents, each
requiring a different optimal (memorizable) combo.

> Add back in rules for how hands and weapons move, how the torso or
> head shifts with various forms, how an opponent's stance and
> orientation dictate whether a hit location is present for a
> specific attacking form, etc. and things could get pretty
> interesting.

*nods* With painstaking effort in designing the evaluation functions
of each of these, I speculate that it would be interesting.

> But, of course, it is unlikely that my opponent will be so
> accomodating (any more than a chess player will accomodate me
> while I get my bishop in position and hop my knight down the board
> to take his pawn and fork his rook and king).  Perhps he'll take a
> defensive posture himself.  Perhaps he'll use quick darting attack
> forms that do not give me enough time to execute a form that makes
> the knight stance change, instead calling for me to make quick
> sword movements to block while maintaining the /en garde/ stance.

I get the general idea.  I'm not sure what the values of the
configuration tuples are, so I can't analyze the example any
further.  If you'd like to continue the analysis, what opponent
footing configuration is (00,12) effective against?  And what
position does the opponent start in?  (21,01)?  Since the
intermediate positions are valid, what are their game values?  For
simplicity, we could express value as a real ratio of efficiency of
player 1 to player 2.  1.0 means balanced.  2.0 means player 1 has
twice the advantage in every attack continued from this
configuration.  0.5 means player 2 has twice the advantage in every
attack continued from this configuration.  And so on.

In general, all the above footwork may be described as states of a
theoretical game.  This has the tuple (L1,R1,L2,R2) to denote the
position of the opponents.  One could display this in a matrix form
as (L1,R1)x(L2,R2), certainly no more than 72x72 if no two feet may
occupy the same position, and much less if you restrict the valid
transitions.  If each one is assigned, or formulated into, a payoff,
then the 5184 combinations define the outcome of that turn of
combat.  And that's just for the feet!

The trick, then, is how much complexity does the target player want?
If we want 5184 combinations, the function could be precalculated
pseudorandom sequence or a clever sequence matrix operations.  If we
want there to be _some_ reduction you could make it somewhat
predictable and regular, such as through a series of matrix
products.  Of course, it's a careful design process.  There is no
one right way, but a lot of wrong ways.

If simplicity (less than 5184 combinations) were the only goal, we
could reduce the footwork combinations.  For example, if we only
desired 144 combinations, we could reduce footwork space 2x2, giving
12 unique combinations for nonoverlapping feet and 144 combinations
of two combatants.  Whichever we desired, I would recommend starting
simple--then expand.

> Assuming that a successful defensive form intercepts the attacking
> form at any cube along the attacking weapon's length, it seems to
> me there would be more opportunity to block a longer weapon.
> Whereas to successfully block a dagger, one would have to execute
> a form targetted to intercept at one and only one cube, to block a
> staff, one can select any form that would intercept at any of the
> three cubes describing the weapon's length.  In other words, using
> a staff could triple the number of defensive or riposte forms
> availabe to your opponent, giving him more options for moving into
> a checkmate position.

Distinguishing defense is a qualitative difference that is worth
exploring further.  In addition, this is another good reason to
consider starting with a smaller space.  A 2x2x2 cube would be a
simpler starting point.  Even then there is only 1 in 64 chance of a
random attack being deflected by a random defense.  With 3x3x3 there
is 1 in 729.  That means that completely inexperienced players
(whose behavior is proportional to random) are going to fight 11
times worse, if all other factors are held constant.  Therefore
3x3x3 complexity might be too frustrating.  Might.  Certainly it
depends on the rest of the design.  For example, the existence of
tower shields would dramatically reduce analysis and design,
probably to the designer's frustration if he'd already analyzed the
full (3x3x3)^2 combinations.

David
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list