Ambushes seem to be a ubiquitous part of RPG’s. The 5E starter module The Lost Mines of Phandelver begins with the party being ambushed by a group of goblins while ambush monsters have been a part of the game from its inception. These ranged from Invisible Stalkers to Purple Worms, there was always something crawling in the dark waiting to kill and or swallow you whole. Yet I’ve found the implementation of ambushes to be trickier than just yelling surprise, players just don’t seem to enjoy being ambushed and often feel cheated by them, while this isn’t surprising itself it does speak to a wider issue about ambushes within the game. I’m going to discuss why I think this is the case and some ways to improve ambushing in your game.
As with everything interesting in an RPG it comes down to choice and in regards to ambushes I think one of the reasons they can be unsatisfying is because the choice is often a binary one. Generally, the GM is going to roll a stealth check for the monsters opposed to the passive perception of the highest party member. If it succeeds then so does the ambush and if it fails the players spot the creatures before it’s too late, although likely a combat ensues anyway. During this process, the players don’t really have any input. Sure the players could choose to make an active perception check but if they’re going from point A to point B in the wilderness it’s fairly obvious they’ll want to be alert of their surroundings, hence why passive perception exists in the first place.
Ambushes also limit choice in that they by their nature are almost always going to lead to a combat or hostile situation. The players can choose to run from the combat but that doesn’t often happen until they’ve fought it and are well worn down, they might be captured instead if the ambush involves nets and traps that immobilise the players but they often will want to fight their way out of that one. So you deny the option for the players to approach the encounter non-aggressively. This isn’t a bad thing but it’s part of the reason why they can feel rather binary, forced and frustrating for the players especially if they keep happening.
We can solve these issues by giving the players enough information before the ambush occurs via foreshadowing. This will create suspense and also offer the players information they can work with to circumvent the ambush by sprinkling little clues as to what may await the players. Perhaps they find black-feathered arrows on the woodland path hinting towards ambush creatures, or they can feel tremors coming through the floor of the dungeon hinting towards that Purple Worm, or shadows just in the corner of their eyes as they explore hinting towards that Invisible Stalker waiting to strike.
Now that they have the information they can use it. Players could circumvent the Purple Worm by loading up on Spider Climb potions and traversing the dungeon via its walls, or placing cups of water on the ground ahead of them as they travel and watching them for signs. If the goblins tend to attack from the bushes burning them down as the party travel would be a good way to smoke out any of the little buggers. Another mechanical way already built into the rules is the players moving at a slow travel pace, while they will move more slowly they’ll have more chance to spot the ambush as they get advantage on their perception checks. The tradeoff is that they will move more slowly so it becomes a meaningful decision for them.
If the ambush occurs make its resolution in the game quick. ‘A flurry of arrows comes from the woods, Bob and Jerry are hit for 6 damage each, roll initiative.’ ‘A tentacle flies from the ceiling, grabs Karak and sweeps him into the air, roll initiative.’ Making the resolution quick and not labouring it makes the time in which the players can’t react as short as possible if you give the monsters a massive ambush round this will instil a feeling of helplessness rather than agency. So make it quick and allow the players to retaliate as soon as possible.
Encouraging your players to set ambushes themselves is an interesting way for them to turn the tables and be the ones who are causing the surprises as well.. I think players in a lot of games tend to be the target, the pursued rather than the pursuers so presenting them with this option and rolling with it if they choose to do so. They then have a huge range of options on how they want to set their ambush up, if they want to include traps, what location they want to use, how they are going to funnel the enemy into the ambush and so on which
If you want to avoid pulling the surprise button entirely on the players but still want to have some cool ambush scenes and monsters in your game having the players witness an ambush and be able to step in to save the day is a good way to accomplish this. You can also link this to your foreshadowing and smart players may even be able to warn other NPC’s that they suspect ambushes on the road or vice versa of course. Having a party save a merchant wagon from a Bugbear raid or a lone wanderer from being eaten by a purple also opens up a lot of options for further interaction, quests and adventures. Scrupulous characters may also use the scene to their advantage by stealing from the wagon or even joining in with the ambushers. The point is doing this gives the players a lot more choice than ambushing them directly.
As a final note, keep ambushes sparse. They should be exciting things that happen once in a blue moon. If the players are constantly being ambushed, unless there’s a good reason for it like they’re in the base of the master thief guild, it’s going to feel cheap and they’re going to get really paranoid and paranoid players make for a pretty boring game as they will be less likely to take risks or may be frozen into not taking any actions at all and are going to try to slow the game down by being extra paranoid and checking every inch of scenery you describe. Hence the importance of foreshadowing and presenting the player’s lots of options during potential ambush scenarios so the few that do happen are memorable as they should be.