How to do large battles
Of course you could do it in detail, give everything a stat block and basically do just a large fight like there were 10-30 player characters… but in my experience that offers just a very long and tedious fight.
Instead for my games I figured out that the following works most fluently:
Every time a player character or important NPC is involved in an attack, roll it in detail. Do the rest narratively. Rather focus on your party and their closest surroundings. Everything else is just background noise.
The problem with doing the whole battle in detail is: Your NPC will do the most actions during the fight, hence get the most spotlight and that most oftenly feels for players like an interactive cutscene with some DMPCs and less like they were the protagonists.
Here’s an example from my home-brew system (but that’s more a basic issue and works in every system):
My party was traveling with their NPC-Airship crew… about a dozen
well armed redshirts and their captain (the only named NPC in that
scenario). They ran into a horde of undead constructs and had a rather
big fight. When we rolled for initiative I rolled once for the
captain, once for the crew and once for the undead constructs.
Whenever a construct attacked a player or the captain, or when the
players or the captain attacked a construct we rolled like normal, but
every action between crew and constructs were just narration. Crew
members were slaughtered and constructs suffered some autodamage…
just so much that the fight stayed gritty and exciting. If the fight
was too hard, the crew “fought” a little better, if it was too easy
another construct got involved with the players’ actions.
It’s quite easy to keep control and your players don’t get bored. At least for me, that was the best solution for those situations.
For comparison another example from an earlier campaign (same party, same characters), when I didn’t figure out large combats yet (that was in DnD 3.5e):
My party hunted a high level Mary Sue shapeshifter assassin. They were
level 6-7 at that time, the assassin was level 13. They managed to
collect a descent amount of money through the last quest and hired a
mercenary battalion (50 level 1 fighters, and 1 level 4 fighter…
their leader) to lure Mary Sue into a trap. And I did every single
roll… tho Mary Sue sliced every one of them into shreds. It was a
super frustrating combat and super boring. Because I rolled and rolled
and rolled, and all my party could do was watch me rolling and telling
them the casualties Mary Sue inflicted among their mercenaries.
It was the worst most memorable fight in my DMing history. DON’T DO THAT!