This is a guest post by Jeff McKinley.

Even in games with heavy RPG elements, enemies tend to have more influence on how players interact with a game than the options the players choose for their characters. Differences in the recurring strategies players use, or playstyles, tend to arise more from the challenges that the players expect to overcome rather than the options presented in character customization. If the enemies in a game are varied, then you can get more mileage out of fewer abilities for the options players have for approaching challenges.

The Souls series makes a good case study for this, but in interest of brevity, we’ll just focus on the design in Dark Souls 3, with interest in encounters with multiple enemy types. There’s an encounter where the player walks into several dogs guarding a handful of archers, who stand on raised ledges the player needs to go around the archer’s position to access. The ranged enemies have a slow rate of fire and their bolts travel at a moderate speed, but can deal significant damage if they hit the player. The dogs move quickly, attack frequently, but do low damage. Both types of attacks will stagger and interrupt the player if they hit. It’s a standard pairing. Let’s look at the player’s character customization options they can bring to this fight.


For our purposes, there are three general types of interactions a player’s DS3 character can have with the enemy: melee weapons, ranged weapons, and spells. Melee weapons have differing startup length, very similar active length (the part that can hit enemies), and similar recovery times, with a few exceptions. Ranged weapons generally have a long startup, but have no active or recovery frames on the player side, and can be effectively fired at mid to extreme ranges. Spells tend to have even longer startup times with shorter range, but do significantly more damage than a ranged weapon. Characters move slower or faster depending on how much protection their armor gives and can use a shield to block attacks or gain invincibility frames with a dodge roll.

So, we’ll say Player 1 has a standard setup: fast melee weapon, medium armor, and a shield with a ranged weapon in reserve. The standard strategy would be to block the dogs, counter attack since they die in a few hits, then use the ranged weapon between dodge rolls to take out the enemy ranged units. Now Player 2 is a magic user. Most magics’ cast times are too long if the dogs get close, and the dog’s rapid movement makes them very difficult to hit even if a spell gets fired off. This requires the player to either have a melee weapon in reserve or to use very precise dodge timing. Each build has a variety of strategies the player can take to deal with the situation that is similarly effective.


Now to Put This into Practice

Let’s build a hypothetical ARPG that has the player selecting one of six abilities—three different “trees” of two abilities each. All players have a melee and a ranged attack, a dodge dash/roll, and move at run speed. We’ll say the main character is a swashbuckler with a sword and a pistol. The players can select two abilities that they’re locked into, and each ability is on a 6 second cooldown. The six abilities are:

  • Blowback: A heavy attack that knocks enemies back and down. Can be melee or ranged.
  • Endure: Prevents stagger on the player and reduces damage taken for a short duration.
  • Swift Strike: The player teleports a medium distance onto an enemy and performs a melee attack. This skill must target an enemy.
  • Hamper: A quick ranged strike that slows enemies for a short duration. Prevents rapid movement.
  • Fireball: Shoot a small projectile that explodes in an area that does damage and staggers enemies hit for .25 seconds.
  • Wind Wall: Prevents any projectile from passing through it, but enemies and the player can walk through it without difficulty.

As the player can pick any two, we’ve already got a decent amount of builds the player can take into our encounter. I set up a table showing all the possible options and compared them to what started as only two melee enemies and five ranged enemies with no abilities. The end results had three different enemies with a variety of abilities.

  • Heavy melee: Uses a large weapon and attacks slowly. Moves only slightly slower than the player (would catch up if the player did anything other than move).
    • Charge: If the player gets too far away, the melee enemies do a charge after a short wind up to the player that hits hard and knocks down. Can be dodged. If these enemies charge through Wind Wall, it dissipates. Hitting the enemy during the charge interrupts it, but still places it on internal cooldown.
  • Ranged bow: Uses a bow that fires slowly. Scatters if a player approaches.
  • Ranged Caster: Casts 2 spells. Scatters on approach and explodes after a short delay on death.
    • Reflect: Periodically throws a wall that reflects all projectiles back at the source. The projectiles can hit both enemies and the player.
    • Flame circle: Places a stationary AoE at player’s feet every few seconds.

Lots of data, lots of theorycrafting, and a lot of time, but it pays off in the end.

The final makeup has two melee enemies close to the player, a group of two archers and a caster to the back-left, and one archer and one caster to the back right. The combination for abilities allows for multiple approaches for almost every combination. A player with a fireball spell can choose to time between the reflect to stun the archers and casters or use the reflect to hit the melee enemies on them. This can interact with Blowback to hit enemies into the projectile, Swift Strike to teleport out of the way, and Wind Wall to force it to explode safely away from the player, while still hitting enemies if positioned correctly. The fire ensures that a character with Endurance, and to a lesser degree, Wind Wall, have to keep moving at all times, while the death explosion give options for taking it out at range, and an advantage to a Swift Strike and Endurance combo. The charge on the melee enemies that dispels the Wind Wall makes it so the player can’t just drop it right in front of them to ignore both groups of ranges, only one at a time. With this set up it ensures that every combination has at least two strategies.


Being One with the Matrix

Approaching enemy design in this direction allows for more player strategies with less abilities, and for more dynamic encounters with reusable enemies without the repetition feeling stale. This allows players to use more options in gameplay while minimizing the number of player abilities you need to create and still make a great game. The abilities and enemies will still have to be tuned and balanced, of course, as this method just allows you to create and consider possible strategies before implementation, and following this should help lessen the burden on creating new assets to improve player options. While this example uses an ARPG in the interest of brevity, the matrix method of examining player options can be used to double check that you know how many options players have to tackle the obstacles and challenges you place before them.