Thursday, 10 January 2019

Attrition in Blow-by-Blow Combat, Part I

Famously, D&D models attacking by a two step process in which an attacker rolls to hit and then if the attacker hits, the attacker rolls for how much damage the defender takes. I used to think bonuses to hit were superior to bonuses to damage, which I think is folk-wisdom, maybe. If you don't hit all the damage bonuses that your double weapon specialization and 18/00 strength give you don't help you at all.

It turned out after writing down the math that this wisdom is incorrect or at least needs considerable caveating. Beyond providing advice to munchkin fighters, the math is also useful for thinking about how to use damage bonuses and hit bonuses to differentiate different weapons, barbarian versus monk mayhem, and so on.

Attrition

So first, what is happening in basic, boring D&D combat? The characters and monsters are exchanging blows and attempting to get the other side to 0 hit points and at the same time minimize their own hit point loss. Of course, it is a tenet of the OSR that good players will look for ways to circumvent this process, such as through ambushes, flaming oil, or sleep spells, but let's ignore that for now. The standard D&D combat process is both sides simultaneously exchanging blows and wearing down hit points. 

Attrition of monsters comes in two forms. Larger monsters, who are going to last several rounds, wear down at a rate approximately equal to characters' average damage per round. In other words, in a fight between a warrior who averages 5 damage per round and a giant with 50 hit points, the warrior on average disables the giant in 10 rounds (this calculation turns out to only be approximately correct, but for monsters with large numbers of hit points it is accurate enough; see "Are All Hit Dice Equal?" for why it is only an approximation). Disabling the giant as quickly as possible is good because it reduces the number of opportunities the giant has to squash the warrior.
Big, Tough Monster

For smaller monsters such as orcs, average damage per round is not as useful a statistic because many orcs will be cut down in one blow. It doesn't matter if the warrior does 10 damage per round on average if she only gets 1 attack on 5 hit point orcs. Usually however orcs show up in war bands that require lots of orc-killing. (Gimli: "Let the Orcs come as thick as summer-moths round a candle!"). Hence average kills per round is a better measure of combat effectiveness with smaller monsters.


Big, Tough Monsters

Average damage per round ("DPR") is the product of the probability of hitting ("HITP") and the average damage done per hit ("ADAM"). With ascending attack bonus ("AB") and descending armor class, as in Target 20, the probability of hitting is
Giants also count


HITP = (AB + AC) / 20,

I.e., someone with AB +3 attacking AC 0 has to roll an 18-20, which happens 3 times out of 20. (I am ignoring number of attacks, which just multiply DPR by some constant if they all have the same hit probability).

Damage depends on the damage die (DD) and the modifier to the damage roll (DM). It is

ADAM = (1/2 + DD/2 + DM).

Putting these together, average damage per round is

DPR = ADAM * HITP = (1/2 + DD/2 + DM) * (AB + AC) / 20.

A little algebra finds that when the attack bonus increases by 1, the increase in DPR is

ΔDPR / ΔAB = ADAM / 20 =  (1/2 + DD/2 + DM) / 20,

and when the damage modifier increases by 1, the increase in DPR is

ΔDPR / ΔDM = (AB + AC) / 20.

Hence an increase in the to hit bonus improves DPR more than an increase in the damage bonus if

ADAM / 20 > (AB + AC) / 20.

The 20's cancel, so the hit bonus increase is more beneficial if ADAM > AB + AC, and the damage modifier increase is more beneficial if ADAM < AB + AC. To be pretentious, let's say that in the first case the character is "accuracy-constrained" and in the second case the character is "damage-constrained".

Which case is relevant depends on the particulars of the character, which in turn depends on the exact form of D&D being played. On the one hand, in OD&D, neither AB nor DM increase very quickly, but my sense having never played is that characters tend to receive more bonuses to hit than bonuses to damage, and so are likely to be damage-constrained. A level 3 fighter (+2 AB) with a magic sword (+1 AB, d6) has 3.5 average damage and +3 AB, so is damage-constrained for AC's above 0.

In AD&D, on the other hand, at least for low-level fighters there are more ways to increase average damage than than average accuracy, so they would tend to be accuracy-constrained. A first level fighter with weapon specialization (+1 AB, +2 DM), 18/60 strength (+2 AB, +3 DM), and using a halberd (d10 damage) causes 10.5 damage per hit on average but only has a +4 AB. This fighter is accuracy-constrained fighting opponents with AC 6 or less. It's really noticeable fighting low-AC monsters, and that experience might be why I had thought to hit bonuses were more important.

BX probably hits a better balance, since many sources give the same bonuses to hit and to damage. A fighter with 15 strength (+1 AB, +1 DM) with a +1 sword (+1 AB, +1 DM, d8 variable weapon damage) is accuracy-constrained fighting opponents with AC 4 or less.

Now, beyond the modifiers, the character's level and class, and opponents' AC, matter for how the character is constrained. Fighters are going to have higher AB's than non-fighters as they advance in level; they're also probably going to have average damage grow at a higher rate than non-fighters, but probably not by the +1 AB every level that many systems use. Therefore fighters are going to be more often damage-constrained than other classes. Low-level characters start with some base weapon damage, so ADAM is 3.5 or 4.5, but with +0 or +1 AB, so without any modifiers tend to be more accuracy-constrained than higher-level characters. Finally, facing low-AC monsters, all characters are more likely to be accuracy-constrained.



Does which constraint limits a character's damage-dealing potential matter? Possibly not, but I tend to think it does. First, when it's way out of balance, like the AD&D fighter above, it is frustrating and may encourage min-maxing behavior. Second, it's a way to add flavor to classes and weapons. A duelist or monk should probably not be as accuracy-constrained  as a barbarian. Giving a crossbow a bonus to hit is a simple way to give its armor penetration powers, and giving daggers and knives a penalty to hit may better than reducing damage.

But all of this analysis is about DPR attrition against tough opponents, and smaller opponents complicate matters, which I will cover in Part II.







No comments:

Post a Comment