Like any rules hacker, I’ve tinkered with complex mass-combat rules. The other day, when I actually ran a battle encounter, I threw away all my precious rules in exchange for rock-paper-scissor mechanics, and it was a great success.
One of our players is moving away, and to see him off, I ran a one-shot epic adventure to kill Tiamat. Everyone took a beloved existing character, leveled them to 30, and I rolled the timeline forward a couple of years, to a day when Tiamat’s armies were poised for total conquest of the world. Only the PCs and their armies stood in the way.
I decided to Epic It Up, and go for over-the-top heavy metal high fantasy. Here’s the plot. Over-the-top Epic elements are in CAPS.
THE ENTIRE WORLD HAS BEEN CONQUERED by Tiamat’s forces, except for the encampment containing the PCs and their armies. The PCs are fiddling with a device that will let them TRAVEL TO THE MOON and KILL TIAMAT ON THE MOON surrounded by her DESERT EMPIRE OF DRAGONS AND DRAGONBORN SLAVES ON THE MOON. Tiamat is so big that, from Earth, she is VISIBLE SITTING ON THE SIDE OF THE MOON.
Tiamat’s UNSTOPPABLE ARMIES contain LEGIONS OF PRIMORDIALS, EVIL GODS, legions of cultists, dragonborn infantry, and an AIR FORCE OF DRAGONS THAT DARKENS THE SKY.
MASS BATTLE MECHANICS
PCs Leading Armies
There are 3 kinds of troops, set up in a rock-paper-scissors relationship: flying troops have +2 against infantry, infantry has +2 against ranged, and ranged has +2 against flying.
I gave each of 4 PCs 2 slips of paper: each stood for an army under the PC’s control. The slip gave its type (infantry, ranged, or flying), the description of the army and its general, and its unique exception-based rule. Each turn, each PC could command their choice of either of their two armies (not both).
I mark one square as the PC’s base camp. Four PC start 3 squares from the camp – one to the north, south, east, and west. Tiamat commands 4 armies. I randomly assign each to attack a different PC.
Saving throws to save the world
Every round, each PC makes a saving throw. (As I’ve mentioned, I like to use the saving throw, with crit and fumble events, as a general subsystem mechanic.)
20+: Crit. The PC advances one square away from the camp.
10-19: Success. The PC does not give ground.
2-9: Failure. The PC is pushed back a square towards the camp.
1: Disaster. The PC is pushed back a square, and his active army is destroyed.
If any PC is forced into their camp, or if both of a PC’s armies are killed, the enemy armies overrun the camp and the PCs lose the encounter.
As you can see, the battle is stacked towards Tiamat: it’s just a matter of time before Tiamat’s armies overrun the PC’s camp. There is no way to permanently defeat Tiamat’s armies: this encounter is just a holding action to give a fifth noncombat PC, back in the camp, time to activate the device that will take the PCs to the moon. Activation requires 6 Arcana successes, potentially taking 6 or 8 rounds.
OK, those were all the rules. Now here are the armies I created:
1: Army of Primordials: Infantry.
2: Legion of Dragonborn Cultists. Ranged.
3: First Dragon Fleet. Flying.
4: Second Dragon Fleet. Flying.
The PC Armies
I gave each army a bit of an identity by giving it a named general (or generals), some of which the PCs alread knew: I thought my players would be more invested if they thought of the units as ally NPCs. I tailored each unit to be somehow appropriate to its PC owner.
The first PC was an elven princess, a good cleric. I gave her Archpriest Jethro, an evil cleric who had banded with her to fight the greater evil, and Bolo, who was actually a former PC who had adventured with her.
- ARCHPRIEST JETHRO. Priest of the evil war god, Tiamat’s rival for control of the world.
INFANTRY. +2 vs ranged, -2 vs flying. When Jethro is fighting, any ally who dies may make a saving throw; they live if they succeed.
- GENERAL BOLO. Leader of the world’s eladrin and elf guerilla forces.
INFANTRY. +2 vs ranged, -2 vs flying. Needs a 19+ instead of a 20+ to advance.
The second PC was a morally-ambiguous wizard who had taken Arch-Lich as his Epic Destiny. I gave him skeleton-themed forces.
- DR. BLACK. Lich who leads a force of wizards.
RANGED. +2 vs flying, -2 vs infantry. On a successful defense, Dr. Black gives a +5 bonus to that turn’s Arcana check.
- THE SKELETON KING. Raises dead warriors to join his army.
INFANTRY. +2 vs ranged, -2 vs flying. Every successful defense gives a +1 cumulative bonus on all further saving throws.
The third PC was a githyanki swordmage who had spent a lot of time in the Astral plane.
- CAPTAIN GASHA. Captain of a fleet of flying Githyanki pirate ships.
FLYING. +2 vs infantry, -2 vs ranged. Needs a 19+ instead of a 20+ to advance.
- ARCHANGEL MITUS. Leader of an army of angels of the sun god.
FLYING. +2 vs infantry, -2 vs ranged. +2 vs. Primordial army.
The fourth PC was an orc barbarian who had united the humanoid tribes.
- QUEEN SUSAN. The PC’s older sister.
INFANTRY. +2 vs ranged, -2 vs flying. Even when she is defeated, she only loses ground on a 5 or lower.
- GROTHMAR THE GIANT KING. Leader of an army of rock-throwing giants.
Choice of INFANTRY (+2 vs ranged, -2 vs flying) or RANGED (+2 vs flying, -2 vs infantry)
The fifth PC was an elven ranger prince.
- TITANIA AND OBERON. Queen and King of the Eladrin.
RANGED. +2 vs flying, -2 vs infantry. Must be killed twice for the army to be eliminated.
- KINGS OF THE SOUTH. The human kings, nobles, knights and armies.
INFANTRY. +2 vs ranged, -2 vs flying. Gets a +1 to all rolls.
Extra rule: Sacrificing a general
Many of the PC’s armies had history with the PCs or otherwise had colorful flavor. Since I thought the PCs would feel invested in their NPCs, I added another rule to add drama: if a PC failed a saving throw with a total of 2 to 9 (which normally results in the unit being pushed back), the PC’s general could heroically sacrifice his life (destroying his army) in order to negate the failure and earn an automatic 20 (pushing the enemy army back a square).
How the battle turned out
Giving personalities to the generals was a great idea: the githyanki PC liked his fleet of Githyanki pirate ships, and the orc PC took care not to endanger her older sister, Queen Susan.
The battle was quicker than I expected: back in camp, the morally ambiguous wizard was having no trouble making Hard skill checks to activate the magical device. I’d underestimated how many skill bonuses a level 30 character has. Using an action point, I think he made 6 Hard skill checks in 5 turns.
Over those five turns, the PCs had some victories and took some losses.
On the north front, the orc character was losing ground until she sent in her stubborn sister, Queen Susan, who only lost ground on a d20 roll of 5 or lower.
East and West had no problem: I think they actually gained ground through a couple of critical successes.
In the south, the elven ranger prince was having real problems. He was pushed back for turn after turn. On the last turn of the battle, with the wizard one success away from activating the device, the prince had been pushed back to the encampment: one more failure and his army would collapse and flee!
The elven prince chose Titania and Oberon, the King and Queen of the Feywild, to lead his troops against the enemy.
The prince rolled his last die – and he failed! He got, like, a 6 or something. The prince’s player groaned.
Then he remembered the Sacrificing a General rule. He decided that Titania heroically gave her life to save her husband and their army. The army of dragons were pushed back and Titania expired in her husband’s arms.
Having seen A Midsummer Night’s Dream, I doubt that’s how it would have gone down, but sometimes couples who fight a lot really come together when the chips are down.
The rest of the adventure
The battle took maybe an hour. During the rest of the session, the PCs flew to the moon, led a slave rebellion, flew down one of Tiamat’s massive throats, and then fought an aspect of Tiamat, along with flights of full-sized dragon minions, while standing on Tiamat’s heart itself. Just another day for epic-level characters.