A few years ago, I wrote an article about randomness in games. It was far from my first time taking a stab at the subject, but it is the most recent big, singular effort at describing the relationship between randomness and game design, as I see it. In this article, I’m going to talk a bit about randomness in games—ways to describe it, why it’s important, how to use it, and how not to use it. There are four types of randomness, three that are bad and common, and one that is good and rare.
Types of randomness
The basic points I would make about randomness are these:
- Good strategy games require randomness to avoid being just calculation, or a “look-ahead contest”. So randomness can not only be good, but it’s crucially important!
- Not all randomness is equal, however. Some kinds of randomness (actually, most kinds that are used, in practice) are damaging.
- Randomness has to be used very carefully. But instead, it tends to be used frivolously and without much consideration/knowledge of the costs.
In short, while randomness is basically a requirement for good game design in my mind, I have a real problem with the way that we use randomness in games today. Mostly, we are using randomness as a cheap and easy way to get shallow systems to produce variant outcomes.
Randomness manifests in four ways in strategy games. First, let’s look at the first two, which I’ve talked about a bunch in the past.
As a quick refresher, I have mostly talked about input and output randomness.
- Output Randomness: random information that is brought into the game after a decision is made. The classic example of this is to-hit dice rolls. In X-Com, you choose to shoot the alien, and then a dice roll/RNG determines whether you actually hit or not. To put it another way, with output randomness, the player has absolutely zero time to “do anything about” the new information introduced via output randomness.
- Input Randomness: random information that is brought into the game before a decision is made. The classic example of this would be random map generation. In a Rogue-like, your character moves around through the map with “fog of war” which gives the player an information horizon that is some distance out (a radius) from the player. This means that as something appears on screen, the player has at least a few turns to make inputs before they have to directly interact with that new information.
Input and output randomness are not binary qualities, but rather exist on a spectrum. Although random map generation/fog of war are input randomness, as you scale down the size of a fog of war radius, you get closer and closer to being output randomness. For even more detail on input/output randomness in games, I would definitely recommend reading through that article I wrote a few years back. I would also recommend watching this 3 Minute Game Design episode (and here is a playlist of all of the episodes, if you’re interested).
For the most part, I think many players and game designers are willing to concede that we should be a little bit critical of output randomness, although I think they are more convinced by the fact that it tends to “feel bad” than because of the structural issues I bring up in my work. Output randomness’s ability to suddenly change the course of a match is appealing in that it’s a very easy way to make games feel solution resistant. But it also tends to feel bad because players know on some level (even if they’re not willing to admit it) that there is a lack of meaning to the new random information.
Randomness with meaning
How does any systemic thing in a game get meaning? It’s all just integers, or floats, or positions on a grid, or shapes. Why does any of it matter to us?
These abstract data-bits start to matter to us, and start meaning something, once we’ve had a relationship with them. In interactive entertainment, this means, “once we’ve been able to make a few decisions with this simple abstract data-bit in mind”. So if a number 5 comes on the screen suddenly, it doesn’t really mean anything to us. But once we’ve made a few decisions, maybe moved around the number 5, or maybe subtracted a couple 1’s from it, it starts having a connection to our inputs, and a connection to us.
This “meaning” thing is crucial. We could also call it “systemic meaning”. Information in games gets its meaning from its relationship to other aspects of the game state, including the history of game states; but most of all, it gets its meaning from your input. When my guy misses in X-Com, that fact—that he missed instead of hit, or vice versa—has very low systemic meaning. The odds, like the fact that you have an 81% chance to hit, has a bit more systemic meaning in that it is connected to how you trained your guy, where you positioned your guy, what weapon you gave him, and so on. But the fact that he misses or hits itself – that 0 or 1 boolean flag – has no systemic meaning; no relationship to the player at all yet. It just came into existence, and at that same moment, it is affecting the game state permanently.
We don’t want things which just appeared to instantly be affecting the game state permanently, because such things had no chance to develop a relationship to the player or the rest of the player-influenced game state). This is why input randomness is good, and output randomness is bad. Note that this is more or less just a new phrasing on the same concepts I talked about in my 3 Minute Game Design episode and the articles I’ve written on the subject. In those, I talked about how the sequence of decision-driven events is abruptly cut off by output randomness, and that’s true. But the reason that that’s bad is because you’re severing the links of meaning that tie together each node of game-state into a large, long chain that is the match.
So, input randomness is definitely better than output randomness, and I would go as far as to say that you should never, ever use hard output randomness in your strategy game, for the reasons I’ve talked about in the past. It’s extremely avoidable if you have a sufficiently deep, complex system combined with a good information horizon.
So let’s talk about the other two kinds of randomness.
“Uniform” and “Variable” Randomness
The other axis describes the “fairness” or uniformity of the random information. One of the problems with randomness as it is implemented in most of today’s games is that the total resources delivered to the player is not the same from match to match. This means that match #1 might be much easier, or much harder than match #2, even if you’re playing at the same difficulty level (or rank). I call this kind of randomness “variable” randomness, and there are two problems with it; one practical, and one more theoretical.
“More theoretical” objection: the final match outcome—the win/loss state – is this really crucial piece of feedback that informs all the other game states. Other game states, things which happened during the match, are assessed by the player with regard to the final outcome after a match, and that is the primary way that the player improves their model of the system.
“More practical” objection: in games with variable randomness, if you’re playing at an appropriate skill level for yourself, you’re kind of just re-rolling matches over and over until you get beneficial randomness. Wins are more of a reflection of what the randomness did than what you did.
Actually if you think about it, both objections are kind of the same problem just looked at from two different angles. Through both lenses, the final outcome is distorted and formed (largely) by random noise and not by your input, and so it’s not meaningful to us.
Uniform randomness, by comparison, controls for the “overall value” given out over the course of a match, or even a large arc. A very simple way to explain uniform randomness is this: imagine in some kind of tactics game, you roll a six-sided die to deal 1 to 6 damage. This is variable randomness, but we can convert it to uniform randomness by having a deck of six cards numbered 1 to 6, and you draw from that deck (and reshuffle when necessary) to deal damage. It’s still random, but now you are guaranteed a 6 (and every other number) per every six attacks. And overall, the amount of value you get from match to match is, well, pretty uniform.
Like input/output, uniform/variable exists on a spectrum. Randomness is almost never “purely uniform” or “purely variable”, so it’s a question of making things more uniform or more variable.
Let’s go back to the chart and add these two new types of randomness.
So now we can see that there are four kinds of randomness: variable output, variable input, uniform output, and uniform input. Let’s talk about all four.
Variable Output: This one is just a complete non-starter, and is the worst of the four. And yet, it has been maybe the most common kind of randomness in games overall. Dungeons and Dragons dice-rolling combat mechanism is exactly this. A die can roll a bunch of sixes, or a bunch of ones. After enough rolls, sure, it starts leaning toward the middle, but in strategy games it kind of matters that you don’t roll “really really well” for a dozen turns in a row. That alone is going to deform the rest of the match (as would it if you rolled really really poorly for a dozen turns). And while eventually after a lot of rolls, you start getting a more generally even distribution, depending on how your game works, it might not get very close to the mean, and the player will have just gained more or less resources on one match than they did for another.
Variable Input: I’ve recently been playing a few new card games as part of our Game Design Book Club. One thing that this has really been highlighting for me has been the degree to which card drawing, in almost every game I’ve ever played, is really bad. Card drawing, in general, seems pretty good to players, because it’s an easy, familiar way to do input randomness. You draw a card, and it doesn’t “activate” or anything right away; it could be a number of turns before that card actually starts interfacing with the game state in a permanent way. But the dark side of card drawing is that it’s pretty strongly variable randomness. Match to match in Hearthstone, or Slay the Spire, or almost any card game I can think of, the cards you draw at the time you draw them have radically different value to the player. You can draw your “best card”, or draw your “worst card”. So some matches are just easier than they should be, and some are just harder than they should be. I think people really underestimate the degree to which the meaningful sequence of events in a match is damaged by variable input randomness.
Uniform Output: This is a weird one—I’m not sure I can think of many examples of this. On the mobile version of The Settlers of Catan, there is an option to replace the dice-rolling with card drawing (which converts the variable randomness to uniform randomness), so that might be an okay example (especially when you count the “Robber” feature). Perhaps Reiner Knizia’s En Garde, where players have a small amount of cards numbered 1 through 5, and play them? (Note that in this game, the cards are first drawn, which is input randomness, but then from the perspective of the other player they are output randomness once played.) There are a few other examples, but like I said, this is a rare one. It’s bad because it’s output randomness, but if you do have a game you’re working on that relies on output randomness, I would strongly recommend trying something out to uniform-ize the randomness somewhat. Instead of rolling a d6 for combat, you can use the cards, like mobile Catan does. You could even loosen it up more by having three copies of each number in the deck. I would always recommend reshuffling once you’re down to 1 or two cards, but you can increase this number to adjust the uniformity to your liking.
Uniform Input: Finally, we get to the good one. Here’s my grand proclamation: all randomness in games should be input randomness, and try to be as uniform as possible. Uniform input randomness is good because the player has time to respond to it once it has entered their information horizon (input randomness), and the “total value” of the randomness added up by the end of the match (or even at the end of a medium arc) is the same, or close to the same, every match (uniform randomness). The only time I’ve really seen this kind of thing is in designer boardgames, and actually when I first learned about designer board games, this element of having “uniform input randomness” is really what blew my mind the most. Stuff like how infection and epidemic cards are treated in Pandemic, or having fixed starting decks in Dominion, or the stage-groupings of cards in Agricola, or each player having their own bag of tiles in Reiner Knizia’s Samurai all are examples of designers at least leaning in the direction of more uniform input randomness.
Let’s take another look at that chart, now with color-coding. Red means “never do it”, yellow means “maybe do it but only if you’re stuck with output randomness”, and green means GO!
The unfortunate thing is that the games that actually get made represent almost the exact opposite philosophical view. I think this is mostly unintentional and more of a product of custom and copying how things are done in the games we like. “I grew up loving Magic: The Gathering, so now I’m going to make a game that has intensely variable input randomness” (and also some super-unnecessary variable output randomness too), is more or less how we operate. And to be clear, I think that’s mostly fine. I think if you really love Magic, you can sort of follow in its footsteps, make some small iterative quality of life changes, and you have a thing that’s roughly as good as Magic, or maybe a bit better.
For me, I want something that’s way better than Magic. I want, and I can imagine, something that’s way better than any of the games I’ve ever played.
Scope and Odds
The above ways are the ways that I find it most useful to talk about randomness, but they aren’t the only ways. Most conversations that I witness about randomness talk less about these things and more about scope and odds. Actually, I don’t feel like I need to write much about these things because I think people are already considering these, and thinking in the right way about these, mostly.
“Scope” refers to the range of possible information that could be generated. So when you step forward in Auro, you know that the possible things you might see are one of the dozen monster types, some water, and maybe some power tiles. That’s the range of possible things that the system could generate. In X-Com, when a soldier fires his weapon, that weapon could either miss, or hit. When you draw a card in Hearthstone, that will be one of 30 cards in your deck.
There’s more I could write about scope, but I think it’s beyond the scope of this article, and I don’t think I’d be saying too much that would be original or that needs to be said.
“Odds” refers to the chance that one thing will appear instead of another thing. So in X-Com, there isn’t just a hit and a miss, but an odds of either one happening, and the game makes this explicit. You might have an 81% chance to hit on a certain attack, for example, and it says it right there when you choose to make the attack. Most of the time, though, odds are not made explicit to you in this way in this games, and you either have to figure them out yourself (Poker is largely if not entirely about doing this) or you play never knowing the odds, either just assuming that they are equally distributed or that the odds are just too hard to calculate.
One thing that I would like to make very clear is that I totally reject the notion that “knowing the odds” changes anything about “how random a game is”, or that it would affect anything either way with regards to my complaints about the three bad kinds of randomness. If you have variable output randomness in your game, like dice-roll combat, I really do not care at all that the player “knew that they had an 80% chance to hit”. Defenders of games with these mechanisms will claim that because I knew the odds going into the decision, that it’s somehow “less random” that what came out was a hit, or a miss. It’s equally random whether I know the odds or not, though. I think this idea comes out of Poker-ism; this idea that matches of a game are nothing special in and of themselves, and that the real “goal” of a given game is not to win “this match” but to eke out a slight advantage in win-rate over a dozen or two matches. Much of my work has been about fighting this way of thinking, and embracing “the match” as a structural unit.
So here I’ve outlined four types of randomness. Two of them are total non-starters, one is weird and not-ideal, and one is ideal. Let’s make more games using the ideal one as much as possible.
Here’s a quick example from the game I’m working on, Escape the Omnochronom (formerly Push the Lane). It’s a turn based Rogue-like-meets-DotA sort of thing, where you’re moving around on this randomly generated map that has lanes, fighting monsters, collecting treasure, and pushing lanes. It has a lot of RPG trappings, including randomly generated loot (kind of like that you’d find in Diablo). But unlike Diablo (or Rogue-likes from which it takes the idea), which generates loot in a totally unbounded variable-random way. In ETO, there are random drops, but you’re basically guaranteed the same overall value per drop-type, and only when you do things which are strategically “specifically going for more drop value” (usually part of an econ strategy) do you get any more total-game-drop-value.
To conclude, if a lot of what I’ve said here sounds strange, it helps when you start thinking of “the match” as being the most important unit in strategy game design. Comments like “output randomness is just input randomness for the next turn” fail to see the match as a structure and how when output randomness happens, that structure is interrupted and severed.
If I have not convinced you of any of my more prescriptive points, hopefully it is at least useful to you to think about how you’re treating randomness in your game. Even if you think that all four kinds of randomness are good, or that it “depends on what kind of strategy game you’re making”, perhaps you’ll try experimenting more with other kinds and asking questions you wouldn’t have asked before.
I also hope that you think about meaning in games. Not the art-y “it makes me think about my father” kind of personal meaning (although that’s cool too), but what gives the icons, variables, positions and resources meaning in your games. I think it is player agency which gives things meaning, and this is exactly why we want to yell “that’s bullshit!” when some output randomness thing more or less steam-rolls part of the meaning that we have been building.
Final thought: even if you think variable output randomness is great, we sure have a lot of that stuff right now! Maybe it’d just be nice to have some uniform input randomness games, just for the sake of having something different.
Thanks for reading!
If you enjoyed this article, please consider becoming my Patron on Patreon.