The Great Unknown

I find randomness a fascinating topic. Core to many game designs, a hint of randomization can cause the possibility space to explode in many directions, create a sense of mystery and possibility, and convert simple puzzles with straightforward solutions into complex challenges with many varied strategies and angles of approach. The most interesting thing about randomness, though, is what a slippery idea it actually is: Living in a largely causally deterministic universe, the outcome of any die roll could be perfectly predicted, the order of any deck of cards known with absolute certainty — but, because these outcomes are generated from a sufficiently complex combination of physical factors they are effectively impossible to predict.

Regarded in this light, the truth can be seen: Random is, for almost all purposes, simply a term that means “unknown,” and a random number generator is just a tool to evenhandedly select one out of a set of unknown possibilities. We ascribe all sorts of mystical properties to randomness, we regard it as something impossible to know rather than something merely unknown — and for most purposes this is a completely valid understanding, because there is seldom any significant difference between the two. Thus, for any game design problem involving “randomness”, the question is: What does the player know and when do they know it?

One of the terms I’ve run across is that of “input” and “output” randomness. “Input” randomness is unknown information that is discovered before the player makes a decision involving it — for instance, if they’re drawing a hand of cards and then playing them, the cards they draw are input random. “Output” randomness is unknown information discovered after the player makes a decision involving it — for instance, if one of the cards does 5-9 damage, the specific outcome of doing 8 damage is output random. This is, I feel, somewhat confusing terminology: It frames every random result entirely from the perspective of decisions made around it, which is a helpful angle to understand but I think often an overly specific one to work from.

Let’s set that concept aside for a moment, and instead consider the question: What information can be concealed from the player while still allowing them to make meaningful decisions? This is an extraordinarily important question to the general pursuit of game design. Even if your game contains no “random” elements whatsoever, it likely contains a great deal of information outside of the player’s perception which may as well be random. A lighting system or fog of war that conceals areas of the map? What lurks within the dark is effectively a random encounter. Enemies that behave deterministically but in complex ways, sometimes beyond range of sight? Effectively random. An entirely scripted series of events that has yet to be observed? In terms of the player being able to accurately predict the outcome it is effectively random — assuming the player hasn’t played the game before or otherwise attained the knowledge of what lies around the next bend.

This understanding of randomness has the interesting implication that you don’t actually need to worry that much about how you approach randomness itself, but instead about communicating the possibility-space and making sure that even as things shift the player has enough information to make interesting decisions. Any element which changes per-visitation will need to be communicated to the player as if each time was the first time: If a carefully-designed situation would be unsatisfying or frustrating because the player isn’t given the information to understand why they should take a particular action, your procedural system should avoid generating that situation. What can make randomness unpleasant and frustrating is when either the generated circumstances or the information around those circumstances do not allow the player sufficient control to feel like they can act in the world.

The other interesting implication of viewing randomness as merely a kind of hidden information is that it blurs the line between that which is random and that which is not. A game like Quake has no random number generation per se, but if you’re playing against opponents the hidden information of the opposing players’ positions, equipment, and own thought processes are so concealed and dynamic as to be effectively random — even if, on occasion, we might be able to make an educated guess as to the generated state. In any competitive setting the randomness of the other player’s veiled mind, their own complex decision making process, acts as a subtle source of “randomness”, of unknown possibility, making the resulting strategy far more exciting and varied than if we were simply solving a puzzle of known factors.

With “randomness”, as with all game design, what makes it actually interesting or tedious is the process it sets the player into. When an input is randomized (like a card draw), does it make the player’s decision more interesting because the context of decision-making shifts, or less interesting because it’s impossible to come up with viable long-term plans? When an output is randomized (like a percent chance to hit), does it make the player’s decision more interesting because they have to account and control for a range of outcomes, or less interesting because they feel like they have limited control over the result? There’s no hard and fast answer to what kind of randomness can generate interesting results — even the intimate “randomness” of human opponents can provide confusion and frustration if their decision-making process is confusing or obscured. Each situation will be satisfying (or not) based on the context around it, on how well the possibility-space is conveyed and on how that interacts with the player’s ability to make reasoned and informed decisions — and receive results that, even if they don’t go quite as they had hoped, at least lie within the bounds of what they had anticipated.

If you enjoyed this essay, please consider supporting me on Patreon.

Leave a Reply

Your email address will not be published. Required fields are marked *