View Tags

November 7, 2012

Unpredictability and control in turn-based combat: an examination

Unpredictability makes art interesting. Twists of plot, unconventional characterizations, and surprising character development engage a reader’s imagination; unique instrumentation, sudden shifts in time signature, or an unexpected chord progression delight the ear.

So is it with games. Exploration, experimentation, discovery: all of these depend upon unpredictability, on gaps in the player’s familiarity with the game. Challenge exists only where the player cannot know exactly how a scenario is going to play out ahead of time. This is the sort of unpredictability we are going to talk about today: since it concerns game mechanics, let’s call it mechanical unpredictability.

Real-time games, as a general rule, have an easy time fostering mechanical unpredictability. Spatial navigation requires accuracy and timing; a real-time attack could miss or hit depending on a player’s physical input. The chance of making a mistake in the heat of the moment adds uncertainty, and thus tension.

Without this sort of real-time interaction, turn-based games must look elsewhere for their mechanical unpredictability. Many developers working on turn-based games mistakenly believe that unpredictability is necessarily bound up in randomness. Indeed, there is an assumption prevalent in the design community that any turn-based game without randomness will feel stale, predictable, devoid of tension.

This is a misapprehension, however. Randomness creates uncertainty, it is true, but so do other elements. This piece will examine a variety of tension-building elements, from the basic die roll to other methods that—quite undeservedly—receive less attention and respect. Each method has its benefits and its costs, though some entail a higher cost than others. We’ll begin with the most obvious, then discuss it in comparison to other methods that tend to get overlooked.

 

Randomized results

Randomized results are the very first thing any game developer thinks of when trying to add unpredictability to a turn-based combat system, so let’s talk about that technique first.

Randomized results are what happens when you interpose chance between a player’s chosen action and the results of that action. The results are determined by recourse to randomly chosen numbers: hence, “randomized results.”

If you have played RPGs for any length of time, you are already intimately familiar with randomized results. The ubiquitous “chance to hit” is a perfect example of a randomized result; so is variable attack damage. These implementations have proven incredibly popular with game developers ever since students first started cloning Dungeons and Dragons mechanics on a discussed in the past, excessive reliance on randomized results tends to produce two big problems:

  1. Excessively randomized results obscure the likely outcome of individual player actions, resulting in more opaque mechanics.
  2. Excessively randomized results take control away from the player, creating a watered-down sense of player responsibility for the outcome of battles. (“That was a bad die roll!” “The random number generator screwed me!” etc.)

In a well-designed real-time game, the player is willing to accept defeat over and over again if the controls are tight and responsive. The player knows that she and she alone is in control of her character. If she dies, it is because of some combination of three factors: (1) she wasn’t fast enough, (2) she wasn’t clever enough, or (3) she wasn’t accurate enough in responding to what was happening on the screen. It’s her fault, and she is likely to accept that fact, soldiering on with renewed determination. Game developers working on action games

A simplistic example illustrates the point:

Suppose that Bob is playing an RPG where he controls a party of five characters facing off against a troll. None of his characters have any guaranteed-hit attacks available. Suppose that Bob needs three of his five characters to hit the troll to kill it; also suppose that the troll will almost certainly kill one of Bob’s characters if the troll is not killed on this turn. Bob commands the party to attack.

In a deterministic system, when Bob commands all five characters to attack the enemy, they will all hit. His choices were entirely responsible for his victory over the enemy, and so he is 100% responsible for his ensuing victory.

But let’s say that we have a system with randomized results; let’s say that each character has an 80% chance to strike the troll. In this scenario, four or more characters might miss their attacks despite the fact that probability strongly favors a better result. While unlikely, let us suppose that four or five characters miss. The troll survives the turn, and one of Bob’s characters is slain.

Did Bob command his characters to miss? Of course not; the game chose to nullify his chosen actions on the basis of invisible, randomly selected numbers. Nor can we say that Bob made a poor tactical decision; he made his choice based on what was by far the most likely numerical result (namely, that at least three of his characters would strike the enemy). In all likelihood, Bob can reload his previous saved game, replay this scenario, make the exact same decision, and nonetheless get a completely different outcome. Bob is not responsible for the fact that the enemy survived here, and will be quite justified in assigning at least partial credit for this failure to factors outside his control.

This is one of the perverse realities of probability: although the probability of missing five 80% chance-to-hit attacks in a row is far less than 1%, each individual “die roll” is

However, a sufficiently large possibility space is essential to make this work well. I’ll Cryokineticists and Frost Spriggats would become game-breakingly powerful. Imagine going up against an opponent with an army composed entirely of characters that freeze your units solid for 2-3 turns on their first attack; there would be almost no way to successfully engage them. This same problem applies to Sleep, Stun, or any sort of common RPG status effect which prevents a character from acting.

Even a milder status effect, like “blind,” would become overpowered in a deterministic system. Not only it would take effect 100% of the time, it would necessarily cause the hit rate on physical attacks to drop all the way to 0%! Blind would essentially become an automatic Render Physical Attacker Completely Useless card.

The solution I chose was to make negative status effects take hold only some of the time. This limited application of randomized results turns negative status effects from a way of automatically crippling the enemy into a gambit you can try–and for which you had best have a contingency plan in case of failure!

     Use #2: Dodge chance

The second concession I made to randomized results concerns the ability of characters to dodge attacks. I did this as a way to help balance the units, enforce specialization, and raise the stakes when dealing with a few, particular classes. The Assassin, for example, is specialized in getting behind enemy lines and taking down weaker characters. Without a chance to dodge, the Assassin would be dispatched quickly almost every single time; giving the Assassin a significant dodge chance makes dealing with one much more of a tactical challenge.

I also give units an automatic, very high dodge chance when an attacker is blinded; this represents a compromise scenario with the Blind status effect, a negative status that would otherwise be overpowered, as we discussed above.

This is significantly different from most RPG combat systems. Most combat systems with a chance to hit impose a substantial probability of missing attacks against all enemies. Further, even those which do not force characters to frequently miss attacks will oftentimes set a maximum attack accuracy somewhere around 95% to account for the chance of a “critical miss.” (In practice, all this accuracy limit does is institute a chance of missing so low that it calls to mind our lightning strike scenario: the player will have no reason to expect it, and he will be profoundly unhappy when it occurs.)

The implementation I use in Telepath Tactics is far more circumscribed. Rather than a typical “chance to miss” system, it is a “dodge chance system.” The difference lies in the game’s base-line assumptions. There is no such thing as Telepath Tactics. He is the founder of This entry was posted on Wednesday, November 7th, 2012 at 9:14 AM and is filed under Developer Rants. This post is tagged , , , , , . You can follow any responses to this entry through the RSS 2.0 feed. leave a response or trackback from your own site.

© Copyright 2007 – 2013, Sinister Design — Indie Game Design Studio.