So there’s been an ongoing discussion about the use of randomness in games. These are mostly centered around the value of randomness, about how “good” or “bad” it is, and what constitutes these good or bad results. I think this is good and in the end helps us create better games, however, these are also ultimately subjective discussions surrounding the topic making value judgments. In this post, I’ll be looking at randomness from another angle, I’ll be trying to dissect randomness from an objective view using rigorous and robust terms as well. To do this, I’ll be looking at the distinct variables of every random element in games.

Delta of Randomness

The first, and possibly most important aspect of random outcomes in games is this, which can be defined as **the difference between the best and worst game states possible** from a random outcome. For those familiar with physics and math, delta denotes a state function which is independent of varying states other than the first and last positions. In our case, we’re looking at the maximum and minimum values of a random occurrence which is independent from the other possible outcomes. A high delta of randomness, means that there’s a higher **potential** for the game to be decided and affected by chance. An example of high delta of randomness would be a coin toss determining whether a player wins or loses (as in the children’s card game “War”). A low delta of randomness meanwhile allows for an expected value to emerge more clearly (more on that later).

Randomness Information Delay

Categorized as “Input Randomness vs Output Randomness” by designer Keith Burgun, this variable of randomness tells you how much time a player has to react and play with the outcome of an occurrence. Output randomness as the name suggests comes along with little or no time for a player to influence. Think of dice rolls to determine hits or miss, critical strikes and random targets of a spell in a digital card game. These are all examples of output randomness, randomness that is determined at the end of a game function. Most of the time when players and aficionados talk about randomness, they’re talking about this. Input randomness, on the other hand again as the name suggests, comes as input for the player to utilize and influence. Randomly generated maps in roguelites or strategy games are examples of this type, with the player having a lot of time to process the result and inform their other decisions.

As you would expect, this is not a binary and is a scale and is why I changed the name of the binary into a singular term of “Information Delay” which is more measurable (Keith Burgun himself also considered this to be a spectrum). Input randomness just denotes a high information delay compared to output randomness which has a very low (almost zero) information delay.

Randomness Complexity

There were a number of different names I was thinking about but I ended up with this. This is borrowing from the game theory usage of the term “complexity” which is conforming to the number of possible states in the game. Randomness complexity also means the number of possible outcomes a random occurrence can have. The card draw mechanic in card games for example has a complexity equal to the number of cards remaining in the deck. Pretty straightforward. What’s important is that a low complexity means that players can possibly think through all possible outcomes while a high complexity means that players might not even be able to know what possibilities there are.

Expected Value

Another very important aspect, this criteria is about how one can evaluate the statistical value of a random occurrence. It’s the value a player reaches when considers an outcome’s average, variance, median and mode. In a sense this is a compound value made up of the above variables I named. A lot of critics, designers and gamers point to this when talking about randomness, that randomness can be looked through this lens, consider randomness as calculating probabilities and while this criteria exists, it is merely one component of it, a definitely important part for sure. What has to be taken into consideration though is whether or not these statistical variables even **can **be evaluated and give an expected value. For example think about games with a character selection phase (like fighting games or MOBAs) with the “pick random” choice, in this case you really don’t have any expected value of the outcome. It should be pretty evident that this is highly related with the previous criteria as a higher number of possible outcomes can both make statistics like averages more meaningful, but also a high number of outcomes can mean it’s harder to determine what you’re going to get which is especially more game-changing if the outcomes aren’t necessarily valuable numerically. For example in a randomly-generated roguelite, if there are a lot of possible different rooms, then the player probably won’t have a proper idea of what they’re getting themselves into when they enter a new room. But for the numerical valued example, let’s say in Magic-style card game a card effect summons a random monster with a 3-mana cost, assuming the previously mentioned averages and statistics line up (the median, mode and average are all close) then you can expect to get a monster with a certain value (like 3HP/3ATK).

Influenceability

Inspired by “Hardenability” in materials engineering, this field of randomness determines the type of randomness by how much it can be influenced. High influenceability means that it’s possible for the player to influence and change the outcome of the random process by a lot. From a logical standpoint, not necessarily a substantive one, influenceability can be broken down into three states and two types: Intrinsic influenceability, extrinsic influenceability, and no influenceability. Having no influenceability is pretty self-explanatory, it’s when the player has no choice and no decision to make to change the outcome of a random effect. Most physical dice rolls are like this, and a lot of random effects in games employ this. Your dice rolls in Backgammon are this and so are the hands dealt in Poker. Intrinsic and extrinsic now refer to the function that rolls out a random outcome, so having intrinsic influenceability means that in the game’s code/rules, other factors than the random number generator are taken in as input, like the game state, or previous outcomes of the random process. So-called pseudo-RNG have intrinsic influenceability because they take into account the history of outcomes. While the intended purpose of this is usually to help smooth out occurrence rates to more resemble what the expected value is and stopping the player from going onto highly lucky or unlucky streaks, players can exploit this to their advantage. If it’s explicitly told to the player how this influenceability works, then players can utilize this even further and another dynamic of increasing your odds will be added to play. Extrinsic influenceability meanwhile is when a random effect isn’t coded to take into account anything other than the RNG’s result, but due to the nature of the effect, it’s possible for the player to manipulate the result, by changing the timing/target/game state or other factors. For example if in a strategy game there was an ability that had an effect that would destroy a single random enemy, it would be possible for the player to lower the number of enemies before using this ability to influence the outcome by making it apply to a smaller set of targets. The opponent on the other hand could reduce the risk of a bad outcome by putting into play cheaper and expendable targets. As one might think, a lot of random effects in games have extrinsic influenceability but a lot of times it may not be immediately apparent to the player. Another important aspect to realize is that it’s also possible for a random effect to be both intrinsically and extrinsically influenceable. This may or may not give players a higher degree of control depending on whether the intrinsic factors are related to the extrinsic ones.

A Short Case Study

Before we go on, I’d like to apply these fields and criteria of a random effect to a game specific element. For this purpose I’ve chosen Hearthstone which is full of random effects with different variety of styles. I’ll try to keep this as simple to follow as possible for those who are unfamiliar with the game. I’ve chosen two cards, Ragnaros the Firelord, and Burgle. Ragnaros hits a random enemy target at the end of your turn, while Burgle adds 2 random cards to your hand.

First off, Ragnaros: Since the amount of damage being dealt is fixed, it may not feel like it has a high delta of randomness, but depending on the board state, it can be difference between destroying a powerful legendary monster with 8 health or simply taking away the divine shield on a lowly minion. So its delta of randomness is board-dependent and can usually be high. Next its information delay is zero, it is an example of output randomness at its finest, the die rolls and hits someone. Its randomness complexity, is also board-dependent, and its number is equal to however many minions its opponent has plus one for the hero. Its expected value is fuzzy. Due to the board having a limited number of minions at each time, plus how different each minion can be in terms of value to its owner, there is no particular expected value besides maybe “reduce the number of enemies by 1”, which isn’t saying much most of the time. As for influenceability, unless the programmers have sneakily added something in, there is no intrinsic influenceability, but there is extrinsic influenceability because it’s possible to destroy enemy minions before the effect triggers, letting the player clear targets so Ragnaros’ chances of hitting a higher value target increases.

Next is Burgle: The delta of randomness itself is pretty large as you can get wildly differently valuable cards from it. You could get very useless cards or very strong cards right for your situation. It also seems to have neither intrinsic nor extrinsic influenceability as it’s only dependent on your opponent’s class which is fixed at the start of the game. It has a very high complexity as the number of possible combination of 2 cards from an entire class is very high which also results in a very fuzzy expected value where it’s hard to determine what the playing player gets out of this. It does have the expected value of offering you more cards than you would have without this card in your deck though. And finally its information delay is relatively high (at least for hearthstone), as it acts a bit closer to input randomness than output randomness like Ragnaros did, as the player now has to play with the new cards granted by this later in the game.

Both cards are fine additions to the game and neither of them are broken. However they’ve reached their relative balance in the game from different points.

Conclusion

We can see how randomness has many sides for it to be tackled by. It’s definitely possible for a random effect to be balanced even if apparently it isn’t conforming to a single design ideal. It’s possible to have high delta of randomness, but have that be balanced out by a meaningful expected value. It’s possible for output randomness be balanced out by low delta of randomness or high influenceability. High complexity can be offset with a solid expected value, and so on. There are many ways out there to use randomness and make it work, it’s important though to think through its many different aspects and see how they fit together as looking at randomness from a single perspective may not yield helpful results on their own, and instead this holistic approach can be more meaningful even if it was a bit boring.