2016 saw the return of the Doom franchise. 2020 gave us the sequel, Doom Eternal. The games are famous for their “press forward” combat, high-adrenaline gameplay, and a rapid resource loop that compels the player to play aggressively rather than playing the game like a cover shooter. Despite being armed with an array of primarily ranged weapons, the player still dives in and out of melee combat, sometimes against large single foes, sometimes against a cluster of smaller ones. Always outnumbered, but never outgunned.

I played through both, and ever since I have asked myself “how do I make dnd combat work like that?”

So I set out to build myself an answer.

This is another one of my wild excursions into pushing the system to do something unusual, similar to my Practical Guide to One-Hour D&D Sessions. Settle in. This is going to be fun. There’s going to be some math here (don’t worry, you won’t need a calculator), some tables, etc., but the rules for building encounters actually give us a lot of room to work without breaking anything or accidentally putting a polearm through a window or something.

One word of warning: I do not recommend this system for player characters below 5th level. There simply isn’t a broad enough range of CRs from which we can select enemies, and players below 5th level often aren’t strong enough to survive encounters in this style. Heavily-optimized characters at levels 3 or 4 might be able to manage, but the power spike at level 5 really does make a difference here. Clearing out a room full of CR 0 enemies is hard when you have one attack and your best area damage is Burning Hands.

Table of Contents

Understanding Combat in DnD

If we want to change how combat works in dungeons and dragons, we need to understand how it works to get a baseline to work from.

Movement and Positioning

Movement in 5th edition doesn’t carry an action cost, which means that it’s always available to creatures in combat. This, in theory, allows creatures to move around quite a bit in combat. However, in reality movement is often only used to move to a more advantageous position, where characters will then stand perfectly still until a more advantageous position reveals itself. In many encounters, characters start and end the fight within one turn’s movement of where they started because going any further is rarely helpful.

This is totally fine in many combats. In the confines of a cramped cave or dungeon, there’s rarely enough room to allow creatures to frolic about waving swords at one another, so generally opposing sides will position themselves as best they can to beat their opponents and not move unless compelled to do so.

Positioning is also crucial to keeping your frail allies alive. When you’re a fighter in full plate and a shield and your friend is a sickly wizard in a bath robe, you need to position yourself to keep them alive so that they can blow stuff up and identify the loot when you’re done. Opportunity Attacks help to reinforce this mechanic by deterring creatures from running past each other to find a more favorable target.

Resource Management

The fundamental concept at the heart of combat is resource attrition. Hit points are the most most obvious example: generally creatures have a fixed hit point maximum, and whichever sides’ hit points hit 0 first loses. While it’s frequently more complicated and interesting than counting backwards, this metaphorical shin kicking is at the heart of combat in dungeons and dragons and has been since its earliest editions.

There are, of course, other resources. Spell slots, abilities with limited uses, time, etc., all of which are expensive and precious and need to be managed. You can sometimes trade one resource for another, such as by spending a spell slot to heal an ally, but that just buys you time (which is why healing in combat is generally not a good idea). Typically you want to get right back to shin kicking so you can get the monsters down to 0 rather than feeding spell slots to your party’s fighter only for the monsters to deal just as much damage as you healed on their next turn.


Combat in 5th edition is assumed to take 3 to 5 rounds, and that concept is baked right into the math for determining Challenge Rating. The rules for creating monsters use the creature’s actions in the first three rounds of combat to determine “offensive CR”. If combat goes longer than that, the attrition cost gets really high for the players. Spell slots run out, special abilities get spent, and it turns into a slog of mundane weapon attacks and cantrips. Again: shin kicking.

None of this is to say that DnD combat is boring or bad. I really enjoy combat in DnD. But for combat to fun, it generally needs to be short and dangerous but still not so costly that characters immediately need a long rest. That 3-round timer is important not just to a single encounter but to the balance of encounters throughout a dense adventuring day.


The base assumption of DnD combat is that a party of four players will face one creature of a CR equal to their average level, and find that to be an adequate but fair challenge. That default encounter is baked into the math of the game, just as the duration of encounters is. Encounters will sometimes have more numerous enemies or may be harder or easier, but that default encounter is still the “default” from which all other encounters deviate.

Since single-monster encounters tend to be boring with most creatures, encounters featuring multiple enemies have grown very common in 5th edition. Even then, they’re typically of a CR close to the players’ level so that each individual creature is still a meaningful threat to the players on its own.

Xanathar’s Guide to Everything goes into this a bit more in the Designing Encounters section. It’s a bit dense, but so is this article. You don’t need to read Xanathar’s to use this article, but it might still be helpful, especially if you dislike the xp budget system in the Dungeon Master’s Guide.


Terrain in Dungeons and Dragons is generally pretty simple. Most combats take place on a single level of elevation, and might be decorated with a few things like columns, pits, difficult terrain, etc., but the fundamental design of terrain in combat is “you’re in a room or a cave and there’s bad guys on the other side.” Sometimes there are choke points where one side can embed themselves for a tactical advantage or high points where ranged attackers can poke at everyone else from relative safety.

A lot of this is due to the physical limitations of what’s easy to convey with a flat gaming surface (a “battle map”). But complex terrain also just isn’t an expectation of combat in DnD and tight quarters in dungeons don’t leave much room for terrain, so many DMs don’t really consider it when designing encounters.


If you’ve ever heard someone say “how do you want to do this?”, they’ve internalized one of Matt Mercer’s most famous DM tricks: giving the players the opportunity to narrate the final blow of combat. Short of that, most groups give very little room to dramatic descriptions of what they’re doing in combat.

Understanding Combat in Doom Eternal

I am by no means an expert on Doom Eternal. I am not good at first-person shooters. My reflexes are trash, I’m not very observant, and my aim isn’t very good. None of these things make me good at playing Doom Eternal. But there are a lot of things about it that are really great.

Movement and Positioning

In Doom, movement is safety. Standing still gets you killed. Most projectiles move slowly enough that you can dodge them, and while cover exists there simply isn’t a mechanism for hiding behind cover. Even if there were, your enemies are too numerous for cover to remain safe for more than a moment.

Doom doesn’t have the concept of Opportunity Attacks, so running up to enemies to punch or chainsaw them before dashing past other enemies isn’t a danger like is in Dungeons and Dragons. This works in Doom because it’s a solitary experience, so that specific concept likely can’t apply to DnD, but it’s still important to understand it.

Resource Management

In Doom, your resources are finite but typically easy to restore. The concept of “fodder” enemies and the recharging chainsaw allow you to restore you ammunition, armor, and hit points by “farming” weaker enemies before returning your attention to the real threats.

But ignoring the player’s ever-refilling resources, enemies are finite much like they are in DnD. A given fight will have some number of each type of creature, and short of the perpetual flow of fodder demons (which are there to feed you rather than actually harm you in any meaningful way), the major enemies are finite in number. Once you kill the big stuff, the small stuff sticks around for you to farm, but stops respawning. Falling into a sessions of shin kicking is exceptionally rare, and usually only occurs when you run out of ammunition because you didn’t notice that the chainsaw fuel recharges (I learned that 2/3 of the way through the game because, again, I’m bad).

Doom also presents many fights in “waves”, where you’ll defeat the major foes in a fight only for another group to appear to continue the fight.


I don’t know how long combat is in Doom or how long it’s supposed to take for any given fight. Sometimes I take a long time because I’m bad, but at the same time combat is fast and frantic and there isn’t time to check a clock. Doom also doesn’t have the concept of rounds, so it’s not quite fair.

But more importantly: Fights at least feel long, and waves of enemies certainly make fights much longer. But it’s not because it takes 30 minutes to get through a round (a problem many people face in DnD combat), it’s because combat is an adrenaline-fueled endurance test that pushes you to think and respond quickly and precisely or die.


With the exception of bosses, which we can neatly replicate with Legendary creatures, enemies in Doom fall into two categories: Fodder, Heavy, and Super Heavy. These groups have distinct roles in fights, and follow rough patterns that emerge when you look just slightly past the pixels.

Fodder Demons aren’t a serious threat on their own. Their attacks are slow and frequently follow lengthy and obvious movement patterns which give the player adequate time to evade them. If you’re already moving, you don’t even need to try. You might occasionally run into an imp’s fireball by accident, but even then the damage is extremely minor.

Heavy Demons are the majority of threats that the players faces. Mancubi (the big chubby guys), Cacodemons (beholders with the serial numbers and magic shaved off, etc. When you first encounter these enemies, you might face one in a solo fight so that you can learn their mechanics, but after that they’re just another spot in the roster of demons in any given fight. One or more heavy demons will typically be accompanied by a continuously-replenishing group of fodder demons to ensure that you have health and ammunition to face the real threats.

Super Heavy Demons are more impressive threats, and one or two of them is frequently a whole fight on its own. Arch-Viles (the fiery caster/summoner guys) and Doom Hunters (demons with a hovercar for a bottom half). Generally when you face these enemies there will be fewer of them than when you face Heavy Demons, and there may even be fewer Fodder Demons to worry about.

Within those three broad categories of enemies and varied terrain, there is plenty of variety in combat despite having a roster of just 26 enemies in Doom Eternal.


Terrain in Doom is mostly static once a fight starts, but the terrain is nearly always multiple vertical floors with stairs and ramps and ledges. Things to climb and jump over, places to hide, long open areas with clear sight lines. The terrain is complex and interesting and fun, but it also leaves nowhere to hide for more than a moment.


Finishing moves are a survival mechanic in Doom. It’s literally how you stave off death. Beating opponents until they’re injured enough for a “finishing move” is part of the gameplay loop, and you need to play that loop repeatedly and in rapid succession to succeed.

A More Familiar Example: Moria

I’m going to blindly assume that you have seen the Lord of the Rings film trilogy (the live-action one, not the animated one). If you haven’t, go watch them at some point, but we’ll jump to a relevant scene:

The Fellowship of the Ring is deep in the Mines of Moria. They have found the tomb of Balin, and Pippin has dropped a dead body into well and alerted Moria’s new inhabitants to their presence. They hear drums in the deep, and they know that enemies are coming. They bar the door, draw their weapons, and prepare to fight for their lives.

This is perhaps the whole of the Fellowship fighting at their peak: The whole party assembled, their purposes united, and given no other option than to fight for their lives. An endless flood of orcs rushes into the room, but each individual orc is scarcely a threat. Even the hobbits manage to dispatch a few of them.

But then we get the real threat: the cave troll. The cave troll requires that the heroes focus their attentions on it while still managing the background threat of the orcs. If they ignore the orcs, they’ll die. If they don’t defeat the troll quickly, they’ll die.

Managing those two threats while also protecting each other (including the hobbits, who aren’t doing much to help), creates a persistent sense of danger and excitement, and while the heroes cut through the horde of orcs without much trouble they’re still persistently threatened for the entire fight. Until the troll falls and the orcs flee, the entire party is in persistent danger.

This more familiar example bridges the gap between combat in DnD and combat in Doom, and I think it’s a great example of what we’re trying to achieve in this article.

Merging the Concepts

Dungeons and Dragons and Doom Eternal are two wildly different games with wildly different gameplay. You can’t simulate a single-player 1st-person shooter in a turn-based multiplayer RPG. But that fundamental difference between the two games is not why we’re here. That’s not what I want to take from Doom.

What I want is the way combat feels. I want DnD combat to stop feeling like a 3-round shin kicking competition and I want it to feel like a brutal, adrenaline-fueled slug fest that pushes me and my allies to the brink of collapse again and again only to leave us standing triumphant atop a field of our defeated foes like avatars of destruction.

I want to rip and tear.

So how do we do it? It’s certainly not easy, but it may be easier than you think. Let’s discuss merging the concepts first, then we’ll discuss implementation.


Looking at Doom (2016) and Doom Eternal, I have a wish list. These are all of the points I want to hit:

  • Move or Die. Movement needs to be necessary and valuable.
  • Kill to Replenish. Defeating enemies should provide respite of some sort.
  • Diverse Enemies Within Encounters. Encounters should include a mix of thematically-similar creatures which require the party to change tactics when changing targets.
  • Continuous Pressure. While the players don’t need to be constantly near death, they should never feel safe.
  • Terrain Should Matter. The terrain of an encounter should be interesting and encourage movement.
  • No Rules Changes. I may play with the numbers a bit around encounter difficulty, but I’m not going to cheat by suggesting changes to the rules. I want this system to work within the existing rules so that you can drop this into your game a few times without needing to change anything else. I will suggest some official optional rules, but they should not be necessary for this system to function.

Movement and Positioning

Movement should be necessary and it should be valuable. Players remaining in place for a long period of time should be dangerous, and there should be consequences to doing so. It should still remain possible, and maybe it will still be a good idea for a period of time, but the cost of remaining still should grow as time passes. Enemies will gather and focus their attentions on anyone who remains one place for too long, so the players need to remain on the move to avoid being overwhelmed.

Resource Management

This is perhaps the biggest challenge. DnD’s difficulty management is fundamentally about resource management, and Doom’s gameplay loop gives you an infinitely-replenishing pool of resources. Those two concepts are completely opposed, and therefore impossible to reconcile without changing the rules of the game.

The trick will be to only use this system with parties with enough resources to go the distance, to make sure that those resources are available when the fighting starts, and to push the party to stretch those resources further than usual.


I want combat to last roughly one to two minutes of in-game time (so 10-20 rounds). Many short-duration spells have 1-minute durations, and since at least 3rd edition that has effectively meant “until this fight ends”, and I want that 1-minute duration to actually matter compared to weaker spells with longer durations that might still only fit into one fight. I want the countdown on a spell’s duration to be a source of pressure.

I also want combat to have “waves” or “phases”. A fight in Doom with only one batch of Heavy enemies is a speedbump between actual fights.

However, these ideas present a challenge in DnD. Combat can take a long time to run, especially with multiple enemies to manage. As a DM you need to be ready to use every trick in the book to speed up combat, and I’ve written an article on faster combat to help you do that.


Enemies in this system will be drawn from the same pool as everywhere else. The key difference will be in how we select them. CR will factor into this decision process heavily. Enemies will typically be below the party’s level in order to allow the party to face multiple foes. We’re also going to borrow the 3-tier system from Doom, but we’ll rename the top two tiers both to disambiguate the word “heavy” and to remove the implication that high-CR foes are heavy in a game where a high-CR foe might be a neutrally-buoyant floating head.

  • Fodder Enemies. These enemies will be numerous, but far enough down the CR scale that they’re only a real threat if the party ignores them and lets them attack en masse. Area damage effects will eliminate them quickly and in large numbers, if you need martial characters to handle them more easily, the Cleaving Through Creatures optional rule will do a lot to help since fighters typically can’t cast Fireball.
  • Standard Enemies. The bulk of meaningful foes. These will be several CR steps below the players because we still want to include several of them in an encounter at once. Even so, due to 5e’s bounded math we can still expect these enemies to be dangerous.
  • Elite Enemies. Few in number, but relatively high in CR. These enemies will be at most of CR equal to the party’s level, because we’re still going to have Fodder Enemies running around, and from time to time you might want more than one Elite on the field at the same time.

Our choice of specific enemies will also be important. Enemies that apply long-lasting status conditions which are difficult or costly to remove will make these long, drawn-out fights considerably more difficult, so enemies like shadows which drain Strength or enemies which reduce players’ hit point maximum can both be challenging to include. Fortunately, we don’t have Doom’s limited roster (seriously, it’s only 24 non-boss enemies), so we’re not starving for options.


I’m as guilt as anyone else of making combat terrain boring. It’s really easy to say “this room is a 20-foot cube. Exits are East, West, and Dennis” and get straight to the shin kicking. If I want combat to take 30 minutes, I don’t want to spend 30 minutes building an elaborate map that the party is going to ignore the second they get into position.

I’m hoping that this system will make combat take more time in-game, which will almost certainly mean that combat will take more real-world time, too (although maybe you read my tips on faster DnD combat and learned a bunch in a hurry, in which case, high-five! you’re doing great!). That extra real-world time justifies putting more time into designing the terrain for your encounter. You’re going to have fewer encounters in that same time span, so rather than design multiple maps you get to design one abnormally cool one.


Aside from character options which trigger when a player reduces a creature to 0 hit points (ex: Way of the Long Death’s Touch of Death), there’s not much in the game that happens when a creature is defeated other than the creature stops taking turns. That can feel underwhelming compared to Doom’s finishing moves. We need some sort of reward system for eliminating a creature.

I’ll elaborate more below, but the short answer is “Inspiration”.

Consider award Inspiration every time an enemy is slain.

This makes farming Fodder enemies for Inspiration a sort of “meta mechanic” for these encounters, encouraging players to move back and forth between eliminating Fodder to get Inspiration and focusing on larger threats. Inspiration can both protect them from danger by granting Advantage on saving throws and give the players Advantage on attacks in order to improve their effectiveness offensively. Players can’t have more than one Inspiration, so they can’t hoard it, stack it, or reserve, it, and with a farmable way to gain Inspiration, there’s motivation to gain it and use it quickly.

This on its own should make Inspiration an unusually useful and interesting resource, but if you need more ideas, we did a podcast episode about metacurrencies in tabletop RPGs which offers some suggestions.

Running Doom-Style DnD Combat

Now that we’ve got the concepts down, let’s talk specifics about how we’re going to put this into practice. This is going to involve math. Not a ton, but enough for it to matter. I’ll do my absolute best to keep it simple, but if you need to grab a spreadsheet or a calculator, I don’t blame you.

I’ll also provide examples at the bottom. They’re as much for me as they are for you.

Phase 0: Research

Read this article. I’m assuming that you’ve already done it once at this point, so well done! Once you understand the concepts behind what we’re doing here, hopefully the rest of this will make more sense.

You’ll also need a copy of Xanathar’s Guide to Everything (affiliate link). This section is going to make use of the Encounter Building section in chapter 2. I can’t reproduce the text here without breaking the law, but the tables under Step 4: Select Monsters are essential.

If you want, point your players to this article, too. Having a shared understanding of what you’re trying to do might help your players make decisions, and it might explain when you’re throwing so many weak enemies at your party in an encounter that has dragged on for an unusually long time.

Phase 1: Preparation

Step 1.1: Pick the Roster

We need to pick 3 challenge ratings (or 2 if you don’t intend to use Elite Enemies, which is perfectly fine). The lowest will be for Fodder Enemies, the next for Standard Enemies, and the highest for Elite Enemies. Open up the Encounter Building section of Xanathar’s Guide to Everything and flip to the “Multiple Monsters” tables on page 90.

For Fodder Enemies, you want the CR to be extremely low. Use the highest CR at which the ratio is 1:12, meaning that 12 such creatures are a threat for one player of that level. If the row for your party’s level doesn’t have 1:12 on it (most of the rows don’t), use the CR one step lower than what is listed in that table, as described in Weak Monsters and High-Level Characters on the previous page. Technically anything at that CR or below will work, but don’t go too low or your level 20 players will ask why they’re fighting CR 0 hyenas. You should also avoid anything that requires tracking status conditions, as this will dramatically slow down combat.

For example: For level 11 players, the lowest listed in the table CR is CR 1 with a 1:6 ratio. Anything below CR 1 uses a 1:12 ratio, so we could use CR 1/2 for our fodder enemies. A CR 1/2 enemy is estimated to have 50-70 hit points based on the rules for creating a monster, but in reality CR 1/2 enemies have somewhere between 20 and 30 hit points. Enough that it might take a two hits or a decent damage spell to bring them down, but not so many that the whole party is going to spend several turns beating on one to kill it.

For Standard Enemies, use enemies that are listed with a ratio of 1:1. One CR step up or down may also be fine, but that one CR step can take an encounter from medium to easy if you go down, or from medium to hard if you go up. The math is intentionally permissive here so that you can adjust the difficulty of encounters while still keeping them in a range that your players can handle without dying.

If you want more than one type of Standard Enemy in an encounter, you might choose one that’s one CR step down and one that’s one CR step up, then use those two additional options to offset each other in one wave. Just keep in mind that you’re also going to have Fodder Enemies running around, which will add to the difficulty of the encounter.

For example: For level 11 players, a CR 4 creature is listed with a 1:1 ratio, so that’s our sweet spot for a Standard Enemy. We could pick a few CR 4 enemies, and maybe one at CR 3 and one at CR 5 to give ourselves some more flexibility.

For Elite Enemies, look for a listed ratio of 2:1. You’ll frequently have several CR options at that ratio, so I recommend going for the more difficult end of the spectrum. You could also go up one ratio step to a CR listed with 3:1, but between that, the Fodder Enemies, and the unusual attrition challenges of the Doom-Style Combat format you may find that the encounter is more deadly than you wanted.

For example: For level 11 players, CR 5, 6, and 7 all have a ratio of 2:1. I recommend using CR 6 or 7 to leave some gap in strength between Standard and Elite Enemies. CR 8 could work, but be cautious.

Step 1.2: Plan Waves

Planning your waves requires that you consider how you’re pacing encounters throughout an adventuring day. The Adventuring Day section on page 84 the Dungeon Master’s Guide. To summarize: A party can typically handle 6 to 8 meaningful encounters in a day, and they’re expect to take 2 short rests throughout that day, roughly evenly spaced throughout the encounters. The DMG also provides an “XP Budget” for balancing encounters throughout an adventuring day, and the math doesn’t quite line up with the 6-8 guideline. I lay out the numbers in the Encounters Per Character Level table of my Practical Guide to Campaign Planning, but the numbers work out more realistically to 5-6 medium encounters per day with a few exceptions.

So let’s assume that your party can handle 6 medium encounters per long rest. They’re tough, resilient folks with well-built characters (if they’re not, introduce them to the rest of this site). I’m sure they’ll be fine, especially if they take short rests roughly every 2 encounters.

It’s best to bookend Doom-Style Combat with rests, which means that one Doom-Style Combat encounter takes the place of 2 regular encounters in most cases. That also conveniently gives us an idea of how much we can fit into one encounter: 2 encounters worth of stuff.

If you go beyond that, expect to seriously deviate form the Adventuring Day guidelines as players are forced to dip further into limited daily resources like spell slots. If you do 3 encounters worth of enemies, I would expect at most 2 other combat encounters in that day.

Of course, that doesn’t necessarily mean 2 waves (or 3 if you go for 3 encounters worth of enemies).

Remember: We want to drag the challenge out longer than a typical encounter. Part of the difficulty of Doom-Style Combat is that the players need to remain effective for an unusually long amount of time. Your encounter might never have enough enemies on the field at once to reach Medium difficulty, and that is both fine and intentional.

A typical Doom-Style Combat encounter will have 2 to 3 waves. If you use 3 encounters worth of enemies, expect to have 5 to 6 waves. If you do fewer waves, they’ll be more dangerous. If you do more waves, the fight will likely take longer. Adjust to your preference.

When we go to play the encounter, we want the line between waves to be “fuzzy”. We don’t want to get into an obvious pattern where the players eliminate two Standard Enemies, and two more immediately appear because that will both break immersion and allow the players to game the system in a way that buys them time to rest. Doom Eternal is occasionally guilty of this, and you sometimes get into a situation where you have one largely helpless Heavy Demon standing around while you farm Fodder Demons for ammunition.

In play, this means that you as the DM need to pick your moment to say “this wave is on its way out, so it’s time for the next to come in”. But, like the ocean, if you hit them with a bunch of waves at once they’re going to die. You’ll need to assess the state of the encounter frequently and look for the right moments to bring in the next wave.

Step 1.3: Calculate Enemy Count

We need to know how many enemies we have to work with. Grab Xanathar’s Guide to Everything, and look at the Encounter Building section’s tables for multiple monsters. We’re going to add up how many monsters we want to use from each of our three categories. I’m going to refer to the numbers matched to a single player as their “budget” as a short-hand.

For Fodder Enemies, use one player’s budget for two encounters (three if you want three encounters worth of stuff) for enemies from your roster selected in step 1.1. If you have 5 or more players, instead use two players’ budgets. If you have an unusually large number of player characters, use one player out of every four, rounded up (2 for parties of 5 to 8, 3 for parties of 9 to 12, etc.). But if you’re running Doom-Style Combat for a huge group, expect this to take a miserably long time.

For example: Our party of 11th-level players has four members. We’ve decided to use CR 1/2 enemies as Fodder Enemies, so we get 24 of those creatures to use as fodder (1:12 ratio, one player, two encounters worth of stuff in our DOOM-Style Combat). If we added a 5th player, we would add another 24 Fodder Enemies. If we added a 6th player, that player’s budget would go to non-fodder enemies.

For Standard Enemies and Elite Enemies, use the remaining players’ budgets for two encounters (three if you want three encounters worth of stuff). Most of the players’ budgets should be used for Standard Enemies, but if you’re planning to use Elite Enemies in your encounter, try to match those with the players’ budgets to keep the math simple for yourself.

For example: Our party of 11th-level players has four members. We spent one player’s budget on Fodder Enemies, so we have three players’ budgets to spend. If we stick to CR 4 Standard Enemies, that gives us 6 to work with (1:1 ratio, three players, two encounters worth of stuff in our DOOM-Style Combat). If we decided that we want some Elite Enemies, we can drop 2 Standard Enemies to add 1 Elite Enemy (2:1 ratio).

Those numbers really show how the individual monsters of high enough CR to challenge the party members aren’t numerous enough that this gets scary. There are at most four times as many Fodder Enemies as Standard Enemies, and the intent is that the party can cut through the fodder with ease.

Step 1.4: Allocate Enemies to Waves

You’ll typically have 6 Standard Enemies to roughly 4 players and 24 Fodder Enemies (the numbers will fluctuate depending on the size of your party; see Calculate Enemy Count, above). If we want to have 2 to 3 waves, we could split them up in several ways.

The “standard” option is 3 waves with 2 Standard Enemies in each. We can allocate 6 Fodder enemies to each of the three waves, and reserve the remaining 6 Fodder Enemies to throw into the encounter when the players have eliminated most or all of the existing Fodder Enemies in order to maintain a constant population. Depending on how much your players like to attack Fodder Enemies, you might adjust that to 4 in each wave and leave 12 in reserve to gradually trickle into the fight.

For fewer, harder waves, you can do two waves of 3 Standard Enemies. I recommend sticking to 6 Fodder Enemies per wave and leaving 12 in reserve, but frequently replenish the Fodder Enemies to keep the pressure on and to give the players and each way to farm Inspiration.

If you use Standard Enemies of varying CR, the math gets fuzzy. Try to roughly balance the difficulty between waves. If there are variations in difficulty, I recommend making early waves easier so that the party can “warm up” for the later waves.

If you use Elite Enemies, they’re slightly harder to fit into the mix. I recommend bringing them in with later waves, so if you do three waves you might bring in Elite Enemies in wave 2 or 3. Since you’ll likely have fewer Elite Enemies than Standard Enemies, you might also bring those waves into the encounter relatively early so that a few wounded Standard Enemies can take attention off of the Elite Enemies.

For example: Our party has 4 11th-level players. We want to give Doom-Style Combat our first try, so we stick to 3 waves with 2 Standard Enemies of CR 4. That’s three rolling encounters that the DMG estimates low in the Medium range, and the difficulty will fluctuate as players eliminate Fodder enemies and we bring in new waves, but it should never go above Medium difficulty. Remember: much of the difficulty comes from the endurance test of emaining effective through a drawn-out fight.

The next time that we want to try Doom-Style Combat, we mix things up a little bit. We bring in some Standard Enemies at CR 3, and add an Elite Enemy at CR 7 to our roster. We could then do one wave of all CR 3 Standard Enemies followed by a second wave of CR 7 enemies, or we could do three waves which gradually add difficulty, starting with 2 CR 3s, then two CR 4s, then finally a single CR 7. With Fodder enemies, that’s roughly one Easy encounter, followed by one on the low end of Medium, and finally an encounter that’s right in the middle of the XP budget for Medium. There’s no point where the difficulty should go above Medium unless the players let enemies from wave 2 linger into wave 3. And hey, if they want to leave enemies hanging around at low HP, that’s their mistake.

Step 1.5: Make the Map

Making maps is hard, and I’m certainly not an expert. I’m about crunch and mechanics and character optimization, and visual art and level design are not fields with which I’m familiar. If you want people to teach you to make nice maps, consider someone like Dyson Logos or Jonathan Roberts (sadly Jonathan’s site appears to be abandoned).

But we can manage to stumble through some simple line art to make a map. Grab a pencil and some graph paper and start scribbling. Be okay with throwing it away and starting over. Do it multiple times if you need to. Once you’re happy with your rough draft, transfer it to something usable in play like a dry erase battle mat or your favorite virtual tabletop.

Some design points to consider when making your map:

  • Cover. Offer places for the players to duck around corners and behind obstacles to get cover from attacks. If players are fighting on an open field, they’ll quickly become encircled and overwhelmed and things will devolve into shin kicking. But at the same time, don’t create area that have cover from every direction, as that will encourage players to burrow themselves into one spot and refuse to move.
  • Entry Points. In Doom, enemies either teleport in because they’re demons from another dimension, or they climb over ledges either above or below the player which the player can’t reach. Consider similar options for your own encounters, but since enemies in DnD mostly aren’t capable of teleportation or immune to falling damage, you’ll need other options. You might have several doors through which enemies enter, ladders which they can climb to enter the fight, hatches to climb up from or drop down from, etc. You want the entry points to be spaced around the map so that you won’t be forced to drop enemies directly into melee, but also you won’t be forced to make enemies sprint across the whole map to reach the players.

    Players will almost certainly try to block some or all of these, which isn’t a thing that Doom needs to worry about. Personally, I recommend letting this happen. If your party’s spellcaster drops a wall of stone over a doorway, let that remove (or at least delay) some of the enemies planned for the encounter. They’re spending resources which could just as easily be spent on Fireball.

    Be sure that there are enough entrances that the party can’t easily block them all, or that will quickly become the win condition for the encounter. Or maybe you want that! That could be a fun twist on the formula!
  • Hazards. Not necessarily traps, but traps are definitely an option. Pits, ledges, difficult terrain, stuff that’s on fire, etc. can all make a map much more interesting, and while it does present threats to the party it also presents threats to enemies. In Doom, the only way to hurt things is by hitting them. In DnD, you can also move them around by any number of methods, and shoving enemies into a spike pit will frequently be more effective than attacking them. Offering these opportunities gives players fun options to explore which are frequently less costly than using limited-use resources like spells. However, be cautious that these don’t make options like Grasp of Hadar, Repelling Blast, and the Telekinetic feat too powerful.
  • High Vantage Points. Positions like towers, high ledges, balconies, and other elevated observation points offer good places to observe enemies and to make ranged attacks, but also make it easy to be spotted so players risk drawing a lot of fire in exchange for better situational awareness.
  • Multiple Elevations. Often difficult to handle in a 2d medium like most virtual tabletops or a sheet of paper, different elevations can make maps much more interesting. Moving up a flight of stairs to gain high ground or dropping into a trench to break line of sight can be exciting tactical advantages. They also make climbing (and therefore both Athletics checks and Climb speeds) more important, and can make options for falling safely like the Monk’s Slow Fall feature exciting. You might allow (Dexterity) Acrobatics checks to fall safely, or you might simply force players to take some fall damage if they need to jump down in a hurry rather than climbing down or using a ramp or something.
  • Narrow Corridors. Corridors which force enemies into a narrow area make it easy to target them with line effects like Lightning Bolt, and it allows players to force enemies to fight the players in a space where only a few of them will be able to reach the party’s front line. This can be very satisfying, but also faces the same problems that cover does: don’t let the party enjoy it for too long or they’ll burrow into one spot and refuse to move. Narrow corridors should have multiple ways in and out: one at each end, side passages, an open top, ladders down, etc.

And don’t do that thing where they say “one square is 10×10 feet”. I hate that. It never works in practice because you either ignore it or you have 20-foot wide double doors in hallways that 10 feet high. It’s even worse when people drop an image into a virtual tabletop and suddenly the grid on the image doesn’t make any sense.

Phase 2: Running an Encounter

Running your encounter is mostly the same as any other encounter with a few additional considerations.

Step 2.1: Starting Positions

Consider where enemies will enter combat, both at the beginning of the encounter and when you bring in more enemies. If you followed step 1.5 above, you should have multiple entry points, so determine how you want to pick which to use.

Choosing at random is totally acceptable, but avoid rolling a ton of dice to distribute enemies as this can slow down your encounter considerably. Having players do this for you can be helpful. However, this random distribution can also put enemies far away from the players, which gives players too much time to clean up existing enemies as new waves enter.

Even if you randomize entry points, consider disabling the ones which place enemies too far from the players. If you don’t do that, you might also have enemies “sneak” across the map by not revealing them to the players until they enter line of sight.

Step 2.2: Tactics

Know your tactics going into combat. You’re going to have a little more than usual to manage, so you should know what your monsters are doing before things get started. Have a general idea of how your monsters will interact with the terrain: Do they climb? Do they drop down from ledges? Where do they take cover?

Step 2.3: Replenishing

Plan to replenish the enemies’ numbers on initiative count 20. That’s when lair actions would happen, so having a fixed point in the initiative order where this happens feels consistent with the existing rules.

When you reach initiative count 20, consider the state of the encounter. If the current wave is likely to be eliminated before initiative count 20 rolls around again, bring in the next wave. If not, consider bringing in a few more Fodder Enemies from your pool of reserves.

Step 2.4: Repositioning

This idea came out of test session 2.

On initiative count 20, immediately after replenishing enemies, consider the position of the enemies. If an individual enemy isn’t in a position to threaten the players (not necessarily attack), that enemy takes the Dash action.

The term “threaten” is intentionally ambiguous in order to to leave you room to interpret on your own. Ranged enemies that are in attack range (especially if they’re in short range for weapon attacks) and have line of sight certainly threaten the players, but you might not consider melee-only enemies as “threatening” until they’re close enough to move and attack on their next turn.

This allows distant enemies to move into combat more quickly, creating more consistent pressure on the players without adding more enemies. It also means that parties which move unusually fast can’t simply run away from the encounter.

Phase 3: Rewards

Step 1.1: Experience

If you’re not using milestone leveling, you should be able to calculate the experience point value of the encounter beforehand. The rules for awarding experience grant smaller rewards for encounters with multiple enemies. I’ve never understood that rule, honestly, but that’s RAW, and changing how XP is awarded is perhaps the least game-breaking change you could make. Personally, I recommend awarding as much XP as two enemies of CR equal to the party’s level since that’s roughly the amount of fighting that’s being done in one of these encounters.

If you’re replenishing the number of Fodder Enemies, you might total the number defeated during the encounter to ensure that you’re awarding the correct amount of experience, but I don’t recommend this because it can encourage players to “farm” the Fodder Enemies for additional experience points. This isn’t a video game, and farming XP isn’t supposed to be part of the game.

Step 1.2: Loot

I strongly encourage you to give the players a treasure horde after an encounter in this style. They’ve earned it. Consider using my Random Treasure Generator if you don’t have specific loot in mind.


Let’s continue our example of a level 11 party with 4 player characters. Let’s say that our characters are in a campaign where the antagonists are a yuan-ti cult attempting to summon one of their various snake deities to eat the sun or something. Yuan-ti are a good thematic grouping and between them and snakes there’s a lot of potential enemies across the CR range. Open up the DnDBeyond monster searches for yuan-ti and snakes and you’ll get a nice menagerie to choose from. We even have the Yuan-Ti Anathema, which could serve as a decent boss fight at CR 12.

When I run this, I’m going to warn my players ahead of time that they’ll be facing yuan-ti who love poison damage in order to simulate players in an ongoing campaign against recurring antagonists. I might put limits on race options to prevent a party of poison-immune players because it will trivialize much of the encounter, but if they want to walk in with dwarves or cast Protection from Poison, that seems fine to me.


The Roster

  • Fodder Enemies: We’ll select giant poisonous snakes and yuan-ti purebloods as fodder enemies. Purebloods are a bit higher CR than I’d like, but the ratios in the Xanathar’s tables will make it easy to adjust accordingly. We could also open up The Monsterizer and create a weaker version of the pureblood by reducing their hp and removing the poison from their bow. We could instead use flying snakes as fodder. Their 5 hp make them easy to carve through in a hurry, but I’m hesitant to include a bunch of extremely fast flying enemies for risk of them mobbing a wizard semi-accidentally.
  • Standard Enemies: Yuan-ti malisons (CR 3), mind whisperers (CR 4), nightmare speakers (CR 4), all hang around our ideal CR of 4. Mind whisperers and nightmare speakers are both spellcasters, so running them will necessarily take extra tracking for the DM. We’ll keep that in mind when we plan our waves, and we’ll try not to have more than two enemies spellcasters on the field at once.
  • Elite Enemies: Yuan-ti pit masters (CR 5) and abominations (CR 7) both fit into our range for Elite Enemies. We’ll be especially careful about pit masters due to their Merrshaulk’s Slumber action, which could put the whole party to sleep with a few bad rolls. But we’re also letting players farm inspiration from fodder enemies, so maybe that’s fine.

Enemy Count

With 4 players, we’ll get 24 Fodder Enemies of roughly CR 1/2 and 6 Standard Enemies of roughly CR 4. We can trade 2 Standard Enemies for 1 Elite Enemy of roughly CR 7.

If we add another player, we’ll add another 24 Fodder Enemies before we add more Standard Enemies. If we remove a player, we’ll remove 2 Standard Enemies.

The Waves

Throwing 2 mind whisperers and/or nightmare speakers into each wave over 3 waves (or 3 over 2 waves) would work by straight CR, but that’s all frail, high-damage spellcasters so maybe we don’t want to go that route. Bringing in some malisons to serve as muscle for the casters will make things more interesting.

We could do one wave of one malison and one mind whisperer followed by a wave of two malisons and one mind whisperer, and that would still fit within the Medium XP budget range for each of those two waves. In fact, that’s probably on the easy side since we’re using fewer than the 6 Standard Enemies which we started with. Compressing that into 2 waves might hit the same level of difficulty.

If we want to bring in a yuan-ti abomination (and I really do), we’ll want to reduce the difficulty on the earlier waves to make room. We can replace two of our Standard Enemies with one Elite Enemy (an abomination in this case). To adjust for the change in difficulty, we might do one wave with two malisons, one with a malison and a mind whisperer or nightmare speaker, and then finally one with just the abomination and whatever has stuck around from previous waves.

For our fodder enemies, not much changes from what’s described above. If we want to stick to CR 1 Yuan-ti Purebloods, we can replace two CR 1/2 snakes with one yuan-ti. So rather than 24 total fodder enemies, we could do 4 yuan-ti purebloods and 16 giant poisonous snakes. That gives us the flavor of humanoid foot soldiers running around while still retaining the large number of frail Fodder Enemies to chew through. We can put one yuan-ti pureblood and 4 snakes into each wave, and reserve a yuan-ti and 4 snakes to trickle in to keep the fodder numbers steady.

The Map

I want something that feels thematically appropriate for yuan-ti, so I’m thinking a pyramid temple thing. “Ziggurat” feels like the right word, and a stepped temple structure both looks thematically appropriate and leaves lots of room for creatures to run around and fight. I’m no historian so I’m not going to adhere to real-world architecture designs, but a “square, stepped, pyramidal structure” is enough of a basis to get us going.

I’m no artist, but I can click buttons with the best of them, so I opened up Dungeon Scrawl, which is a nice tool if you just want a dungeon layout with basic geometric shapes. I conveniently picked a structure which is all about basic geometric shapes, which makes things really easy.

Here’s version 1 of the basic map I landed on. Feel free to save it and use it as you please. It should drop right into roll20 with the grid lined up, but I haven’t tested other virtual tabletops.

Ziggurat map for Doom-Style Combat

The narrow points on the stairs markers are the bottom of a staircase. Staircases are at a 45-degree angle, so they rise 5 feet for 5 feet of horizontal space. The ziggurat starts with stairs reaching the ground, then has 4 tiers. There is a 10-foot wide step at each of the first three tiers. The third tier also has a large central area. The fourth tier is the top of the ziggurat, and encircles the large central area on the third tier, standing 10 feet above it.

Moving on the stairs costs 2 feet of movement for 1 foot moved due to moving at a steep angle, but doesn’t require a check. Creatures which fall prone on the stairs must succeed on a Dexterity saving throw or roll down the stairs until they reach a flat surface. The DC of this save is 10 plus the number of dice of falling damage which they took when they landed, if any. For example: if a creature is launched through the air and falls 20 feet onto the stairs, they take 2d6 damage and fall prone. They must then make a Dexterity saving throw against a DC of 12, rolling down the stairs on a failure until they reach a landing.

The slopes of the ziggurat are too smooth and steep to walk upon normally, but can be climbed by making a successful DC 13 Strength (Athletics) check. Creatures can also slide down the ramps to descend quickly, but must make a DC 13 Dexterity (Acrobatics) check, falling prone at the bottom of the ramp upon a failure.

If people really enjoy this article, maybe I’ll go find a real artist to clean this up.

So let’s see how I did on the criteria that I suggested above in Step 1.5:

  • Cover: Walls and corners are the vast majority of the cover, and that’s likely not enough unless we want a lot of time to be spent sitting on staircases. We can add a sturdy object to the middle of the central area on tier 3 and some stuff to the open roof area to duck behind, and I think that will both add some nice cosmetic details and provide more interesting cover on what is otherwise a series of near-featureless polygonal surfaces.
  • Entry Points: There are four staircases onto the ziggurat, but if enemies get desperate they could also try to scale the sloped surfaces.
  • Hazards: Falling off of or being thrown from the side of the ziggurat provides a simple hazard. A small amount of fall damage and landing prone on a lower tier of the structure isn’t extremely hazardous, but it also adds a time cost for creatures to climb back up.
  • High Vantage Points: A ziggurat is by design a tall structure. The top tier provides a high vantage point, but a creature positioning themselves to look down the side will necessarily have to move away from most cover.
  • Multiple Elevations: “Stepped, pyramidal structure”
  • Narrow Corridors: Both the flat perimeters at each tier and the hallways to the central area on tier 3 provide narrow corridors. At 10 feet wide large creatures can still move through them with ease, but at 40 feet long most creatures can’t get through them safely in one turn without dashing, potentially making them bait for line effects.

I think I did pretty well. Tier 3 and the roof need some furnishings, and we could sprinkle some decorative difficult terrain around the lower tiers just so that they’re not so featureless. The explanatory text above about the stairs and ramps explain how the features of the map can be interacted with, so this whole thing is going to be playground. A playground covered in angry snakes, but still a playground.

I’m fortunate enough that I got to playtest the map above (see “Case Studies in Doom-Style Combat”, below), and after some feedback I made improvements to the map. The structure is still functionally the same, and all of the text above applies, but I made the staircases shorter so that enemies can close to melee faster instead of being blasted to death at range before they get to attack. I also added columns and a central altar to the map (I had to do this with tokens in roll20 in my initial playtests) and turned on some of Dungeon Scrawl’s features to make the map pretty.

The map should still work great in roll20, and as with the map above, feel free to download the map and use it as you please. You can also download the .ds file for Dungeon Scrawl if you want to modify it further.

The Fight

I think I’ll have the players start the encounter inside the open area on tier 3. I’ll add some cool narration about how they teleported in a one-shot the big bad, only to realize that they’re now surrounded by a small army of angry snake cultists.

I’ll have wave one charge up one side of the ziggurat chosen at random. When one wave is clearly on its way out, I’ll have new waves enter the fray on initiative 20. If we hit initiative 20 and it’s not quite time for a new wave, I might bring in some snakes or a yuan-ti pureblood from the pool of reserves.

Many yuan-ti have ranged attacks, and many of those attacks deal big piles of poison damage. Those ranged attacks will likely still encourage the players to stick to cover whenever they can. If the players take a high vantage point, they may exchange a few ranged attacks before they think better of it. If the party is difficult to attack at range or remains out of sight, the yuan-ti will charge into close quarters and try to overwhelm them.

I even wrote some neat box text to read to your players when the fight starts.

Teleporting directly onto the Yuan-Ti’s ziggurat temple was a master stroke. Unguarded, the mighty anathema fell easily. Even now, its death rattle still echoes through the air as its body dissolves into ash, leaving only a tangle of bones, and its massive, serpentine skull, mouth still held wide in a silent scream.

In the momentary quiet, you look about at your surroundings. A massive stone altar some 20 feet across occupies the middle of the ziggurat, and stone columns carved like massive fangs jut upward, giving the feeling of standing amid the jaws of some enormous snake.

But the quiet passes. Your work is not done. The anathema’s servants are close at hand, and already you hear their war drums beating a call to arms.

Look, you don’t come to me for my ability to write novels. It’ll do, but I’m not winning any awards for flowery writing. Talk to our friends at dScryb (affiliate link) if you want pretty text.

For details on outcome of my playtest session, see “Case Studies in Doom-Style Combat”, below.

The Rewards

I’m not actually running this game, but I threw a treasure horde into my Treasure Generator. I generated a mountain of coins, jewels, art and a +3 sling bullet for some reason. Yeah, the 5e random treasure tables are crazy like that. I would give the party enough experience to match 2 CR 11 creatures.

Case Studies in Doom-Style DnD Combat

In classic RPGBOT fashion, all the advice above sounds very authoritative and informed, and I’ve tried very hard to convince you that I know what I’m talking about. Some of it even has math to back it up. But I’m inclined to doubt most things that people tell me unless it’s presented with proof, so I’d be silly not to put my own advice to the test.

Below are postmortem notes from several test sessions which several DMs (including me) ran to test the advice above, to see how works in practice, and to improve upon this article. If you’ve run a Doom-Style Combat using this article, email me and tell me all about it. If you’re getting ready to run your first Doom-Style Combat, reading some of the notes below may be helpful.

RPGBOT Session 1: 3 heroes and a whole lots of snakes

My weekly game’s DM was away on a well-deserved vacation (Not from us. We’re delightful and no one needs a break from our antics.), so I assembled the other three players to attempt the first ever session of Doom-Style DnD Combat. We used the example encounter above, adjusted for three players (so 4 slots for Standard Enemies and 24 slots for Fodder Enemies). I used the combination of Yuan-Ti Purebloods and Giant Poisonous Snakes as described above, and I stuck to Standard Enemies. Since this was the first time running the system, I wasn’t ready to try Elite Enemies yet.

I live-tweeted the session, but tweeting frequently is hard while also trying to run a game, so I wasn’t super chatty. Still, I tweeted some useful insights about pain points while running the system. I made some mistakes while running the game, but mostly it went smoothly, and I learned quite a bit from the session.

Player Feedback

My three players were Randall (RPGBOT.Podcast co-host), and two other players from my weekly game who we’ll refer to as J and M to respect their privacy. All three rolled up 11th-level characters, which was a first for all of them. Randall has played for a few years at this point, J has played a bit less, and M was creating his second character ever. I helped steer them toward options that would be satisfying for the session, and while their builds weren’t anything wild or complex, their characters were solid.

After the session, I asked for feedback from the players, and they were happy to share their thoughts with me. I’m not organizing feedback by who gave it because I wasn’t smart enough to write it down right away and it’s a combination of badly-remembered verbal feedback and follow-up text messages.

  • Loved it. It felt good to wreck things.
  • Maybe a random chance (or higher random chance ) of tougher creatures earlier. If not random then just bigger fella earlier on.
  • I wonder if there is room to put a timer on characters. I felt like we moved pretty quickly, so maybe this isn’t necessary. It would be fun to get more frantic.
  • I liked that you had one person rolling odds while the other person took their turn.
  • It would be cool if monsters appeared in our midst. Snakes dropped from ceiling. Invisible creature appears, etc.
  • Maybe just upping the mobility for the snakes (e.g. they can dash for free all the time). The change in the rates of monsters might create a dynamic that is even more constant pressure.

My Findings

I learned a lot from the session, so I’ll try to briefly summarize my findings:

  • The Enemies
    • Yuan-ti have garbage AC. The highest enemy AC was 14, and that was on the Giant Poisonous Snakes. The party could hit almost constantly, so enemies went down quickly. This was very satisfying for the players, but also made it difficult to threaten them.
    • The fodder enemies weren’t threatening as individuals. Half of the damage the party took was from fodder enemies, but they took less than 20 damage in total because I couldn’t hit with anything. This is what we wanted, so I’m considering this a success.
  • The Map
    • Players liked that they were forced to move to find cover, to find hiding places, to get line of sight to attack, and to avoid being swarmed. Another success!
    • Closing to melee over long distances was too hard for enemies. With just 30 feet of movement and steep flights of stairs to climb, the enemies took three turns to get to the third tier of the ziggurat. This gave the party ample time to prepare, and on some turns they could make ranged attacks against the helpless snakes, killing them before they got close enough to attack.
    • The stairs were the primary means to get around, but having other options was fun. I had a mind whisperer climb the side wall to get to the top tier of the ziggurat, where it unfortunately lost a shoot-out with Randall’s warlock. I think he enjoyed that surprise because climbing the sloped walls was unexpected, but not in a way that felt “cheap”. I’ll call this a success, too.
    • The map was too big. Because the distances were so large, melee attacks basically never happened. Randall’s warlock use Green-Flame Blade once, and J’s steel defender attacked exactly once. Otherwise, the entire fight took place at range. This tells me that either I need to break up lines of sight by totally redesigning the map or I need to shrink the map so that enemies can close to melee faster.
  • The Session
    • My fast combat advice works. We got through the whole thing in roughly an hour and a half of play time. Considering the number of enemies and that my players had never used these characters and and their level of experience and that I had to stop to count movement on my fingers while snakes climbed stairs, I think things went really well. I did forget to pre-roll initiative, so I still have room for improvement, but overall I still think this was a success.
    • Let players randomly determine where enemies enter. I had four entrances, so I would ask players to roll a d4 every time I brought in enemies. This engaged players outside of their turns and added a sense of unpredictability. At one point 6 enemies came in from one entrance at the same time! I’ll add this to the advice above.
    • Stick to your planned waves. I forgot to use one of the Standard Enemies, and I unintentionally broke up the encounter into three waves when I meant to do two. I was nervous about the difficulty, so I pulled my punches way more than I meant to. I also copy+pasted the tokens in roll20 before we played and I messed up the numbers when I did that, so one mistake compounded with another. If I had started with two Standard Enemies and roughly a third of the Fodder Enemies (I used roughly a quarter), I think that the challenge would have been more appropriate. That’ll need another round of testing.
    • The Fodder Enemies felt good in play. The Yuan-Ti Purebloods were a little more durable than I initially hoped, which makes sense with 30 hit points each. But at the same time it wasn’t so much that it was a problem. The yuan-ti purebloods took two to three hits to kill compared to one to two for the giant venomous snakes, and since I replaced two snakes with one yuan-ti that felt perfect. I am a little bit concerned that there won’t be enough fodder enemies for four players, but that may not be an issue if I remember to use all of the Standard Enemies next time.
    • It wasn’t hard enough. I forgot to use one of the Standard Enemies and I didn’t have enough of them on the field at the same time (see the previous point). Each Standard Enemy is a challenge for a single party member, so the party was only really challenged on the one or two turns where there were two standard enemies attacking them at once. Even then, the pressure wasn’t severe and I did so little damage to them that they never actually felt threatened. It may be because I messed up the waves, but I may also need to add more enemies.
  • Other Stuff
    • Similar to my One Hour Sessions system, I need a sort of “player handout” that quickly summarizes what’s going on.

Improvements Based on the Session

The heart of system is good. The concept is good, the design goals made sense, and the approach I laid out meets those goals. There’s some room for improvement in the documentation and prep process both to prepare players and to keep DMs on track, and my Zigurrat map needs improvement.

I went into this session giving the system 50/50 odds of survival. I’m very comfortable working on a complex project, getting pretty far into it, and abandoning it when it’s clear that it’s not viable. Seeing my players have a good time, and then having the, excited to talk about the game afterwards was extremely satisfying.

I still want to run this with a group of 4 to make sure that the numbers still hold up, but so far I think we’re in good shape!

RPGBOT Session 2: 4 heroes and even more snakes

This time I had four players, none of whom I had played with before. We’ll call them D, H, J, and T to respect their privacy.

I ran the example encounter above, this time with the updated map. I took the advice of my previous session and had the poisonous snakes pop out of walls. I also made the third wave an elite enemy, but I left the choice between a Yuan-Ti Pit master and a Yuan-Ti Abomination for later in the encounter so that I could assess difficulty. I used the Abomination.

I began the session by explaining both the roots of the idea, the way that the Inspiration mechanic worked, and that enemies would come in waves. One of my players was unfamiliar with the Doom games, so this was especially helpful for him.

I had players determine the entry points of enemies by rolling a d4 periodically. This worked mostly fine, except that they repeatedly rolled to distribute new enemies so that they were as spread out as possible. I had the party all roll d4’s twice in the session, and both times they all rolled unique numbers, which is statistically very difficult.

In this session, rather than my players remaining in the central area of the Ziggurat, they all scattered. This meant that when any player was in trouble, they were mostly on their own. Other than a handful of brief moments where players were debuffed or swarmed, the pressure was constant, but not severe.

I also did a much better job running the waves. I set icons aside in roll20 much better than I had in the previous session, so I actually used all of the enemies, and I used them when I intended to.

Player Feedback

D played a loxodon totem barbarian. Mechanically simple, but always effective. His tactics were “charge the biggest thing”, and it’s hard to argue with results. D rolled roughly 3/4 of the crits in the entire session, sometimes two in a single turn. He tanked a ridiculous amount of hits and barely dropped below 100 hit points. D only got inspiration from killing things once, and used it to stave of Hold Person from a yuan-ti nightmare speaker, which otherwise would have meant at least one round of eating automatic critical hits with a big pile of dice behind them.

D shared that he didn’t get to participate in the Inspiration mechanic very much because he wasn’t presented with any nearby fodder enemies. He did seem to have a wonderful time soloing monsters in melee, though. He soloed the Abomination in wave 3 while frightened and somehow never dropped below 100 hit points. Barbarians, man.

H played a leonin rune knight fighter. He did a really good job putting his action economy to work, and spent a lot of time mowing down fodder enemies. With three attacks and big damage, he could spend Inspiration, kill a snake, then use that inspiration to repeat up to three times in a turn. It worked really well. He said that he enjoyed the Inspiration feedback loop.

H has professional experience and education in level design, and had a lot of specific feedback around the layout of the level. H and I will be having some future discussions. I’m going to see if I can convince him to build me a map, because I very clearly need some help in that department.

J played a dragonborn hexblade warlock. He made good use of the terrain by moving in and out of cover, which was exciting to watch. At one point her slid down a ramp to flank the mind whisperer which he had been trading spells with. He went through very few of his resources, which on its own is a good data point. I would have expected a warlock to burn through more than one spell slot.

This was J’s first time playing 5e, but he’s an experienced hand at PF1, so this wasn’t a huge stretch. He seemed to have a good time, and enjoyed that he could use movement tactically.

T played a simic hybrid armorer artificer. He had lots of fun buttons to push, and made good use of all of them. He got swarmed at one point right when his Mirror Image ran out of images, which could have gone badly for him, but he managed to break out of the mob and drop a fireball into it, so he did just fine.

Having some fodder enemies and on standard enemy swarm him in melee was a great data point, too, because it showed that if a player is off on their own and can’t quickly clear enemies they’re going to start eating damage quickly. J’s warlock was nearby, fortunately, so if the fireball hadn’t worked out, I think T would have still been okay.

The players all expressed that they had a lot of fun. The inspiration mechanic was fun and added something extra to the combat. They loved the snakes popping out of walls, which is good. They expressed that they felt compelled to move out and engage enemies rather than waiting to be swarmed, which is exactly what I wanted.

They also expressed that the map still felt too spread out. Enemies often took too long to get into melee, so players were typically going one-on-one with enemies, including fodder enemies.

Apparently these guys also understand Doom way better than I do because they made some suggestions based on how Doom’s AI works. They suggested using a “Lair Action” mechanic to give every enemy which couldn’t see the players some extra movement.

Apparently Doom’s enemies move faster when you can’t see them, and rush to get into your line of sight so that you don’t feel like you’re being attacked unfairly from behind. They shared a helpful video that I’m sure I didn’t fully grasp, but it still had some interesting lessons, like that enemies are less accurate if the player is moving (and not because you’re “dodging”: they actually aim worse).

Finally, the players stated that they expected something big and exciting to happen in the middle of the ziggurat to draw them all back in for a finale. It feels super obvious now, but I honestly never thought of that. I could have had wave 3 emerge magically from the altar at the center of the ziggurat, and that would have pulled the party back together and also would have been really cool.

T shared a link to Meg Feist‘s website. She’s a voice over artist, and her voice sounds really pleasant.

My Findings

Once again, I learned a lot from the session. There’s still room for improvement.

  • The Enemies
    • Enemies fared better this time than in my previous session. I was smarter about using ranged attacks, and having snakes appear within the ziggurat kept the players busy while bigger enemies got into position. Pairing the spellcasters with Malisons in the first two waves worked well, but they never got close enough to actually fight alongside each other.
  • The Map
    • Shrinking the map was absolutely the right choice. There were still challenges with getting enemies into close quarters, but enemies took two rounds to get into the fight rather than 4 as they had in the previous version of the map.
    • The ramps on the side of the ziggurat are fun. My players used them three times to descend the ziggurat quickly to get into melee. They also threw a malison down some stairs once, which everyone really enjoyed (except the malison).
    • Setting spawn points solely at the edged of the map remains a problem because it keeps the whole fight very spread out. Adding the players’ suggested Lair Action movement mechanic may help address this, but enemies may still find themselves sprinting across the entire map. Having the poisonous snakes emerge from the walls was both effective and fun, and I likely need a similar option for other enemies. Having enemies spawn further away might be fine, but I need to mask that behavior somehow so that when enemies enter combat it’s a fun surprise rather than having players watch them run for three turns.
  • The Session
    • The mix of enemies was good. The diverse roster meant that new waves were somewhat unpredictable, but weren’t difficult for me to manage the DM. It would be nice if yuan-ti had better AC, but totally changing the roster would have made it harder to compare the test sessions.
    • It was still too easy. Aside from a handful of minor scares, the players were engaged but never felt truly threatened. No one even considered healing mid-combat, and despite being mostly isolated from each other, no one felt threatened by splitting the party.
    • The pressure from enemies was much more consistent this session. Players were actively in combat on every turn of the session until the very end when players were mopping up the last handful of enemies.
    • I got the behavior I wanted from the players for the most part. I think if the difficulty was a little bit higher they would have worked more as a unit rather than scattering because they would be compelled to support each other more directly.

Improvements Based on the Session

The Lair Action idea was genius, so I’ve included it in the article above. It neatly patches the “I’m too far away” problem, but doesn’t add more enemies to the encounter so the difficulty won’t run away from you.

I made some text improvements to the map design section about placement of spawn points. That may need further fine tuning in the future, but my level design chops aren’t that good, so I’ll need to enlist help from someone else.

Doom-Style Combat on a Pre-Made Map

Every time I’ve played Doom-Style Combat, the map has proven to be one of the weaker points of the experience, and that is entirely due to my limited ability to create those maps. This isn’t a skill I’ve practiced enough, and I suspect a lot of DMs have the same challenge. Fortunately, there are a lot of wonderful creators making maps for TTRPGs which you can use in your own games.

The folks at Czepeku were kind enough to allow me to use their Slum District map, and it’s a fantastic example of a map for Doom-Style combat. The map features variable terrain, elevation changes, numerous entry points, interesting sight lines, and a mix of open areas and tight corridors. This allows combat to move fluidly through the map, allowing players to advance and retreat and to relocate as the needs of the situation shift.

Looking at jus the top portion of the map, we have numerous ways for enemies to enter the map, and even without moving along rooftops or through buildings, creatures have numerous sight lines and route sto move through. Using cover, setting up ambushes, retreating to a better position, and other tactical movement will offer players the ability to shape combat beyond simply throwing damage at enemies until they fall down, making combat that much more interesting.

Czepeku slum district map cropped with red markings to indicate ingress points and lines of sight and movement.
This is just the top 20 squares of a much larger map. The image is altered from its original form with written permission from the Czepeku team.


The more I use the Doom-Style DnD Combat system, the more I’m convinced that it works. There’s certainly room to improve, but the heart of the idea is great. The Inspiration feedback look is fun, the compulsion to move is stronger than in typical DnD combat, and the waves create an extended tension-release cycle that’s a lot of fun and provides an exciting deviation from the typical attrition mechanics of DnD combat.

If you want to try something new, I strongly encourage you to give Doom-Style DnD Combat a try. It’s a ton of fun on both sides of the table. If you do try it, email me and let me know it went.