ars ludi

if you asked Ben's brain about gaming, this is what it would say

d20 Hit Point Piles

One of these guys has already taken 7 hit points of damage. Now if I can just remember which one…

I’ve run lots and lots of games where I’ve tracked the individual hit points of every orc on the battle map. Every GM comes up with their own clever methods of remembering which figure took what damage, but in the end it’s a lot of work for little benefit, and it just gets worse the more critters you add and the later at night the game goes.

A simple alternative is the hit point pile: track the total damage done to similar creatures as one big pile. Ignore which particular creature was hit. Just keep adding up the damage, and when the total is enough to kill one, the one that just got hit dies. Set the pile to zero and start over again (excess damage is lost).

There are twenty gnolls and each has 13 hit points. Fred attacks one for 7 damage, then Charlie attacks a different one for 4 damage — that’s 11 damage on the pile so far. Next Anastasia attacks a third gnoll for 6 damage, which kills it even though it had never been attacked before. The GM knocks over the figure Anastasia attacked and sets the damage pile back to 0. Nineteen gnolls to go.

If you have different groups of creatures use separate piles for each one (one pile for the goblins, one for the wolves). For unique creatures or very small groups just track hit points the normal way.

Pig Pile

Because damage is concentrated on a single enemy at a time, opponents die faster when you use hit point piles.

This is less of an issue than it seems, because smart players already tend to gang up on one opponent until it is dead instead of wounding a bunch of different enemies that could still fight back. It’s logical, but unfortunately it smells lame – in the real world a bunch of knights don’t surround one enemy on the battlefield at a time, but without facing rules to penalize you it’s often the smartest choice in d20.

Hit point piles give the players the benefit of ganging up on one guy without embarrassing themselves by actually doing it. Tactical benefit + aesthetically pleasing.

Two Piles Are Better Than One

There are a few potential pitfalls of in-game logic and metagaming:

– An unlucky character could keep hitting the same opponent over and over and again but never take them out because someone else keeps getting a killing blow.

– A lowly court jester can take a stab at a theoretically “fresh” enemy and kill him if other characters have already done damage elsewhere (this only seems strange when you think in terms of hit points, not a real fight).

– If your players are tactical metagamers they may try to do things like have a weak attacker go when they think the total is almost enough for a kill so that a stronger attacker doesn’t waste damage on an “overkill,” but if your players are that motivated to track this kind of thing a simplified system is probably not for you anyway.

The solution? Run two piles at a time instead of one. Decide which of the two piles to add the latest attack to as you prefer (or just alternate) and don’t tell the players. Does it seem like Fred has been beating on that gnoll for a while? Add his attack to the most damaged pile. Did a hobbit just kick someone in the shins? Add it to the undamaged pile, not the pile that’s an inch from death.

Running two or even three piles is still simple and fast, and certainly less overhead than tracking individual hit points for each critter.

d20 Fast Mob Attack Rules

A horde of kobolds hurl spears at a ranger. Masses of brainwashed soldiers open fire on your friendly neighborhood superhero.

Rolling for mobs of weak attackers can eat up game time. It's doubly bad since a weak attacker probably has a low chance to harm the target, so you are making lots of rolls for a low probability event.

These rules speed up the process. They work best when the attackers have the same stats (or can be considered to have the same stats to speed things up) and when attack and defense bonuses for both sides are basically the same from round to round. If those numbers shift, you have to recalculate.

1) Determine the DC for a single attacker to hit the target.

2) Subtract the DC from 21. This is how many different rolls on a d20 will hit.

3) Divide 20 by the result. This is how many attacks have to be made each round to hit once on average. We'll call the number of attackers it takes to meet this number a “gang.”

Example: Rumples the Ranger has AC 18, and the pirates have +1 to hit, so the DC to hit is 17. 21 minus 17 is 4, so 4/20 rolls on a d20 will hit (17-18-19-20). 20 divided by 4 is 5, so if there were five pirates they would hit about once per round, missing the other four times. Versus Rumples every five pirates = one pirate gang.

Now that you know how many attackers are needed to score a hit on average, just divide the attackers into gangs and that's how many hits they get each round. If five pirates are needed to score an average of one hit per round and twelve pirates are attacking, just round down and call it two hits per round (12/5 = 2.4). Now you just need to roll damage.

It may seem a little mathy at first, but if you take a few seconds and do this calc at the start of the fight the following rounds of combat will go much more quickly. Different targets (aka PCs) will have different numbers so calculate for each one. As opponents are killed all you have to determine is how many gangs can be made from the ones that remain.

Adding Randomness

If you miss the randomness of rolling for attacks you can use a single roll to simulate randomness for all the attacks. After all, dice are fun.

Roll a single d20 for each target being attacked regardless of how many gangs are attacking.

roll     hits
1-5     no hits
6-15    normal hits
16-20    2x hits

Example: Versus Rumples five pirates makes a gang. Twelve pirates are attacking, so that's 2.4 gangs, which we'll round down and call two gangs. Round 1 we roll a single attack and get a six (normal hits) so Rumples takes two hits. After rolling damage Rumples is doing fine, so Round 2 we roll another attack and get a 17 (2x hits) so he takes four hits. Things are starting to look bad for Rumples.

If you like more extreme results and think 20's and 1's should be special, use this result table instead:

roll    hits
1       no hits, attackers are disorganized and automatically miss next round
2-5     no hits
6-15    normal hits
16-19    2x hits
20       4x hits

Statistics note: The more dice you roll, the more the results become average. We're only rolling one die, which may seem to create extreme results but the distribution of the results has already been spread to mimic the results if you rolled a bunch of attacks separately.


If you want to simplify your calculations you can drop or round off fractions. Fractions are most important in cases where the number of hits is low. If the attackers can get 1.5 hits per round, the .5 is critical. If the attackers can get 3.5 hits per round, the .5 is less important.

If the number of hits is less than 1 the attackers will normally not hit every round. You can do a rough calc and average the hits across rounds (.5 will hit every other round).

Another option is to roll for the fraction each round as a separate check. Just take the decimal and see if you roll that or less on a d10 each round (or a d20, counting 11-20 as 1-10). If you do, it's another hit. You can roll both the d10 and the d20 for the main attack check at the same time.

Now go swarm those players with hordes of cannibals!

[Open Game License]

d20 Point Buy – Wild Card Option

Using point buy to assign ability scores is more balanced than rolling, so you avoid having some players get lucky and while others are penalized. It also gives the players more control to create exactly the character they want. The problem is that the players focus too much on the scores that are important to them. The hyper-specialized characters that come out are too perfect, with not a single point wasted on an ability that doesn't forward the concept.

A compromise is to use point buy, but with a small element of balanced randomness. The player rolls for one ability score that is not essential to the character concept but gets to assign the rest.

1) Player has their character idea, but has not assigned any ability scores. Player picks 2 ability scores that they definitely want to keep control over. These are usually abilities critical to the character concept.

2) Roll d4, the result indicating one of the four remaining ability scores in order.

3) Roll another d4-2, which is then the bonus for that ability score (resulting in a -1 to +2, or 8 to 14 assuming we're sticking with even scores — you can adjust to include odd scores if you want). That ability score is fixed and cannot be changed by the player during point buy.

4) Determine the cost to buy that ability score and subtract that from the points you start with. The player can spend the remaining points on other ability scores however they want.

Since the player is paying for the random ability score normally, all characters will still come out balanced by cost. The one random score just throws in a little unpredictability, increasing the chance that a character will have a quirky or idiosyncratic score.


Morrik the bandit decides that Str and Dex are vital to his character concept, so those are the ability scores he wants to keep control over. That leaves Con, Int, Wis and Cha in order. He rolls a d4 and gets a 2, so Int will be his random ability score. He rolls again and gets a 4, which -2 is 2, so he has a +2 bonus (Int 14). The DM is giving all characters 26 points to spend, and since his Int costs 6 points that leaves him with 20 to spend on his other abilities.


A standard point buy has abilities start at 8, and costs 1 point to raise an ability score 1 up through 14. Raising to 15 or 16 costs 2 each, then raising to 17 or 18 costs 3 each.

[Open Game License]