Most fights in RPGs are small skirmishes. The 4-6 PCs versus maybe up to 10 or so enemies. The fight can go through quickly, as the system is built around making those types of fight happen. However, sometimes you want to do a bigger fight. Sometimes you want a mass combat with armies, or you want something like the Siege of Helms Deep from the Two Towers. A prolonged battle with a massive enemy force and plenty of time for thrilling heroics from the PCs to keep the light of hope alive.
The problem is when it comes to those fights, the combat system as presented in the book isn't meant to handle that. Your choice then being to take multiple sessions doing a fight round by round such that you'll likely spend several sessions getting through just the opening moments of the fight. Or to mix things up, change up the rules, and rely on some more abstract representation to move things along. Today I have some ideas to help with doing that.
Longer Combat Rounds Can Help
Consider increasing how long a combat round lasts in world. When AD&D 2nd Edition was out a single round of combat took 1 minute. The idea here wasn't that in one minute of fighting your fighter only made 1 attack, but rather that for that minute you were parrying, testing, re-positioning, and working to get that opening when you could make a potentially decisive attack. Over the years and editions though combat rounds have shrunk in time. Some games, like GURPS, have 1 second combat rounds. Most games I've seen go with 6 seconds - making 10 rounds last 1 minute.
This works fine for the most part. It definitely makes a 1 on 1 fight more realistic in timing as in less than 24 seconds on average someone is stabbed to death from a deadly weapon. However, it doesn't feel particularly epic when you're going for more cinematic and tense moments - and it really slows things down to a crawl when you are doing a fight with hundreds of enemies and allies.
Combat 'Turns' Are Good Too
In the Legend of Five Rings massbattle system, for the PCs a masscombat is basically broken down into encounters that happen on a 'Combat Turn' system. The PCs choose their level of engagement (from in the reserves of their army, to heavily engaged in the thick of the fighting) and then they roll to determine their combat opportunity. This then deals automatic damage to them, gives them a chance for a duel, gives them a chance for a skirmish, or some combination of the three. The duel or skirmish then resolves as normal, and when it is done the 'Combat Turn' is over. A Combat Turn however lasts 30-60 minutes. This basically being the moment for heroics the PC found in the middle of that larger chunk of time of fighting.
Fatigue and Moments to Rest
Large battles throughout history are rarely constant fighting the whole time. There are windows of fighting and windows of rest. The invaders don't just try to scale the wall 24/7, but take time to try and soften up the enemy walls with siege weapons, make other pokes, or to time when they attack to catch the most defenders off guard.
Mass combats do the same. There are places where there are lulls in the battle. Times when both sides pull back their forces to assess just what happened, who won, and how the battle looks currently.
Mechanically these lulls are also good, because the fighting that does happen is exhausting. And one way to sell how tense and physically draining these fights can be over the normal skirmishes is by instilling fatigue in some sense. L5R does this with the automatic damage that happens on the Battle Table. No matter how good you are, **everyone** gets hit at least somewhat in a mass battle, and that means staying super deep in the thick of the fighting is more or less a death sentence if the PC never pulls back.
You can do the same in your game. Give players the opportunity to pull back, rest, and recover from some of their wounds. To regain some of their resources. Make it a strategic choice for when they do. After all, while your Evoker Mage is resting they're not throwing Fireballs into the clumped up masses of the enemy troops. While your front line fighter heals, he's not able to tank the aggro or 1 on 1 the enemy champion.
Abstract Generalities Punctuated By Hero Moments
Over the years the best way I've seen, and ever managed to do a mass battle, is largely inspired by the L5R system. but the L5R system does this well. Most of the battle is done through some form of abstract resolution. We have rolls for the generals overall, and rolls for the execution of the plans and moments to determine the general push/pull of the battle, and we punctuate that abstract with the heroic moments that can turn the tide in the PCs favor, or push things over the edge for them.
This gives the focus to the moments that really matter for the PCs, while still handling the overall flow of the battle.
Stakes Must Be Present
The final thing with a mass battle is you need to be clear with your stakes. Large forces don't clash for no reason. Make sure you have the large stakes of the battle, and 'smaller' stakes for what the significance is of the heroic moments you are putting in for your PCs.