Around November of 2011, Grymmoire and Ghastly set out to write a guide/article/essay on monster placement in Doom maps. This was partly to help newer modders, and partly as an exercise in learning more about design themselves. They asked several award-winning map designers for opinions and checked a few classic and award-winning maps. Here, finished in mid-2015, is the result.
Monster placement is arguably the most important feature of any map. It contributes a great deal to difficulty and enjoyment. Unfortunately, it’s also one of the components that can be difficult to get right for newer mappers. Thus, to help out as much as we can, we’ve asked a few famous, well-respected mappers their opinions and strategies with regards to placing monsters on maps, and we’ve written this to condense a lot of it into an easy-to-understand package for new mappers to benefit from.
Of course, the first subject should be how monsters can be placed. The way they’re laid out is something that isn’t often clearly defined, though we can easily pick out examples by heart from Doom’s and Doom 2’s own maps. While monster placement isn’t generally limited to just one of these categories at a time, one should take these general categories into consideration when placing monsters.
Standing: The ordinary, you-walk-into-a-room-and-monsters-wake-up-and-shoot-at-you monsters. They seem generic, but they’re the backbone of how the gameplay in your map is structured. You use standing monsters to dictate how you want the player to proceed, and how you want the map to flow. Depending on the monsters used and the layout of the area, it could provide for some very different encounters to keep it interesting. It could be simple situation like walking into the computer room on E1M1, or you could turn the corner in Doom 2 Map23 into a large rush of demons.
Turrets: Placing monsters as turrets can turn up the pressure on the player and increase tension. A turret is any kind of monster that can fire at the player from long ranges without actually coming into contact with the player. Think of monsters on ledges or high-up alcoves (occasionally known as monster cages), or simply places the player won’t reach until later on in the map that monsters can fire from earlier on.
Remember the turrets in Doom 2 Map15?
Monsters that are used as turrets can be used to defend objectives like keys, weapons, switches, etc. Good turret monsters include arachnotrons, mancubi, and masterminds. Really though, any monster can work well as a turret so long as they can fire from a distance, but keep in mind how easy the attack is to dodge when you place it as a turret, otherwise it'll just uselessly sit there.
Roaming: Roaming monsters can add a great deal of replayability to a map. Allowing a monster to roam around the map relatively freely can refresh the experience because the player might find the monster in a different location each time the map is played.
Roaming monsters are best used in nonlinear layouts where they can easily reach many different locations. Small and/or flying monsters tend to work best for roaming since they can truly move without as much restriction, but one is not limited to these. One thing to remember when using free roaming monsters is to make sure that they don’t end up stuck in some dark corner where the player will never encounter them, otherwise their purpose is wasted.
Generally, you might want to make roaming monsters slight annoyances rather than real threats, but occasionally you might want to have a baron of Hell or similarly beefy monster wander around. However, an idea to consider might be to make your roamers a genuine threat. Double-Impact E1M8, for example, had the main gimmick of four cyberdemons chasing you around the very well-connected, hub-like map. It made for a very tense, fast-paced map. This can get old if used too often, though, so just consider what kind of roamers your map might need.
Ambush: In definition, ambushes are pretty obvious, ironically enough. They are monsters placed in such a way that the player doesn’t easily expect them. Usually, they’re unleashed on the player when he picks up an important item, or when he accomplishes something necessary to continue the map. Of course, I say usually. The point of ambushes is to attack the player in a way he doesn’t expect, and when you initiate ambushes in the same way (triggers and methods), the player learns when and how to expect them. This ruins the whole point, of course. A lot of the time, it’s a good idea to simply vary the trigger; they don’t have to attack when you pick up the key, it could be on the stairs leading up to it, or it could be on your way out of the room. The point is to mix it up so your ambushes stay ambushes.
I wonder what's going to happen here
There are several different kinds of ambushes, but two types in particular are very common.
Monster Closets: Monster closets are a room that is used to unleash monsters in an ambush. Usually they are opened/activated when the player completes an objective. They shouldn’t be limited to only being activated after an objective is completed however, as this can get predictable, and being a form of ambush, predictability is not an element you want to have when using monster closets.
Other uses of monster closets include activating in previously cleared areas when the player has to backtrack, thus keeping an otherwise empty, uninteresting area entertaining. Even in this role it can get predictable if the same type of method is used to keep an old area active. Consider mixing it up between monster closets and other forms of ambush.
Keeping an already passed area interesting is most important in nonlinear maps where backtracking is most common. Monster closets can be used to signify to the player that something worth checking out has happened nearby where the monster closets have opened up.
Of the types of monster closets, the kind that is a room that is accessible to the player via a wall being lowered or raised can also serve an additional function. This type of monster closet can be used to forward map progression, so that the room can serve more than just the purpose of unleashing monsters, but also allowing access to a whole new section of the map. This is just one example of how monster closets can be used as “dynamic space” in a map.
This monster closet has a secret in it as well
Teleportation Trap: The teleportation ambush is as classic as the regular old wall lowering monster closet ambush. Just like monster closets, however, teleportation ambushes can get repetitive and predictable. Try to use them much like one could use a monster closet: to signify that an area has changed somehow, to make an already cleared and passed area active and dangerous again, make a seemingly uninteresting area interesting, and generally to keep the player on edge. Additionally, it can be used to drop roaming monsters across the map, to refresh the supply.
It is a common practice to use teleportation traps only when an objective has been completed, but this is a rather predictable move and will not serve to keep the player entertained. Sure, you’d be giving the player more things to shoot at, but both the element of surprise and the action of keeping the player on edge (the entire point of ambushing in general) are lost.
Monsters teleport in when you're halfway through the bridge.
Teleportation traps can be used in another, far less popular way, as well; you could teleport the player into the trap. This immediately takes the player out of an even slightly familiar area and puts him into a tricky situation. Your players will probably hate you for this, however.
One of the interesting things about Doom is that most monsters have their own specific uses. This element isn’t present in all FPS games, and quite frankly that’s a shame, as it’s an element that adds many dimensions to a level.
What kinds of various roles do the different monsters serve? How can we categorize Doom’s monsters in such a way that they’re used most effectively?
Threats: Threats are the most dangerous monsters, in general. They are the monsters that most players generally duck and cover from in most situations. They can kill the player, even when the player is paying full attention to the game. These monsters include archviles, revenants, and chaingunners - all of which can be used semi-frequently. Occasional threats include pain elementals, cyberdemons, and spider masterminds. These types of monsters build tension, which is a necessary element to have if you want intense battles.
Trash: The weaker meat-shields. These monsters aren’t really a threat, per se, but are frequently used to keep the player busy, attentive and active. Sure the player will take damage from these monsters but generally, unless he is really low on health, the danger of being killed is fairly low. These monsters keep the player active without increasing tension (unless of course they are used in a horde-type fashion), and this group most commonly includes pistolmen and imps.
Obstacles: Obstacles are monsters that aren’t quite as threatening as the threats, but serve more to constrain the player’s movement. Sure, they can deliver killing blows more easily than trash monsters, but these monsters are mainly used to force the player to keep moving. To keep the player from standing still in one place. If used correctly these monsters can help build tension. Demons are most commonly used to fit this role, in larger groups they can become a threat. Barons and Hell knights also fit this role, as they have a higher health than most monsters and a relatively small size, which allows the mapper to use them as densely packed meat shields. Obstacle monsters can also work well as “tanks.” Soaking up damage while other monsters whittle away at the player’s health. With this in mind, cacodemons can be used as obstacles.
Infighters: As we’ll discuss a bit later, here are monsters who excel at causing chaos, damaging other monsters and provoking fights. Great infighters include mancubi, arachnotrons, cyberdemons, and hitscanners.
Although most monsters can be divided up into these categories, it is important to remember that most monsters shouldn't be forced into one static role. For example, one can use the pain elemental as an obstacle in one area and as a threat in another. The role that the monster serves is directly related to the situation in which the monster is used.
By this I mean that a variety of factors affect the role the monster will be perceived as being a part of. It all depends on the availability of ammo, armor, health, what weapons are at the player’s disposal, and what kind of space the player has to move around in. One monster may be excellent as an obstacle in one area but much better suited as an infighter in other. Mancubi, for example, can be used as threats, obstacles, and infighters. It all depends on how you structure the encounter.
Mechadon has this to say about spider masterminds:
Once you understand the different monster roles and how they’re commonly placed, as well as how monsters work in relation to each other, it’s helpful to think in terms of encounters.
An encounter is defined as any situation where the player has to fight at least one monster. Of course, it starts when a monster or player attacks one another, and ends when all the monsters are dead. We touched on this concept before, with positioning and ambushes, but all monster placement and usage has a purpose, and that’s where encounters come in. The focus of this section is not so much the individual encounter, though the different types of encounters will be discussed, but more importantly how the different encounters in a map work together to create the experience that is playing the map.
An important distinction is that not all encounters are meant to actively kill the player; most often, they’re meant to tax the player’s resources (ammo, health/armor, items). An encounter can be used to drain these resources to shape future encounters. For example, would the fight against the cyberdemon later in your map be more stressful if you tweaked a fight beforehand to try to drain the player’s rockets or plasma? By this definition you should note then that surprisingly few encounters should try to actually kill the player.
In general, different encounters can be thought of in terms of a 2D scale between lethality and resource-drain. Lethal encounters try to tax the player’s health and armor, while draining encounters try to take away everything else (mostly ammo, but can be more abstract). An example of a lethal, non-draining encounter is the cyberdemon in Doom E2M8. The cyberdemon is meant to kill you (or was, before strafing could be rebound to other keys), but you’re given more than enough rockets, health, and full armor. A non-lethal, draining encounter would be one where there is a lot of opportunity to avoid taking damage but to overcome the threat one must expend a lot of ammo or something else. Non-lethal, non-draining is used most commonly, with ordinary trash monsters placed around the map.
Encounters can also be helpful, and provide the player with resources. One example would be small hordes of zombies, which drop ammo or weapons upon death. This can be helpful while still being lethal, however. For example, chaingunners are threat monsters (usually) so they are capable of killing the player, but also give the player a decent amount of bullets or a chaingun after being killed. Helpful encounters can also be draining, and it is possible that you will expend more ammo killing the zombies than you will gain from killing the zombies. It’s something to keep in mind.
Omitting standing trash monsters, there are a few broad categories of encounters we can come up with:
Waste: Like mentioned before, this is where you make the fight drain a particular resource (or several resources) without endangering the player, unless they don’t use up those resources. Most commonly, you see this with a wave of demons or other obstacles blocking your exit, forcing the player to use up quite a bit of ammo to fight them off. This isn’t limited to just ammunition, however; it could also be something like forcing the player to waste time on his radiation suit while a monster blocks his way.
Challenge: These are the situations where you want to put the player in an interesting situation, without necessarily killing him. Tricky ambushes intended to damage the player while you give him a way out is a good example of this. The overall purpose is to stress the player and damage him (a bit like “wasting” encounters, but with health and armor), but to give him enough of a way out that he doesn’t simply die. Most of your map should be using this, when you aren’t simply using trash monsters.
Punish: These are a bit harder to pull off correctly, this is where you drain the player’s mental resources, to make him apprehensive and jumpy. One great example that comes to mind is Simplicity Map08, in the room where you get the red key; you’re teleported into the middle of a small room with four doors in each compass direction. As soon as you step off the teleporter, the doors open quickly, showing you’re surrounded by a few revenants. It’s not a difficult fight, but it’s very hair-raising, and leaves you hoping the mapper never does anything like that again. Revenants, archviles or other monsters that are either very quick, difficult to dodge, or both, as well as creative, stressful ambushes do this very nicely.
Kill: Here’s the part of the map where you want your player to just die. You’ve punished him, you’ve given him tools, you’ve taken away a good amount of those tools (but hopefully given him what he needs), now it’s time to put him in a really horrible situation. Obviously, you want to give him a chance; otherwise you could make the entire map a crusher and be done with it. This category is usually pulled off with boss-types, but you can also use mixtures of less-threatening monsters. The area usually also has to be tailor-made for it. Feel free to mix it up, as well; if the fight is unfamiliar, the player will be that much more impacted by it.
For best effect, combinations of the first three designed to supplement the latter make for a very memorable map. Though of course, punishing and challenging could potentially kill the player, and punishing him should certainly challenge him, but each has a separate specific goal. That goal is what you should be considering when you create these encounters.
Decorate allows for a wide range of customization on monsters, allowing for capabilities far beyond even Strife’s monsters. Because of this, it can be difficult to use them well.
It’s often a good idea to try to place custom monsters into existing categories, or try to build your monster with a specific role in mind. The shadow, for example, makes a nice roamer and an even better ambusher because it’s hard to notice, allowing you to set up traps without some of the usual signs. Then there’s the Hell warrior; an excellent obstacle because it can ignore attacks if the player doesn't time it right. Of course, if you know what you’re doing, you can establish new roles as well, such as glass cannons; trash monsters that can be threats in certain circumstances, like the rocket zombie. Make sure that these new roles are actually useful, however.
But the best way to make sure that your custom monsters are used best is to make sure that each one is unique in some way. If a custom monster is used that fills the same role as a vanilla monster in every way and the only difference is a visual one, then that’s not really utilizing the purpose of custom monsters to the fullest extent. Custom monsters should also try to provide some sort of new challenge. For veteran players, using a brand new never-before-seen custom monster can be used to throw the player off, and make the player reevaluate their strategy. Custom monsters could also possibly be used to fill a role that the vanilla monsters are incapable of properly filling, depending on your situation. In general custom monsters can add a new dimension of gameplay to a map, a sort of unpredictability.
Just because a monster is “new,” however, doesn’t mean it could be used willy-nilly and still be perfectly fine. Always consider the monster’s role and how it fits into your map, and do not overuse it. A common mistake mappers make when using custom monsters is to go overboard and use them everywhere, with little regard to how they really work in the situation that they’re placed in. Sometimes a monster will need editing to better fit into your map, if you know how to edit monsters then feel free to do so if it means that the map will play better as a result.
What Not to Do
There are a great number of things a mapper can do “wrong” with regards to monster placement. An important thing to remember when designing a map is to test it often, and make sure it plays well, especially with regards to monsters and their roles. The only way to really make sure a monster fits its role in a certain area is to test often and guarantee that there is no grave error in the monster usage.
A common mistake mappers make when placing monsters is placing them symmetrically. Both experienced veterans and new mappers fall can fall into this habit because it is a fairly easy one to fall into. The problem here is that it creates patterns, and once you fall into patterns your maps will become dull and repetitive. Predictable.
Very, very symmetrical through most of the map pack.
Another big issue is overusing monsters. Using just one monster in the same role, over and over, is not fun. For example, hordes of chaingunners used as threats, or endless waves of the same monster all over the place. Slaughter maps, which focus heavily on large groups of monsters, can fall prey to this problem with great ease. Instead of using the same threat over and over, vary your threats, choose them wisely, and break up trash monsters with them. Threats should be used where they can really count.
Once again, if it just seems like you can’t peg a monster into a role, or figure out how to not fill a room with imps and call it a day, playtesting is the way to go. Testing is one of the most important things that a mapper can do to spot potential gameplay problems and fix them before one problem for the mapper turns into a big problem for an entire forum filled with players who have tried out the map.
There are several engine features specifically designed for giving mappers more control over the situations they want to create. We aren’t entirely limited to placing them and relying on their default behavior, even in vanilla, we have some control over a monster’s behavior to a degree. This allows us to make even more varied situations for the player.
Ambush Flag: One thing commonly used is the ambush flag you can set in the map editor. Monsters with this set won’t wake up immediately upon hearing the player shoot. They won’t wake up, but they still do react; their vision becomes a full 360 degrees after hearing him. It’s also usually known as the deaf flag, but “deaf” implies they can’t hear at all (it’s more like they heard, but chose not to go after the player).
It’s often used for standing monsters you don’t want to charge at the player immediately. Most often this flag is used to divide up monster encounters. You don’t want all fifty monsters in the same interconnected sectors attacking the player at once, so this flag can help differentiate when monsters are supposed to encounter the player, and delay the appearance of others. It’s also invaluable for ambushes, of course, this flag will keep monsters in place and hidden until they see the player, because of this it’s useful for surprising the player in situations where it might not appear like there’s any monsters around.
Sound-Blocking Lines: Sound-blocking lines are almost like setting the ambush flag for entire areas. The way sound works for waking up monsters, alerting sound (more basically, an alert code-pointer, because it has nothing to do with sound) travels through connecting sectors. Any monsters in one of those sectors will "hear" the sound and detect the alerting player (unless they have the Ambush flag set, of course). Any place where the floor and ceiling meets, like lifts and doors, are treated as solid walls, though. Sound-blocking lines sort of act like solid walls to alert calls (not actual sounds the player hears), but it requires two lines to block. If an alert call passes through one, it doesn’t matter how far apart they are, it won’t pass through the second.
They can be used to divide up monster encounters like the ambush flag, but while accounting for distance. They’re important for making it so that ambush monsters (not with the ambush flag) can become free roaming without necessarily having to see the player. Combining sound blocking lines and ambush monsters (with the flag) amongst many interconnected monsters that are open to each other will allow the player to go through the various areas without having all the monsters roam out of various positions or appear when they’re not supposed to. While free roaming monsters are important, you don’t want all monsters to become free roaming, some monsters need to have their appearance be timed for an encounter to play out properly.
Also, speaking of how sound works to alert monsters, a popular way of alerting monsters in a teleportation trap is to join two sectors who are physically far apart. Put monsters in one end, and have the other end somewhere the player will go. Because they are the same sector, they’ll be alerted when the player shoots, but because they’re so physically far apart the player won’t hear them.
ACS: If you would like to use more advanced source-ports, scripting in maps could also help with monster placement in the same way things like sound-blocking lines can; to allow you to customize things besides simply placing monsters. ACS adds an element the player can't quite keep track of, as well.
When you think of the kind of "you walk over a line, a wall drops and monsters attack" trap, that's a very basic kind of scripting (line actions, because they're tied to the map lines themselves). Most of this is simple "If the player moves here, then this happens," but ACS allows for far more customization with regard to ambushes, because you can set more conditions. One example of this scripting more advanced ambushes is in Simplicity; in Map11 at one point, you walk through a curved hallway, press a switch, then walk back through. Halfway back through the hallway, a nightmare demon silently spawns at each end. With standard line actions, the ambush would trigger the first time the player passes through the hallway. For someone used to these line actions, this is very jarring and unexpected. Unfortunately, a lot of the time, I see ACS used to create arenas where you simply fight two or three waves of monsters before the exit opens. This isn't necessarily bad when it's done right, but I see it quite often. With a little imagination, though, ACS can be quite flexible in creating ambushes. Some map packs, like the aforementioned Simplicity, are great examples of what can be done.
One possible technical issue with ACS is that when you outright spawn a monster that wasn't there before, it increases the monster count. In Doom, Quake 1 and other games, the monster count doesn't change; the count that the player can see when he checks at the start of the map is the total amount of monsters in the map, and won't increase beyond that. This may or may not be a bad thing to some people; on the one hand, it's consistent with other games of this style, but on the other hand it gives an innate unpredictability. If you don't want to influence monster count, you can place a monster in a room that's totally outside the map's play area itself (I prefer to mark the walls of that room as hidden, also, so the player can't even see it if he cheats), and use functions like TeleportOther to move the monster into the map. Using that gets the same effect without altering the monster count.
Infighting is a dynamic aspect of monster placement that can add a great deal of replay value to any map. It’s an unpredictable element that can be used by the player conserve ammo and reduce tension. Infighting isn’t something that is solely in the hands of the player to control; monster infighting is largely dependent on how the mapper designs an area and places monsters. If the mapper wishes to have infighting even be a possibility, monsters need to be placed in such a way that increases the chances that the monsters will infight, whether it be on their own or through player intervention.
When you’re considering infighting, consider the types of monsters you’re using. Some are particularly prone to infighting, based on how they attack. Monsters that can affect an area, such as the mancubus and cyberdemon, are easy for the player to use to start mass infighting in crowds. Hitscanners and monsters with rapid-fire attacks are also susceptible. The only melee monster that is prone to cause infighting is the lost soul, and as one is sure to notice, lost souls are very quick to turn on each other in crowded situations.
When placing monsters one should consider whether infighting should be an option for the player. You may want to avoid monster infighting (so a tough fight doesn’t turn into a joke), or allow for many opportunities for the player to cause it (so a fight you don’t want to be that tough might be a little easier).
Monster arenas are fights where you really want to stress the player and put him in a dangerous situation. You can potentially take him out of his element if he's a cautious player, and completely take away safe areas. To accomplish this in a lot of cases, the player is locked into the area until the threat is dealt with (or at least mostly dealt with), to restrict movement somewhat and so the player can't return to areas that have been cleared out, until some requirement is fulfilled. These arenas usually don't actually release monsters until the player is locked in, as well. Doom has a long history of these kinds of fights; Doom 1's boss maps all had this in some form, and one of the most iconic maps of Doom 2 was entirely a monster arena.
Monster arenas have been part of the game for a long time.
If you want to reward the player for being perceptive, you could give the player some way of escaping. For example, the red key trap in Double-Impact M5 gives the player two ways to slip away from the rather cruel arena ambush. However, Double-Impact had a standard set throughout the game of rewarding perceptive players, and you might not want to allow an easy exit. It depends on how climactic and difficult you want the fight to be; if you have some epic boss fight, you don't want the player to be able to get away, but if you have some ambush around a key midway through a map you might allow it.
More than any other form of monster placement, you have to be more careful with terrain; normally, you can design placement around terrain, but with arenas the terrain has to be built around the fight. Monsters in an arena have to be able to flow through the entire place (unless you want turrets to try to limit the player's movement somewhat). They also have to not get lost; if the player must kill all monsters in the area before the door opens, it's bad if he has to go looking for that last imp wandering around. Usually it depends on building the arena around a central large point that you want to herd the player around. Corners between side passages and those central areas should also be avoided, if possible, as that's where monsters can get stuck most often. Sometimes, you might want to design the arena in such a way that monsters will get caught on terrain and cluster in certain areas. Think of Doom 2 Map16 and the amount of monsters that get caught in the middle section. Like everything, though, play-testing is very important to make sure monsters getting stuck on terrain won't be a problem.
One gimmick I see in some arenas is throwing multiple waves of monsters at the player. This can get awkward, because you might have to provide more ammo or other resources to the player, and it can get frustrating and boring if you just teleport more monsters in, just like if you had too many arena fights in general. One solution I like to see to this is opening more areas to expand or change the arena. Doom 2 Map07 is the best example; after the mancubi are dead, walls lower, making the arena larger, introducing the second wave and providing more health and ammo. It expanded the arena fight in every way, in a way that didn't feel like it was making the same fight longer. Simplicity Map07, I feel did this the wrong way. It had three waves, the second wave was teleported in, and some small monster closets opened along the edges to add the third wave. It didn't change the arena at all, so it felt like the same fight with slightly different monsters fought three times.
If you want to lock the player in until everything's dead, it can be pretty tricky without ACS. The only triggers on monster death in vanilla-compatible maps are on specific maps from specific monsters; barons of Hell in Doom 1 E1M8 replacements and mancubi and arachnotrons in Doom 2 Map07 replacements, for example. Many vanilla-compatible maps have locked the player in for long enough, though. Doom 1 E1M5, the door leading from the red key room are on timers that usually expire shortly before the last monsters are dead. Doom 2 Map20, you can't get to the switch that opens the door until the cyberdemon and spider mastermind are dead. Double-Impact E1M7, the bars to the exit are steadily lowering for a good portion of the fight, but you have to survive that long. If you're going for Boom, voodoo dolls can also help set a decent timer. You sometimes have to be creative, but there's usually something you can do if you really want to lock the player in until there isn't much of a threat left.
Monster/Weapon Tier Progression
When placing monsters in a map, one must consider what the player has at disposal to deal with the monsters. Progression of both monsters and weapons are integral parts of map design, and both are closely related.
Generally, you want to progress both as the game goes on, with more powerful monsters and weapons appearing later in the game. However, one shouldn’t necessarily progress faster than the other. If you throw monsters at the player that almost require one weapon over the others but you haven’t given the player that weapon yet, then your player will find it very difficult or boring. On the other side of that, if you give the player a plasma rifle and keep him supplied with cells, but don’t ever give him anything more difficult than a spectre, you’re making it too easy. The same is true for items and powerups, as well.
Additionally, different situations will be handled in greatly different ways based on what the player has available to tackle the threats. For example:
The bottom line is that weapons/ammo/powerups and monsters should be adjusted to match one another, depending on your map’s difficulty. For example, you shouldn’t expect the player to wade through hordes of high health monsters with only a super shotgun or lower. Conversely, killing a large amount of imps with a BFG is also dull.
Probably the greatest thing to avoid is a sense of boredom in your maps. More than any other aspect of map design, monster placement will make or break this feeling. Once the player is bored, it doesn’t matter how great your map looks, how grand the architecture is, how fine your details are, how the crazy the gimmicks are, or how awesome the music is. You’ve already lost the player at the point where it isn’t fun to play.
Predictability is the first cause of this, and especially with regard to ambushes. Imagine yourself walking into a room, with only a few trash monsters inside. There is a key in the middle, and there are a few walls that could easily drop down. I’ll give you three guesses as to what’s going to happen here. Your player will expect the trap and it won’t have as much of an impact.
If you do want to use standard ambushes, there are two good ways to get around it; play with the player’s expectations a bit, or make the situation generally stressful somehow. A good example of this is the yellow key room in Double-Impact E1M9; it was a yellow key sitting in the middle of a large room, no monsters in sight. Once you’ve picked it up, however, monsters teleport in all around you, and in the escape route as well. You aren’t simply throwing monsters at the player to fight, you’re taking away the player’s safe zones as well.
Repetition is another factor of boredom. You want to avoid forcing the player to use the same weapon to fight the same monsters in the same situations. As Vader said, shooting waves of Hell knights and barons with a super shotgun gets dull. This ties into ambushes as well; if you have the most ingenious trap but force the player to shoot several barons for a few minutes then it’s not a fun trap.
Does this LOOK like it would be fun to play?
But the best way to make sure the player doesn’t get bored is to set up the situations in your map so that the player is stressed. Give him breathing room now and again with trash monsters and some threats in trivial situations, but keep putting him in positions that force him to stay on his toes. As long as you work to make sure the situations in your map are properly varied and appropriately stressful, the player can’t get bored.
And of course, monster placement factors into difficulty more than any other as well. Each element we’ve discussed affects difficulty in some way, whether making the map easier or harder. Monsters roles, infighting, roamers and ambushes should be taken advantage of to keep a level of difficulty you intend.
Before you even start your map, you should decide how difficult you want your map to be (and in what manner you want it difficult in), and design your placement around that. For example, if you, believe your map is too difficult, you can add more opportunities for infighting to give the player more breathing room; if too easy, a few more varied ambushes or replacing a few monsters with more powerful versions could ramp it up to where you want it. The definitions of “too easy” and “too hard,” obviously, are relative to how you view your map, however.
Difficulty can contribute to boredom quite a bit as well. If the map is overly difficult, it won’t keep the attention of weaker players because it will be too hard for them to progress. If the map is too easy then more experienced players will not find the map challenging enough to keep their attention (unless it fits the difficulty curve of your mod). Because of this, you’ll want to keep the different difficulty levels in mind, as you place monsters. Placing monsters and items using the different skill settings allows players to choose how hard they want the map to be, and play at a level that they’re comfortable at, and can also increase the replay value of your map. It is extra effort, but worth it in the long run if you want to have a quality map that a larger amount of people will enjoy.
The length of a map should also relate to difficulty. Even more experienced players will eventually get bored with a map if it is too hard and too long; slugfests can be fun but after a certain point some players may feel that a map just drags on for the sake of dragging on. A really long map shouldn’t be too easy either, or else there won’t be a challenge or motivation to keep a player interested. Maintaining a balance between length and difficulty is also important if you want the map to be fun for everyone. If a map must be too easy, then make it shorter so it doesn’t drag on for too long. Intermittently including easier maps is important in a proper difficulty curve to give the player a bit of breathing room.
Another topic to consider is messing with the player’s expectations, usually with ambushes. Imagine a wall that looks like it would drop down when you pick up the key in the middle of the room, and the mapper has done that a few times before. However, instead of the wall dropping down, a few revenants teleport in around you. Usually, messing with the player like this is an attempt to dictate the weapon you want him to have selected (the wrong weapon) before you try to kill him. You might consider this a good idea, because we’re keeping the player on his toes, right? Not necessarily; in a lot of games, this tactic is considered really cheap, but it depends on how it’s used. There’s a fine line between keeping the player guessing what you’ll do, and punishing him for expecting something you want him to expect.
If you are going to turn the player’s expectations against the player as a form of ambush, then put careful thought into how you’re going to go about it. You don’t want to do this too often because it can get frustrating (then create new expectations and become predictable). Use this method sparingly, and more importantly if you’re going to use it allow the player to react before a considerable amount of damage can be done. Allow the player enough wiggle room to reevaluate the situation and tackle the new threat.
We’ve discussed a few things on a technical level, but quite a lot of this “guide” has been from mostly a philosophical standpoint, like what is poor practice, what would be boring for the player, etc. Because of this, it isn’t nearly a clear-cut “how to.” For a short time, I considered picking a popular Doom map and drawing a diagram, pointing out all the examples. However, I believe it's a very valuable exercise for the reader to run through a map and figure it out himself. The best way to know whether you have good monster placement is to test it out. You can’t get anywhere in modding without testing things you’ve made, and this is particularly true of mapping. Don’t just test it yourself, either; make sure you have others test out your maps, especially if you’re new to this. You can theorize about whether or not these encounters will achieve the effect you want or whether or not the map is of the difficulty level you want, but without seeing them in action, you really don’t know whether it behaves how you want.