Randomness and Game Design
by Keith Burgun
For thousands of years, we’ve relied on randomness of various kinds to help our interactive systems work. While there will always be a place for randomness of all sorts in some kinds of interactive systems, I believe the current assumptions with regard to randomness in strategy games are largely wrong.
The major point I’d like to make is that noise injected between a player’s choice and the result (here referred to as output randomness) does not belong in a strategy game.
What is “randomness”?
For the purposes of this article, randomness refers to “information that enters the game state which is not supposed to ever be predictable.” The process by which random information is generated is designed to be something that humans can never figure out. Classic examples of random systems are rolling dice, shuffling cards, or random number generators.
Technically speaking, a die’s rolling pattern is not actually “random”. It’s simply responding to physics, and a computer could take information about how a die was thrown and predict the number that would come up. We use dice precisely because a human being can’t do that. In fact, when we incorporate dice into our game designs, we do it under the assumption that no human will ever be able – nor likely even try – to predict the outcome.
In fact, trying to actually predict how the die will roll, by perhaps carefully tossing it with a specific, intended trajectory, so that it rolls to a side you intend, would likely be called out as “cheating” by any observers. The whole idea with a die is that you’re not supposed to know. It is noise that must remain noise, forever.
Part of the reason for this is the fact that we’re actually dealing with two separate, closed systems in a game that contains randomness. A rolling die is a closed system of its own that really has nothing to do with the greater game system.
This is distinct from other kinds of “unpredictable” or “uncertain” events. In chess, for example, players have some limit to the number of turns they can look ahead. Beyond that point, the events that occur are indeed unpredictable for that player. However, players can and do learn to look further and further down the possibility tree as they get better at the game. Part of the skill of chess is being able to explore that ever-increasing possibility space and come out with more predictive ability.
So while chess does have unpredictability, it does not have randomness. All games must have some kind of unpredictability in order to function, but randomness isn’t the only way to achieve that. Chess’s source of unpredictability – a highly complex game state – is unlike a random source in that it can slowly be chipped away at and understood.
Types of Randomness
Randomness can be separated into two categories: input randomness, and output randomness.
Output randomness – when we think of randomness in games, we’re usually referring to this. Output randomness is noise injected between the player’s decision and the outcome. Examples would be the dice roll combat in Risk or Memoir ’44, or the random number generation combat in X-Com or FTL. I will refer to systems that do not have this type of randomness as “deterministic”.
Input randomness – this type of randomness informs the player before he makes his decision. Typical examples of input randomness would be map generation in Civilization or Rogue, or face-up tiles or cards in a worker placement game like Puerto Rico or Agricola. (People often use the term “procedural generation” to refer to this kind of randomness in digital games.) This article will not focus on this type of randomness, but it’s important to know the distinction.
Interestingly, while these two types are certainly distinct enough from each other to warrant the classifications, they do technically exist on a continuum. Without going into much detail on it, it should be noted that irresponsible use of input randomness – where the player has very little time to respond to the new information, or where the game generates problems of wildly varying difficulty match to match – cause similar problems as output randomness.
The Strategy Game Learning Engine
Strategy games are engines that allow us to understand them. We play a game, we win or lose, and we make connections. “Oh, I see!” we say as we figure out some element of how the system works. For evolutionary reasons, we find this process enriching and entertaining. This is the “essential fun” of strategy games (largely the premise of Raph Koster’s book, A Theory of Fun for Game Design).
Let’s break down the process further.
Informing the Player – The player takes a look at the game state, trying to figure out what move to make. He is informed by his “skill” database – the collective total observations about the system and how it works that he’s made up until now.
Deciding the Move – A move is chosen, and the action is taken. As a result, the game state is changed. Alternatively, this could be “deciding the strategy” – a series of moves that collectively adds up to a larger strategic gambit.
Feedback in Outcome – Over the course of the rest of the game, the system responds to this input. A series of events take place after that decision, including the final win/loss event; all of which serve as feedback for the player, highlighting some causal relationship between them. Feedback also comes following a strategy, or at the end of a game.
Recording Skill – The player observes and records this cause-effect relationship and records it to his database. The player can then use that skill to make moves in the future. (Notably, this moment is where the essential “fun” of strategy games comes from, but it of course relies on the rest of the machine to function.)
As a player plays a game, over many matches, he builds to this “skill folder” and becomes a stronger player. In a shallow game, there might not be very many of these moments, whereas a very deep game can continue delivering these moments for decades if not lifetimes. This is generally why it’s considered a good quality for games to be strategically “deep”.
How do we achieve that depth? Well, the first way, which all game designers already understand, is emergent complexity. In order to create complexity, we design our games so that they generate complex emerging situations throughout play. A bishop, knight and rook against three pawns and a queen is not inherently complex; there’s a very small amount of data there. However, unleash these two forces on each other on a chessboard, and the amount of possible situations that could emerge is huge.
The second method for achieving depth is, as far as I can tell, not understood by most designers today. This method involves being aware of complexity effectiveness: the amount of correlation between a state, and the history of past states.
A strategy game only has a finite number of states throughout a match. From what I can find, it seems that the average number of moves in a chess game is somewhere around 40, for example. A real-time game doesn’t have discrete “turns” per se, but there’s still a finite number of meaningful states, no matter how you divide it up.
If your game is a continuous series of events that lead causally from one to the other, then you are maximizing the amount of unique situations that can occur. I think this idea is counter-intuitive to many, who think that random events occurring somewhere in there must increase the amount of unique situations. However, the opposite is actually the case.
Having a system be entirely deterministic causes your emergent complexity to be maximally effective. This is because each emerging situation is given the maximum amount of contextual nuance by all of the events that came before and after it.
The pink egg here represents the current game state. In the deterministic game, it is getting pulled at by the events along the timeline of the match. In the random game, the timeline is severed and the current gamestate isn’t affected by as much.
In the deterministic game, the current game state has ties to every part of the entire timeline. Because of that, it is being pulled into a more complex and more unique shape. What this is illustrating is the way that context, when causally related, provides meaning to a game state.
Of course, even highly random games do have some deterministic elements that do provide some context to game states. For instance, in a game like Summoner Wars (a turn-based wargame involving dice roll combat), the health of your summoner and the positions of units are both relatively deterministic and do provide some context for game states.
However, the vast majority of contextual information in a game no longer has meaning. I attacked your unit, and I rolled the dice. It came up as a “miss”, and then next turn you killed that unit. That event – you killing my unit – is not really causally linked anymore to the actions I took beforehand. What happened was that I took an action, then something random happened, and then you took an action. The tie has been severed, and we can no longer use my move as contextual nuance for our current game state. Your game is now no longer “A, therefore B, therefore C”. Instead, it is now “A, then B, then C”.
The most significant bit of feedback is the goal-state. Once a match has ended, that win/loss condition sends a charge backwards through the course of events, revealing a positive or negative charge for every event that led to it. This move was somewhat good because it led to this, which led to that, which led to this, which led to that, which led to my win.
This is not to say that when a player wins, all his moves were good moves. However, it does provide an anchor point that informs every other move. Of course, moves are made in an attempt to get the player as close as possible to the win state. Once the match ends, we can now see how and why each of those moves was effective. (Because of this, players can get a lot of the same kind of fun out of watching a replay and analyzing it as they can from playing the game.)
Overall, after playing a deterministic game, a player is left looking at a coherent strategic picture that has been painted over the axis of time. Alternatively, the non-deterministic game could perhaps be considered more like a number of incomplete pictures. In this way, the deterministic game maximizes its complexity effectiveness, and the non-deterministic game does not. The non-deterministic game is adding complexity, whereas the deterministic game is multiplying it.
Output randomness does not increase the depth of a game. How could it? There is nothing to explore in a dice-roll. We all know that the odds are 1/6 for any face coming up. There is literally nothing else to know or explore.
What it actually does is obscure the outcome. You may have played perfectly, and still lost. The game has now sent you off on a wild goose chase, thinking about where you must have messed up, when in fact your play wasn’t the problem; dice rolls were.
Because of that wild goose chase, the game seems more complex than it is. The game provides unreliable feedback, and only after playing many, many games will it become clear which feedback you should ignore. Essentially, random games delay learning – the essential fun part of games – by injecting false signals into the engine. It’s a super-cheap way to create the appearance of depth, which is why it’s incredibly tempting for game designers.
Humans are pattern-seeking animals. We see figures in the clouds, we see images in the static, and we see conspiracy where there’s only coincidence. The reason is due to the fact that it’s evolutionarily favorable to think this way. The same quality that causes a person to think he saw a ghost in some rustling bushes is the quality that causes a person to think he saw a lion in some rustling bushes. And over time, those who thought they saw a lion were the ones who escaped when there actually was a lion. Those were the people who passed their genes along to us.
For this reason and others, we’re now both cursed and blessed with seeing patterns everywhere we look, and game designers have been exploiting this in us for as long as games have existed.
Gambling machines have always relied on psychological tricks to exploit us into playing them. In order for anyone to actually want to play something as vapid as slots or roulette, some degree of self-deception has to take place. On some level, the player has to feel like he is responsible if he wins. Otherwise, how can they be invested at all? From ancient religious superstition (the Gods are angry at me!) to their more modern counterparts, like “blowing on the dice”, kissing “lucky” items, or other self-deceptions such as the gambler’s fallacy, we find ways to attribute meaning to events that are actually pure noise.
Serious players of highly random strategy games tend to be skeptical that this same trick could be working on them when they play their Summoner Wars and their Hearthstones. But why? If players are able to perform this trick on themselves in a system that has no strategy at all, it seems very easy to believe that such tricks would work on a smaller percentage of the overall system. In fact, baking random elements into a strategy game makes it all the easier to conflate noise and strategy feedback, because some of what happens in the game really is strategic and deterministic!
In these games, there is the actual skill of the game, but then there is also an additional “phantom skill” amount, which makes the game seem vastly deeper than it is. In actuality, most players probably have the system close to solved somewhat quickly, and the randomness is the deciding factor.
I’ve been arguing this position for a few years now, and over time I’ve encountered a number of counter arguments that I’d like to address.
“Output randomness is just input randomness for the next turn.” – Game designer and blogger DanC of the Lost Garden has said this to me numerous times in response to my positions. Basically he’s arguing that there is no actual difference between output randomness and input randomness.
This position has two major flaws. One is that it seems unaware of the possibility of a larger strategic picture that could be providing tons of complexity effectiveness that otherwise you’re losing out on.
The other major flaw is that even if it’s actually input randomness for the next turn, that’s what I call “unfair input randomness”. It’s up so close in your face that you don’t have time to respond to it. You now have a significantly different game state than you did a second ago, and there’s no discernible reason for it. On some games, you might play optimally, but get put into this position and lose anyway. On other games, you don’t get put into that position because the dice rolls go your way. Input randomness, when put up close enough to the player so that he can’t plan around it, is basically output randomness. Feedback is being artificially delayed.
Ironically, I agree with Dan’s sentiment that there’s no significant difference between output randomness and input-randomness-for-the-next-turn, although I think they’re equally bad.
To really drive the point home, imagine a scenario where you have a character who has a “to-hit” dice roll against a tough monster. He swings, and he misses! Well, that’s ok, it’s just input randomness for the next turn, after all! He tries to attack again, and misses again! At this point, you may already have lost, and it wasn’t because of any decision you made.
“Some games need output randomness to work.”
If you were to just rip the dice rolls out of Risk, it definitely wouldn’t work.
This simply means that they are shallow games. It’s understandable, because creating a coherent system that is deep is very, very hard to do. However, this is not a defense of randomness; more an indication of a weak design.
“If there’s randomness, then it’s all about risk management.”
A favorite of poker players. The idea behind this argument is that having random elements adds a “factoring in your odds” element to the game. You have to weigh the odds of outcome A happening against the odds of outcome B against the benefit of outcome A and the benefit of outcome B, and that makes games more interesting. Essentially, it’s combining odds and valuation.
This kind of risk management is not unique to random games. In any game that you haven’t solved, really every move you make is to some degree a risk that you must manage. In chess, there could be two major strategies – strategy A and strategy B. You might figure that A is more likely to work than B, but B has a bigger payoff than A, for instance. Randomness isn’t necessary.
As to the “calculating odds” aspect of this, determining odds is never interesting, especially not when you’re talking about something like counting cards in poker. Calculating odds in a deterministic system might be harder to do, but it would certainly be far more interesting due to all of the variables at play in a good, dynamic strategy game.
“Randomness doesn’t matter – just do the best you can!”
The argument goes something like, “if you care about randomness, you care too much about winning. Just have fun!”
This argument is not actually a defense of randomness in strategy games; rather, it is a defense of randomness in toys. Strategy games have a win/loss condition. If you are telling us to ignore that in FTL, then you are saying that FTL is a toy and that’s why randomness is OK.
“Players with a wider skill range can compete against each other.”
If a grandmaster and a newbie play chess against each other, the result won’t be interesting or fulfilling for either party. That much is true! This argument suggests that the answer to that is to throw in some randomness.
Of course, that’s throwing the baby out with the bathwater. You’ve now severely damaged your game for the sake of presenting people with the illusion of more-similar skill levels. The real answer to this problem is good matchmaking.
“Randomness makes a game more like real life.”
To quickly counter this argument, let’s simply assume that there is a set of values for strategy games which we can separate from the set of values for a simulator.
“Games with randomness still have skill to them!”
True, and I haven’t argued otherwise. The issue is that on a practical level, you will be able to actually explore less of that space in your lifetime, since so many of the games are essentially wasted on false random outcomes.
Other Feedback Distortions
I should also note a few types of output randomness that are not usually regarded as such, but function so similarly that they have many or all of the same pitfalls.
Simultaneous Action – Trying to guess what the opponent will do in RPS, for example, is effectively random. In fact, that’s why we use it to decide who has to go take out the trash – we consider it fair, because it’s random. The whole reason people agree to use RPS as the determining factor for who will take out the trash is because they know that there is nothing that they or their opponent can do to increase their chances. (Sure, there’s some study that says people are slightly more likely to play rock. But did your opponent read that study, or not? You’re now back to square one.)
Execution – Execution in games is a matter of “can”, not “should”. Can you press this sequence of buttons before my jump kick hits you in the face? Execution is still slightly better than randomness probably, due to the fact that you can at least get better at it. However, inside of a single match, it’s basically the exact same thing. The complex chemicals, nerves, muscles and tissues that stand between “what you wanted to do” and “whether your body actually makes the desired input” has tons of room for error. When you choose to make the input for your Dragon Punch, will it actually work? It’s effectively random.
Our collective perspective on randomness in game design really hasn’t budged much in 4,000 years. It’s time that we really gave this question some serious thought.
I’m not arguing that there is no place for any kind of randomness in game design. In fact, I argue strongly in favor of well-balanced, low-variance input randomness in multiplayer games. And single player games require input randomness.
However, output randomness in all its forms is to be avoided. The only time you should use randomness of that kind is if you’re making a gambling machine, or if you’re insecure about the depth of your system.(source:gamasutra)