[MUD-Dev] Attack System

Matt Chatterley matt.chatterley at gmail.com
Fri Sep 9 09:59:44 CEST 2005

On 05/09/05, Damion Schubert <dschubert at gmail.com> wrote:
> On 8/31/05, Dhiego Ramos <dhiegorp at gmail.com> wrote:

>> Well, I`m not developing a Mud, but I think you will help me.

>> I'm developing a web-based mmog (strategy game) and I wan't to
>> know your opinions about the attack system.

I was definitely interested to read this, since I'm currently
designing "The game I think I've always wanted to play", so to speak
- this may not be the best way to approach product design, but it IS
a good way to occupy your free time (such as it is)!

I've always been a fan of D&D and into mudding - but probably my
favourite games are RTS games - I'm attempting to produce an
environment which promotes group combat, with the PCs (and some
NPCs) taking the parts of 'heroes' while other characters form a
sort of back-drop to them.

This provides some interesting possibilities, and to me, opens up
opportunities for some exciting game play - you might be a level 50
decapitator, but a gang of 50 goblins will still probably be able to
take you out (although you might scalp quite a few of them first).

> When designing combat systems, I find the most useful way to think
> about it is to test it with yardsticks (i.e. best character vs
> worst character, best character vs best character, worst character
> vs worst character, best character vs best character -10). Decide
> what you want the results to be in those encounters, and it
> becomes relatively trivial to fit the math to them.

Although this is a really simple way to say it, I agree with your
sentiment very much - plan out and model what you want to happen in
a set of circumstances, and then use this as a base for creating the
mathematical model around your combat system.

My current design makes combat sort of 'turn based' - where each PC
has a set period of time to decide his/her actions for each round,
then enters a command to signal that they are ready - all of the
events are then queued up and take place as and when they take place
- this is based on initiative, the duration of the action, the
sequence PCs (and NPCs) have selected them in, and so forth.

A round will be defined as a short period of time (probably 10s or
so), wherein there is time for a few physical attacks (if you're
quick), moving a couple of items around in inventory, taking a few
steps, and so on - each 'room' will be a grid of 'squares' capable
of occupying one normal size body each - making ranged weapons
potentially quite powerful. Each creature will have a number of
stamina points per round to spend on their actions (e.g. if you have
1000 stamina points and an attack with a dagger consumes between 100
and 200, you can make 5-10 attacks, depending on how they go). Also
toying with the idea of making it possible to 'borrow' extra stamina
points by pushing yourself - but this will ultimately lead to

Where an attack requires a range of points (min 100, max 150), if a
character does not have enough to complete the maneouver, he is
penalised, and his attack becomes easier to defend against - no
other penalty is to be applied (note that I am on the brink of
making stamina costs static for a player with given abilities as
variable ranges are too complex).

Wound levels of characters (no HPs per se, but accumulating wounds
which must ultimately be healed depending on severity) will impact
their abilities - including stamina.

> Each unit (mage, sentinel, etc...) have attributes, "MAGICK"per
> example. Each point in magick gives an dice (10 faces) to roll. If
> a player wants that his 10 mages cast an spell, and this spell
> have 3D (3 DICES) to roll (because the player have 3 points in
> magick), than mages will roll 30 dices.

As Damion says, using multiple dice can produce some interesting
results - and it's a good system to balance, because the maths
behind it is based on simple logic - it's also uncomplicated for
players to understand and use - all in all good!

I'm a little worried about my system because of the complexity
emerging in the design. The event handling system is based on a
queue, with threaded execution, making it theoretically possible for
two things to happen at once, so to give an example (assume costs of
moves are fixed): (apologies in advance for verbosity).

Bubba and Boffo are duelling. They are both warriors, skilled in the
rapier (a light, fast sword with a razor sharp cutting edge for
injuring the opponent and a fine point for killing). Both wear light
armour so as to be relatively unencumbered.

Bubba's physical fitness is slightly better, and he has 400 stamina
points in the first round while Boffo has 350. At their level of
skill, a slashing attack consumes 150 stamina points, and a
thrusting attack consumes 200 - the former does cutting damage and
is easier to block, while the latter does piercing damage.

Round 1:
Bubba chooses to allocate 200 of his stamina points to defence, and
the remainder (200) to a thrusting attack. Boffo chooses 200 points
defence, plus one slashing attack. Boffo wins the initiative and
attacks first with a slash - this is a 150pt attack, and because the
two characters have very similar skills, costs the same amount of
defend against, consuming 150 of Bubba's 200 defence points - he makes
the rolls, and parries, but does not roll high enough to earn a free
riposte. Bubba attacks next, thrusting at Boffo, who has sufficient
defence points to attempt a parry - he makes the roll too, but rolls
high, and counter-attacks. A riposte is a fast, light thrust, with an
effective value of 50 stamina (but is free to execute, since it is an
opportunistic move). Bubba has 50 defence points left, and makes a
successful, high roll to parry - earning a riposte himself. Boffo has
no defence points left, so it is an automatic hit, inflicting a light

Round 2:

  Boffo's light wound reduces his stamina by 25. General fatigue
  reduces both PCs stamina by 5pts at their level of
  fitness. Boffo=320, Bubba = 395.

  Bubba allocates defence=95, 2x thrust @ 150.

  Boffo allocates defence = 170, 1x thrust @ 150.

  Boffo wins initiative, attacks, leaving Bubba with -55 defence
  points (not an automatic hit, but at a large bonus) - hits,
  inflicting a light wound.

  Bubba attacks, Boffo parries (using 150 pts), but does not win a

  Bubba attacks again, gaining a large bonus (Boffo has only 20 pts
  left in defence) and hits, inflicting a moderate wound.

Round 3:

  Boffo's light+moderate wounds reduce his stamina by 75, Bubba's
  light wound penalises him 25pts. Both PCs now have a 10pt fatigue
  penalty.  Boffo=265, Bubba=360.

  Bubba allocates 1xslash (200), 1x thrust (150), and the remainder
  (10) on defence.

  Boffo allocates 1xthrust (150), remainder (115) defence.

  Bubba wins the initiative and attacks first with a slash - Boffo
  defends at a penalty but manages to parry (no riposte). Boffo
  takes his attack now, and Bubba fails to defend due to penalty -
  moderate wound inflicted. Bubba takes his second attack and hits
  automatically (Boffo has no points left). He inflicts another
  moderate wound.

Round 4:

  Boffo's wounds now penalise him 25+50+50=125, Bubba's wounds
  penalise him 75. Both have a 15pt fatigue penalty. Boffo=210,

  Bubba allocates 2x thrust (300), 10 defence.

  Boffo allocates 1x slash (200), 10 defence.

  Boffo wins initiative and attacks first, hitting due to Bubba's
  low defence allocation. He inflicts a light wound.

  Bubba attacks twice. The first thrust hits and inflicts a light
  wound, the second hits and inflicts a moderate wound. Boffo now
  has three moderate wounds and two light wounds - his overall wound
  level is "serious" and without some help, he'll be in severe
  trouble, very soon - luckily both are seasoned warriors, and can
  withstand several injuries.

Round 5:

  Boffo now has a 200pt penalty, Bubba has a 100 pt penalty, and
  both have a 20pt fatigue penalty. Boffo = 130, Bubba = 280.

  Bubba allocates 1x slash, 80 defence.

  Boffo does not have enough points to attack, but chooses to
  'borrow' 20 points from next round, upping his pts to 150 for a

  Boffo wins the initiative and attacks at a bonus, hitting and
  inflicting a moderate wound. Bubba also hits (automatically -
  Boffo has no defence), inflicting a moderate wound (the tireder
  characters are, the worse that wounds are likely to be).

Round 6:

  Boffo now has a 250pt wound penalty, plus 40pt adrenaline penalty
  from borrowing 20pts in the previous round. Bubba has a 150pt
  wound penalty. Both have a 25pt fatigue penalty. Boffo = 45, Bubba
  = 225.

  Bubba chooses 1x thrust (150), plus 75 on defence.

  Boffo does not have enough points to attack, and borrowing enough
  to do so would be suicidal - he allocates 45pts to defence. Boffo
  wins the initiative, but has no attacks ready - Bubba goes next,
  hitting due to his bonus and inflicting a serious wound.

Round 7:

  Boffo's wound penalty is now 350, Bubba's is 150, both hav a 30pt
  fatigue penalty.

  This leaves Boffo with -30 points, and he collapses from his
  wounds.  These are 2x light, 3x moderate and 1x serious
  wounds. Because his wound penalty plus fatigue penalty = 380 and
  he has a maximum of 350 points, he will not awake until his
  fatigue has gone (and then he will have 0 points, not enough to do

  He is helpless, and will die within a few hours, unless
  helped. This proves not to be an issue, as Bubba, seeing his foe
  incapacitated, chooses to deliver a coup-de-grace; an
  automatically fatal strike against a prone/disabled opponent. He
  then bandages his wounds as best he can, and heads back to the
  town to see a healer.


Matt Chatterley
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the mud-dev-archive mailing list