There are many systems where attack statistics are opposed by defense statistics:

  • Strict: HP -= (damage - defense)
  • Threshold: HP -= (damage>defense? damage : 0)
  • Reciprocal: HP -= (damage / defense)

Just to name a few, and there are variations on those as well:

  • Reciprocal threshold: HP -= damage>defense ? (damage/defense) : 0

Note that this is by no means an exhaustive list, since many games use multiple stats to arrive at a final "defensive" result (agility, current speed, movement relative to attacker, flanking) that's applied to any potential damage.

What drives the selection of one relationship over another?

  • \$\begingroup\$ Actually, I dont think ANY of those are widely used. The most common formula is HP -= damage * defense[%]. That is most straight forward and easily understandable. (it give you much more room in mapping defense->defense[%] as you can implement diminishing-returns to prevent unnatural overstacking) \$\endgroup\$
    – wondra
    Jul 23, 2014 at 21:58
  • 1
    \$\begingroup\$ That's the reciprocal system. damage*(N/100) == damage*(1/defense) == damage/defense \$\endgroup\$
    – jzx
    Jul 23, 2014 at 22:01
  • \$\begingroup\$ Yes, with added function mapping defence[points] to defence[%] it gives additional depth as mentioned above. Can Prevent overstacking of one stat and thus breaking the game. (Imagine character with all points in armor, taking 0 damage - or 0,0000001 in reciprocal ) \$\endgroup\$
    – wondra
    Jul 23, 2014 at 22:16
  • 2
    \$\begingroup\$ I'm pretty sure all of those variations are widely used. At least in the realm of RPGs. Knights of the Old Republic used both of the first two options. Fallout 1, 2, Tactics, and New Vegas used the latter two options, while Fallout 3 only used "reciprocal" \$\endgroup\$
    – Attackfarm
    Jul 24, 2014 at 0:05

2 Answers 2


Strict has the advantage of being easy to understand, every player can easy calculate how much damage his attack will do. Be warned through that this creates a situation in where the higher someone's defense the more they gain from a higher defense level (if you have 0 defense the other attack with 100 and you have 1000 hit points it takes 10 hits to take you down, if you have 50 defense it will take 20 hits and if you have 100 def it takes infinte hits).

A minimal damage threshold will avert the "death of a thousend cuts" where many small attack slowly wither kill of a very powerfull entity, this thus prevents zerg rush like strategies.

Reciprocal will ensure that more defense will always make you stronger, if only because you are dividing by a larger number. It also ensures more or less linair scaling in your defense and it's payoff.

There is also a percentage based system where each point of defense is fed into a formula of the type 1-C^[defense] which will give you a number between 0 and 1 that can be used for damage reduction in percentage after which the damage is simply the multiplication of attack and that percentage hp-=(damage*(1-C^defense)) where C is a value between 0 and 1, which gives some really smooth damage reduction formula's but can be very hard to understand for players. This formula has slight dimishing returns for higher defense levels.

So what you need to do is decide whatever you are OK with complex formula's that most players will not understand or not. Then you need to decide whatever your sytem favours single strong players or a group, and whatever you want diminishing returns, linair returns or actual exponential returns.

  • 1
    \$\begingroup\$ Just to elaborate on this, think that different defense systems make for different strategies. In strict, usually is better to use high damage attacks, while in reciprocal is may be better to have faster, although weaker attacks. Ultimately the decision of what works best is up to the game genre. For RPGs, I would favor a complex system with a combination of these, as it would allow implementing more varied game mechanics. \$\endgroup\$
    – angarg12
    Jul 24, 2014 at 5:46

Rather then simply considering the mathematical differences among these formulae, I believe the genre of the game itself plays an important role concerning this issue.

Here is something that pops up in my mind:

  • Arcade fighting

    • different parts of the body may have different "on damage" modifier
    • skills/combos are the sources of the most obvious difference in damage output
  • FPS

    • different parts of the body may have different "on damage" modifier
    • resulting damage depends on the weapon/armor/equipment used

    • since there are often more entities existing in the game and these types of games usually focus on tactics/strategies used, calculations should be more intuitive and less complex
    • make use of the aforementioned "Threshold" or "Reciprocal" formulae, with the calculations of buff-related stuff applied afterwards

p.s. Watch out for "division by zero" =)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .