Simon says "Come up with a better idea"

Making Enemies III

The final fundamental question that needs to be answered when designing enemies for an action game is:

3.  How will the enemy overreact and expose their fatal weakness?

Every enemy needs a flaw, a chink in their armor that can be exploited by the player. A massive enemy with an equally massive health bar that virtually ignores you as you whittle away isn’t very satisfying. Their defeat is too gradual; the moment of their defeat nearly imperceptible. The true glory of victory isn’t the explosion or the death rattle, it’s before that, when the outcome is guaranteed, but not yet realized. That requires a fatal flaw.

  • A melee charge that travels a bit too far, letting the player get behind them
  • Running out of ammo at just the wrong time, leaving them defenseless at a crucial moment
  • Losing their temper and leaving cover, giving up their advantageous position
  • Realizing a second too late they are standing next to an explosive barrel

The issue for game designers is not the flaw, but calling the player’s attention to it. Shooting at the glowy bits is a common trope. It works precisely because it is a cliche, but it’s about as elegant as putting up a sign that says “Shoot here, dummy.” And not as effective, either. Using Water spells on Fire enemies makes more sense, but is about as exciting as turning a key in a lock. It’s easy to see why so many games have resorted to flashing random button sequences as a facsimile of exploiting a weakness, at least screen-filling UI prompts are hard to miss.

Simon says "Come up with a better idea"

The ultimate warrior

The problem is that there shouldn’t be a problem. Nature’s molded us into natural born killers.  We know when an enemy is vulnerable — from injury or inattention or separation from the herd — we can spot the target of opportunity if we see it. But there is so much going on in an action game, so much happening at such a relentless pace, it can be hard to filter out what is important. That’s why the best flaws are revealed when an enemy reacts to the player, or more accurately when they overreact.

The moment of reaction is ideal because the player is paying attention. Their action caused the reaction.  Everyone over-emphasizes the results of their own activity and focuses on the effects that they cause. They want to watch the ripples from the stones they are throwing. So they will be watching closely and are more likely to notice their opportunity. Also, since the player is the cause of the reaction, they will naturally experiment with it and understand the connection much faster. We are natural scientists, even children employ the scientific method, so giving the player control over the weakness will make them more likely to discover it.

Making it an overreaction will make it more obvious. It can be exaggerated and call attention to itself by being slightly inappropriate. It will also give the player the satisfaction of having outsmarted an enemy. It’s one thing to exploit a weakness they cannot control, but it’s so much better to capitalize on a mistake they shouldn’t have made. Provoking an enemy into a fatal error is one of the most satisfying experiences a game can provide, and the more cunning an enemy seems, the more delightful it is to fool them.

My technique is no technique

Making Enemies II

The second fundamental question crucial to designing enemies for an action game is:

2.  How will this enemy counter the player’s first-tier tactics?

Action games give the player a hammer.  It looks like a broadsword or an assault rifle, but it’s still a hammer.  And when you have a hammer, every enemy looks like a nail.  A nail doesn’t have to do anything complicated to look smart; all it has to do is avoid getting hammered right away!  If an enemy forces the player to reach into their toolbox for a second option, they’ll show that they are clever, and the player will feel clever, too.

My technique is no technique

Good AI

The obvious way to counter the player’s basic tactics is through simple invulnerability.  “That armor is too strong for blasters.”  It’s crucial that this invulnerability is communicated clearly, through the look of the enemy, how they respond to the player’s attack, and any supporting effects or dialog.  If the player doesn’t realize they are not being effective — or is misled into thinking they have done damage when they haven’t — the enemy will just seem poorly tuned.

  • Carries a shield that blocks bullets, but any other kind of attack causes them to drop their shield and expose themselves to fire
  • Cannot be killed with melee attacks and must be thrown into an environmental hazard
  • Bullets bounce off the vehicle, but you can snipe the driver out

A more subtle way to foil the player’s main method of attacking is to preemptively take action to prevent it or require another action be taken before the attack to make it a two-step process.  These enemies appear intelligent, but they still allow the player to user their (hopefully) satisfying primary attack.

  • Takes cover behind an object, requiring the player to flank or drive them out of cover
  • Wears a full-body energy shield that must be taken down before they can be damaged by normal bullets
  • Blocks every sword swing, but is stunned if their own swing is blocked

It is also possible for an enemy to behave in such a way that it is more difficult for the player to execute on their first-tier attack.  This can be difficult to tune for multiple difficulty levels, but if the counter-strategy only works on the their main attack, then players of any skill level should be able to cope by changing their tactical choices instead of having to execute beyond their skill level.

  • Flees out of melee range faster than the player can pursue, but has no defense against ranged attacks
  • Keeps up a constant barrage of fire, forcing the player to hide, but unable to get away from a grenade thrown from behind cover

Again, the idea is not to make an enemy that is difficult or frustrating, or even especially sophisticated, but that has a clear counter for the player’s primary attack.  This will require the player to stretch, tactically, and figure out their alternatives, but any amount of experimentation should be rewarded by a quick victory.

Making Enemies

There are three fundamental questions at the heart of designing enemies for an action game.  The first is:

1.  How will this enemy force the player to react?

Any enemy can be tuned to be deadly.  In fact, overly lethal enemies are often a symptom of a poorly balanced game; nobody enjoys being flattened by an unstoppable steamroller.  And any enemy can be crippled until it is merely a target in a shooting gallery.  When a designer has run out of ideas for making an enemy fun, the fallback position is usually “bullet sponge”.  The key to designing an enjoyable opponent for the player is finding a way to split the difference — forcing the player to react to an enemy without resorting to killing them.

To achieve this, it is important for the enemies to take the initiative and make the first move.  Players will tend to repeat the same tactics over and over if they continue to work.  By preempting their default strategy the enemy will challenge them to improvise, to think more strategically, or to experiment with new tactics.

  • Disarm the player, or prevent them from using their primary attack
  • Invade the player’s space, requiring them to start a fight before they are ready
  • Use a special non-lethal attack that stuns or knocks the player around, preventing them from fighting back until they can counter it

Another good way to force the player to react beyond taking and dealing damage, especially in shooters, is to force them to move.  By making the player aware of their environment — the connectivity of the space and their physical relationship to their surroundings — a well-designed enemy can greatly increase the strategic depth of combat.

  • Attack from a range that is outside or inside the player’s optimal range
  • Deny the player use of an area (as with a long-fused grenade) forcing them to move to a different area
  • Take cover behind an object, requiring the player to switch positions and flank them
  • Charge to melee range, so the player must retreat or change weapons

Another way the player can be made to react is by changing something significant about the fight so they have to re-prioritize their targets or switch tactics.  This change doesn’t have to be immediately dangerous, it just needs to tilt the battlefield in a new direction.

  • Begin a devastating attack with a long wind-up that can be interrupted
  • Perform an attack that ends in a temporary vulnerability that the player will want to exploit
  • Allow the player’s current target to quickly withdraw or become invulnerable, removing themselves from the fight temporarily

Another tool for causing a reaction that is often overlooked is dialog or dramatic behaviors that don’t serve a combat function, but can still influence the player and cause a reaction.

  • Taunt or mock the player to incite anger
  • Announce an upcoming action (like reloading) to draw the player’s attention
  • Threaten or attack one of the player’s allies, giving them a chance to be a hero

Far from being a secondary concern to be considered after an enemy can already fight well, these non-lethal interactions with the player should be designed first and receive the most attention.  Once the player is engaging an enemy with their mind — and not just their fingers and their weapons — they will be having fun.  At that point it is easy to make them more or less lethal as the balance requires.

Reciprocal Difficulty

Push on the wall.  This is not a metaphorical encouragement to seek innovative solutions.  Literally, place your hands against a wall and give it a shove.  Now, assuming that you are not working in a cubicle, you have just experienced what physicists call a normal force.  The wall pushed back against your hands with the exact same force you used on the it.

Purchase Gotham City Mutual's Superman Insurance!

Unless you have superhuman strength... Sorry Superman

One of the prerequisites of a flow experience (as defined by Mihaly Csikszentmihalyi in his seminal work Flow: The Psychology of Optimal Experience) is that the difficulty of the activity roughly match the ability level of the participant.  If it is too easy, they will not become completely absorbed and lose themselves in the activity.  If it is too hard, they will become frustrated and unable to make continual progress.  Balancing between these two extremes is the responsibility of the game designer, but often there is not a single setting that works for every player.

One solution is to allow each player to choose their own difficulty level before starting the game.  Unfortunately, the vast majority of players simply choose the default option in their haste to start playing.  Very few players will admit to needing to play on Easy difficulty, and even good players may be too intimidated to start out on Hard.

Every answer seems insulting

I'm tough like week-old bread

Another solution is to dynamically change the difficulty of the game based on an ongoing evaluation of the player’s skill.  But in practice, this automated system usually destroys the intended pacing of the game.  A well-designed game will have periods of less challenge that lead to a more difficult section, building and relieving tension through the gameplay.  A dynamic difficulty system that is too sensitive will add wild fluctuations on top of these natural curves, obscuring the overall effect and flattening out the tension.  One that is tuned to adjust more slowly will often react to the easier segments by ratcheting up the difficulty at the same time that the designer is increasing it for pacing reasons, resulting in an unintentionally large difficulty spike.  Not to mention that the player’s sense of accomplishment will be undercut if they realize the game is “letting them win” by compensating for their low skill levels or “cheating” by getting harder as they get better.

A better solution is to learn from the wall’s normal force and design mechanics that match the player’s skill with reciprocal difficulty.  (Calling this technique normal difficulty seemed confusing.)  In a game with reciprocal difficulty, the more aggressive the player is, the harder the game gets.  But when the player becomes overwhelmed and stops pushing, the game immediately gets easier.  This allows players of all skill levels to be challenged; a good player will play more aggressively until the game gets hard enough, and a less skillful player will proceed at a slower pace until the game gets easy enough.

Examples of reciprocal difficulty mechanics:

  • Recharging Health – If a player is too aggressive and tries to fight too many enemies, they will die quickly, but as soon as they withdraw from combat their health recharges and they can proceed more carefully.
  • Defensive AI – Enemies that are much more effective when fighting from a defensive position are naturally more difficult when the player is pushing hard against them, but allows a timid player to pick them off slowly without putting pressure on them by chasing them.
  • Optional Objectives – Puzzle games that can be solved simply by any player, but have optional collectibles or rewards for completing a puzzle in fewer moves provide more challenge for better players.
  • High Scores – Any mechanic that encourages players to play for a faster time or to score more points is better able to satisfy a variety of player skill levels.
  • Character Leveling – If a player is having trouble with a difficult section, they can make it easier by earning experience and making their character more powerful.
  • Press Your Luck – The player is allowed to periodicaly save their progress or reduce their difficulty level, like going back to town in Diablo or repairing their aircraft in Crimson Skies, but good players will take this option less frequently.