by Mike Shea on 26 May 2020
The heroes stand atop a mountain of bones with one hundred skeletons swarming in. The cleric holds her holy symbol aloft and waves of radiant energy tear through the skeletons, shattering dozens of the creatures before the rest roar in.
Our heroes stand atop the ruins of an elven watchtower, blades and spells ready as forty orcs charge in. The stout warrior cleaves into them, slicing off four heads in two vicious cuts.
Our heroes stand atop a cliff of ice, a thousand foot drop behind them and twenty five wights in front, their eyes blazing blue and their black blades ready.
These are the tales of high adventure we know and love. We all remember Aragorn standing alone atop the ruined tower facing a horde of urukai in Lord of the Rings. We all remember John Wick facing off against a whole club of eastern European thugs. And we all remember the seven samurai facing off against fifty town-ravaging bandits.
The mechanics of D&D combat generally presumes the characters will face somewhere between three and twelve bad guys in any given battle. This is why characters have a huge advantage against a single opponent.
Our stories need not be limited by these mechanics. We can, with a little work, run any number of monsters against the characters. Ten? Twenty? Two hundred? Ten thousand?
There are many imperfect ways to run huge hordes of monsters in D&D—situations in which the characters face twenty or more monsters in a single battle. They all require some level of abstraction from our standard combat rules. Some are simpler than others. Some use tables, others you can do in your head. You may have your own preference while other DMs have theirs.
In this article we focus on one particular method for running hordes. I selected this one for a few reasons:
Here's a summary of my preferred techniques for running hordes. It breaks down into three large parts: tracking the damage done to the horde, tracking the horde's attacks and damage, and adjudicating areas of effect.
Tracking Damage Done to the Horde
Tracking Horde Attacks and Damage Output
Adjudicating Areas of Effect
When the horde is hit with an area of effect like turn undead, hypnotic pattern, or fireball, adjudicate the results with these guidelines:
Other Tips for Running Hordes
The rest of this article dives deeper into each of these ideas.
This system for handling hordes is just one method of many. Other methods include:
It's possible you will prefer one of these other systems to the one proposed in this article. That's fine. What works well for you and your group is the one that matters. The end of this article describes the advantages and disadvantages of these alternate systems.
When we're running large hordes of monsters in our D&D games, we generally skip the use of miniatures and we worry less about any individual creature in our battle.
We run these huge battles mostly in our descriptions augmented by some quick sketches of the situation. The players may want to find choke points where they can't be attacked by the whole horde all at once. We can use miniatures for the characters and then draw large blobs to represent the hordes and the groups they form up into. If the characters are defending a tower from a horde of orcs and there are three ways into the tower, we can represent the tower and place the characters' miniatures so that they can clearly see where the choke points are. We don't need forty orc miniatures, a big handdrawn blob with "orcs" in the center works just as well. People will get the idea.
Our goal in these battles is to adjudicate the situation. What makes sense given the current story and situation?
When we begin a battle against a horde, we write down the number of creatures in the horde and the hit points of one creature within the horde. Round their average hit points to the nearest 5 or 10 to make life easier.
When the characters attack the horde, they still attack versus the AC of a single monster in that horde. When they damage the monster, add the damage to the single damage tally for the whole horde. If the tally goes above the hit points of a single creature, we remove the last creature damaged from the horde, reset the tally, and roll over any remaining damage. This is similar to the "Cleaving through Creatures" description in chapter 9 of the Dungeon Master's Guide. A single powerful blow might kill multiple creatures which, of course, is awesome.
For example, a fighter faces off against a horde of skeletons and hits them with three attacks, inflicting 36 damage. We remove three of the skeletons (10 hp each) and add 6 damage to our tally. Next turn a rogue backstabs a skeleton for 19 damage. We add 19 to the 6 (25), remove two more skeletons and roll over 5 to the damage tally.
If a bunch of monsters in a horde are damaged with an area attack spell, we first figure out how many monsters in the horde it hits and then apply the damage to those who would be hit. If the damage is higher than the hit points of a single monster, we remove them all and don't worry about rolling over excess damage. If they don't take enough damage to kill them, we add it all up on the tally and see how many monsters it might kill.
For example, a wizard casts fireball on a horde of zombies and we adjudicate that it can hit sixteen zombies (20 hp each). The wizard rolls 27 damage for the fireball. Three quarters of the zombies fail their saving throw, taking 27 fire damage each, and are instantly killed. The remaining four take 13 damage each or 52 total added to the tally. This is enough to kill two more and leave 12 damage on the tally. Two zombies remain, one badly scorched.
This tally idea seems complicated but it scales well for any number of monsters. You can run a dozen orcs this way, or one hundred skeletons, or five hundred goblins and the same system applies.
Track damage done to the whole group in a damage tally and remove monsters as the group takes enough damage to kill a single monster.
It's possible, given the size of the horde, to just use the damage tally idea above and still roll monster attacks normally. If you're running around twenty creatures with single attacks, rolling individual attacks isn't so bad. If you're running a LOT of monsters, though, you may want to abstract the attacks to speed up gameplay.
First, you need to decide who's getting attacked by the horde and how many monsters within the horde are attacking them. Start by looking at the situation. Does the horde have ranged attacks? Are any of the characters up front and likely to take on more than everyone else? Our base assumption should be that the monsters attack the characters equally. If there are fifty orcs and five characters, ten orcs will attack each character. If one character manages to hide from the orcs, the orcs divide their attacks among the rest. If a circumstance means that the monsters simply can't attack, for example if there's a choke point and they don't have ranged attacks, they miss out.
Determine based on the circumstances how many within a horde attack each character. Begin by assuming they divide their attacks equally.
In any given match up between weak monsters and strong characters—the likely situation when a horde attacks the characters—we can assume that about one in four monsters in the horde will hit when they all attack.
This is a loose approximation and we can adjust it based on circumstances. Such circumstances might include:
In these circumstances we can either choose to round up or down when determining how many creatures succeed or, if its a big enough bonus, we can change it from one in four succeeding to one in eight or one in ten if things are going against them or one in two if they have advantage.
Start with one in four and then slide the gauge up or down depending on the situation. This is a nearly math-less way of determining how many monsters succeed or fail that we can do in our heads without the use of a table or tool. Thus, it's the lazy way.
If the horde has advantage, such as those having pack tactics, we might increase this to half of them succeeding. Likewise, if they are at disadvantage, we might lower it to one in ten succeeding, or even less.
When the creatures in a horde have multiple attacks, we pool all of those attacks together to decide how many total attacks hit. If eight thugs attack a single character with their multitattack, we begin by assuming two of them hit with both attacks (one out of four of them) but remembering that the thugs have pack tactics, we might increase that to four successful thugs and eight total attacks hitting for 5 damage each (40 damage). Thugs make dangerous hordes.
Assume one in four monsters succeed on their attacks and adjust accordingly.
When the characters face off against a large number of monsters, they're almost certainly going to fall back to area of effect spells like fireball, cone of cold, shatter, turn undead, or hypnotic pattern. Adjudicating areas of effect against large numbers of monsters takes a few steps but once these steps are wired in, it isn't too hard.
These steps might seem complicated but most of the time it will work out well. Areas of effect should be very useful against huge hordes of enemies.
When hit with an area of effect, determine how many creatures are in the area, roll damage, remove those who die, carry over any remaining damage to the horde and remove additional dead creatures.
Many areas of effect abilities, such as turn undead, don't inflict damage but inflict some other status effect. In this case, we can assume that one in four succeeds while the others fail. We can keep track of these incapacitated enemies separate from the rest of the horde or simply remove them from play. When a character wants to target one of the creatures who are under the status; like a skeleton restrained by an Evard's black tentacles spell, they can simply state it and we adjust accordingly.
I've talked here at length about the flaws of D&D's encounter building rules and offered numerous solutions. Many times when facing huge hordes of monsters, the encounter is very likely deadly. This goes up significantly if the challenge rating of the monsters in the horde are higher than CR 1/4 or 1/2.
You can still use my simple encounter building guidelines to determine this however, and get an idea how many monsters in a horde are on that edge of deadly. Here's a summary of my simplified encounter building rules:
An encounter is potentially deadly if the sum total of monster challenge ratings is greater than half of the sum total of character levels, or one quarter if the characters are below 5th level.
Thus, if we have five 10th level characters, we know that more than 100 skeletons in a horde is potentially deadly. If we have five 7th level characters, more than 34 thugs is potentially deadly.
These battles against hordes can swing one way or another easily, though, given the sheer number of them and the potential to get wiped out with big areas of effect so, of course, your mileage will vary.
Don't hang on too tight to encounter building rules when running hordes.
That covers the basics of running monster hordes. Here are a few tips to make running huge battles easy and memorable.
Go big with descriptions. These battles are all about epic storytelling. Don't focus on the mechanics in your descriptions. Instead, focus on the story. Describe the screaming hordes of orcs charging the characters only to be blown away by a fireball. Describe the hordes of skeletons charging up the hill or the silent wights marching forward. Focus on the fiction first and last. Let the mechanics help shape the story.
Use the same type of monster for the horde. Don't try to run multiple monster types in a single horde. Trying to track two different hordes is really difficult and gods help you if those hordes get mix up together.
Reflavor for variance. If the story dictates that the horde has different kinds of creatures in them, use a single stat block and reflavor the creature in your descriptions. If the characters are getting attacked by both pirates and sea spawns; use a single stat block to represent them. In your description you describe some of them as more humanoid looking pirates and others as more twisted sea creatures. Yet, for you, the stat block is still the same. No one will be the wiser.
Use three groups or fewer. When you split up your hordes into separate horde groups, keep them around three or fewer. One is best and easiest to work with. More than three and life gets complicated.
Mix hordes with normal creatures. While running multiple types hordes can be difficult, a single horde can work well when mixed with normal single creatures. A horde of fifty orcs might be led by an orc war chief and four armored ogres. You can run the war chief and the ogres as individual creatures like normal and the horde using the guidelines above. It will make for a complicated fight but it isn't out of the question.
Now let's take a brief look at some alternate systems for running monster hordes.
Page 250 of the Dungeon Master's Guide includes a brief section called "Handling Mobs" with instructions and a table to help adjudicate hits when lots of monsters are attacking a single character. The general idea is that, instead of rolling dice, you figure out how many monsters are likely to hit given their attack bonus and the AC of their victim. We can use the same table in reverse to determine how many creatures make their save against a characters' spell or ability.
The guidelines in the DMG are solid. If you have the table on hand, it's a fine way to adjudicate how many monsters succeed in an attack. You can also reverse-engineer this table to also determine how many monsters would succeed on a saving throw.
Unfortunately, these guidelines don't tell us how to easily track hit points for a large number of monsters so we need some other system for tracking hit points. The horde damage tally can work well for this.
Page 7 of the Lazy DM's Workbook includes a table similar to the one in the Dungeon Master's Guide and offers a way to track hit points by building a huge hit point pool for all of the monsters and then every time that pool takes damage equal to the hit points of a single monster, removing that monster. This latter part is actually difficult when used at the table and I now prefer the solution in this article. The table itself, however, continues to serve in the same way the one in the DMG serves.
If we want a simpler system for tracking damage done to monsters, we can steal the idea of "minions" from the 4th edition of D&D. In this system, every creature in the horde has only one hit point. If they take damage, they die. They take no damage if they succeed on a saving throw, however, so you can't just wipe them out with a single fireball unless they all fail their saving throw. Damage, in this case, does not carry over.
This system works well by requiring no bookkeeping. Monsters are either alive or dead. They don't actually have hit points. If they are hit, they die. If they are missed, they survive. It's a deviation from the core rules but a clean system none the less.
A while back I wrote a mob damage calculator intended to help DMs determine how many monsters succeed on attacks or saving throws. You plug in the data and it spits out the results. This script works well enough but requiring a script to figure this out isn't ideal. Thus, I recommend easier systems for determining success. If you prefer this to other systems, go with the gods.
Likewise, I wrote another article on reskinning big monsters into swarms. This system seems elegant but it fails as soon as the characters try to hit the "swarm" with an area of effect spell. A fireball should be very effective against a swarm yet does nothing special to a single big monster treated as a swarm. The same is true with spells like hypnotic pattern or abilities like turn undead. Against a big monster swarm, its either all on or all off. That isn't ideal. Thus, I prefer systems that still treat monsters in a horde individually.
This article outlines a simple system for running large numbers of creatures against your characters. As lazy dungeon masters, we let the story take us where it will and use the tools we have on hand to make them as exciting and fantastic as possible. Now when our epic heroes are standing on a mountain of bones in the undead world of Thanatos surrounded by two hundred ghouls, you have the tools on hand to let the story flow into this epic situation.