I've spent a lot of time thinking about how to run big hordes of monsters. The rules in the 2024 DMG (which are very similar to the rules in the 2014 DMG) are very good but they do remove the stochastic elements (rolling dice) of combat. It's also not a rule you can keep in your head.
It also doesn't cover one of the most valuable tools for running dozens to hundreds of monsters: pooling damage.
Pooling damage means that instead of tracking the damage dealt to individual monsters, you track damage dealt to the horde as a whole. Add up the damage of each attack, regardless of which monster in the horde is hit. Then every time the total of damage taken is higher than the hit points of a single monster in the horde, remove the last monster hit and reset the damage dealt to zero.
If enough damage is dealt with a single attack to kill multiple monsters, remove that number of monsters, subtracting their hit points from the damage dealt until there isn't enough damage remaining to kill another monster.
To make this math even easier, you can round each monster's hit points to the nearest 5 or 10.
If the horde is hit by a damage-dealing area effect (including spells), remove any creatures that took damage equal to or greater than their hit points after determining their saving throw results. If the damage isn't enough to kill a single monster, tally up the total damage done and remove monsters one at a time, subtracting their hit points from the damage until all damage is accounted for.
For even easier adjudication, you can simply remove any monsters that fail their saving throws, without worrying about their hit points.
I have another easy tool to run hordes and adjudicate their attacks: Assume one quarter succeed.
Whenever rolling individual attacks or saving throws would be a burden, assume that one quarter of attacks or saving throws rolled by the horde succeed. Round up or down depending on the circumstances, such as when determining how many attacks succeed against characters with wildly different ACs.
If all the creatures in a horde have advantage on an attack or saving throw, increase the number of successful attacks or saving throws to one half. If the horde has disadvantage, reduce the number to one in ten.
If any member of the horde is affected by an effect that leaves them incapacitated, remove them from play.
If you prefer to roll dice, roll twice when a group of monsters all make attacks or saving throws. On each success, one quarter of the monster attacks or saving throws succeed. If both rolls fail, no attacks or saving throws succeed.
I wrote about all of these ideas and released them under a Creative Commons license. Here are the links:
It also doesn't cover one of the most valuable tools for running dozens to hundreds of monsters: pooling damage.
Pooling damage means that instead of tracking the damage dealt to individual monsters, you track damage dealt to the horde as a whole. Add up the damage of each attack, regardless of which monster in the horde is hit. Then every time the total of damage taken is higher than the hit points of a single monster in the horde, remove the last monster hit and reset the damage dealt to zero.
If enough damage is dealt with a single attack to kill multiple monsters, remove that number of monsters, subtracting their hit points from the damage dealt until there isn't enough damage remaining to kill another monster.
To make this math even easier, you can round each monster's hit points to the nearest 5 or 10.
If the horde is hit by a damage-dealing area effect (including spells), remove any creatures that took damage equal to or greater than their hit points after determining their saving throw results. If the damage isn't enough to kill a single monster, tally up the total damage done and remove monsters one at a time, subtracting their hit points from the damage until all damage is accounted for.
For even easier adjudication, you can simply remove any monsters that fail their saving throws, without worrying about their hit points.
I have another easy tool to run hordes and adjudicate their attacks: Assume one quarter succeed.
Whenever rolling individual attacks or saving throws would be a burden, assume that one quarter of attacks or saving throws rolled by the horde succeed. Round up or down depending on the circumstances, such as when determining how many attacks succeed against characters with wildly different ACs.
If all the creatures in a horde have advantage on an attack or saving throw, increase the number of successful attacks or saving throws to one half. If the horde has disadvantage, reduce the number to one in ten.
If any member of the horde is affected by an effect that leaves them incapacitated, remove them from play.
If you prefer to roll dice, roll twice when a group of monsters all make attacks or saving throws. On each success, one quarter of the monster attacks or saving throws succeed. If both rolls fail, no attacks or saving throws succeed.
I wrote about all of these ideas and released them under a Creative Commons license. Here are the links:
The Lazy GM's Resource Document
Lazy GM guidelines and resources for 5th edition compatible and other fantasy tabletop roleplaying games.
slyflourish.com