A troll in a field is dead. A troll under a bridge is dramatic. A troll in your privy is terrifying.
The danger of enemies in 5th edition is based heavily on the circumstances in which they are encountered. Skirmishing doesn’t change this fact but does change the nature of those circumstances. Previously, you’d have to consider range, terrain, and how they interacted with a creature’s abilities. Now you also have to consider how they interact with the encounter’s objectives and how you want them to interact with the encounter’s objectives. To do this, I recommend choosing enemies for your encounter around the role they will play.
A role doesn’t have any actual mechanics. It is a guideline for what a given creature contributes to the encounter and how you plan to use them based on the tools available, the objectives, and the narrative. Broadly speaking, enemies are divided into threats, which are around to deal damage to the party, obstacles, which make completing an objective more difficult, support, which make other enemies better at their job, and filling, which aren’t expected to accomplish much save to provoke resource expenditure.
Filling is the simplest role. These are generally creatures well below the party’s level or else disadvantaged significantly by the nature of the objective. They might be there for flavor or because the party’s done something clever or else simply to absorb actions and resources that might otherwise be thrown at more important portions of the encounter. Most filling can easily turn into support simply by using the Help action, even if they are otherwise unable to contribute to a fight.
Zombies are a good example of filling. Even in large numbers and at low party levels, they’re rarely a true threat. Between their speed, low AC, and limited attacks, they primarily exist to eat up resources that could be doing something else. In an encounter where enemies can’t reach melee, trolls and similar melee-only creatures become filling due to circumstance.
Obstacles are the most important role in an encounter. These are creatures that are stopping your party from completing their objectives. A party will either have to kill them to progress or spend precious resources and actions bypassing them. Broadly speaking, the obstacle should have something in their statblock that makes them suited to playing the objective. High speed or ranged attacks if the players are trying to protect an NPC, high health or large size if they’re trying to block the route to an objective, or spells and abilities that can stop an objective from being completed while they’re around.
If your players are trying to complete a skill check, a troglodyte’s prodigious stench makes it an obstacle. If your players are trying to reach a location through a narrow hall, a troll’s large hit points and melee prowess make it an obstacle. If they’re trying to spirit an NPC away from an assassination attempt, a scout’s 150-foot-range multiattack can make it an obstacle. Being an obstacle is all about circumstance.
Threats are the role you’re likely most familiar with. In a skirmish where most are trying to complete an objective, threats are likely to simply try and murder whichever player is most vulnerable. Most monsters can be used as threats, but you should use this classification for the most dangerous and deadly creatures in an encounter.
Generally speaking, you will want some aspect of a threat to be more dangerous because of the nature of the skirmish. A troll fought in an underwater tunnel, where most sources of fire and ranged attacks don’t work, is a great encounter-specific threat. So are archers peering through cover or a dragon in flight.
If the party’s objective is to kill a creature, it should probably not be the threat role, for that creature should be preoccupied with protecting themself and completing their objective rather than putting themself at risk to deal damage.
Support is a vague role. It describes any creature whose primary role in the combat is making others more useful. This can take the form of magic buffs but doesn’t have to. Large creatures can carry others into battle, minions can perform the Help action, and others can even just give allies actions with which to ruin the party’s day. A support role is any creature that isn’t directly stopping the players from achieving their objectives and isn’t directly dealing damage to the players but is making the encounter harder for the players and easier for their foes nonetheless.
A good example would be a priest providing healing and support magic, a hobgoblin warlord using Leadership from a safe position, a horde of zombies using the Help action to make their allies more accurate, or a troll hurling kobolds over a ravine and into the fray.
In a given encounter, you should have obstacles and at least one other role. You can get by without other roles, but they give a party choices to make besides beelining on their objective and can make encounters more interesting and varied. Make sure that at least half the encounter’s XP budget is made of obstacles and add other roles to fit the tone and experience you want to create.
Threat roles make an encounter more dangerous and tense but also make it behave more like a standard fight. Filling roles make a fight feel easier and more heroic but can bog things down in a wave of bodies or turns that don’t matter if you aren’t careful. Support roles make other units more dangerous and are relatively likely to survive a fight so are a good place to introduce recurring foes, but they can be supremely frustrating if too effective.
Now that we’ve covered objectives, terminus, and enemy roles, we need to talk about the last piece of the puzzle and one often neglected in encounter design. We need to talk about terrain.