A Taxonomy of Randomness in Hearthstone

Video Games

Hearthstone: Whispers of the Old Gods

“RNG gets your emotions really high and really low. It makes you really feel. Sometimes when I play a game I’m just going through the motions and I’m not getting those highs and lows, but in Hearthstone I get them all the time. It makes me want to come back and play more.”

Mike Donais, Hearthstone senior designer

Randomness is a perpetual topic of conversation among Hearthstone players. It’s generally accepted that a game with random elements can be highly skillful and competitive. However, each new expansion revives fears that Blizzard may have tipped the balance too strongly towards luck at the expense of high-level play. The evolution of the game has been particularly visible this year, as Blizzard phased out two of Hearthstone’s older expansions to create a new standard set for competitive play.

RNG is often treated as a monolithic quality, but Hearthstone actually employs many distinct types of randomness in its mechanics. Some cards allow players to influence their odds by modifying the board state. Other cards use randomness as a strength, providing situational versatility. Some cards become more reliable with careful deck construction, and others vary based on the opponent.

Fundamentally, randomness is created by picking randomly from a set. For example, a coin flip picks from the set of {heads, tails}. While each card interacts with randomness in a unique way, they can be broadly categorized by the set that they randomly pick from. In other words, the set of possible outcomes defines a type of randomness. We can use these categories to chart the evolution of randomness in Hearthstone through the years.

To begin, I need to limit the scope of my inquiry. Because Hearthstone is played with a shuffled deck, there is an inherent randomness in drawing a card. It could therefore be argued that Blackwing Corruptor (“if you’re holding a Dragon, deal 3 damage”) has an element of luck to it. For the sake of brevity, I will only be considering cards where a player with knowledge of the visible board state could not predict a card’s outcome in every situation.

Bluffing and hidden information are also outside the scope of this discussion. All of the “secret” cards in Hearthstone are triggered off of deterministic conditions, and are therefore not inherently chance-based. However, some secrets do have some randomness in their triggered effect.


Type - Coin Flip

A 50/50 coin flip is the most fundamental random game mechanic. Hearthstone employs it only sparingly, mostly as thematic flavour for clumsy ogres. Interestingly, pre-nerf Nat Pagle triggered at the end of turn, guaranteeing at least once chance for a card draw. This reliability made him a popular inclusion during the public beta, until he was adjusted.


Type - Random Target

Randomly choosing from the set of characters on the board is the most common type of randomness in Hearthstone. These cards should theoretically be more random than a coin flip, since “a random enemy” selects from an upper bound of 8 targets. In practice, these cards reward skillful play because players can modify the board state to favour their desired result; they’re more unreliable than they are truly random.

Deadly Shot destroys a random enemy minion, which in the worst case has a 1 in 7 chance of hitting the desired target. However, if the other minions can be cleared from the board, then the spell will have a single deterministic target. Cards that restrict their target selection by some characteristic (“Murloc” type or “with 2 or less attack”) further reduce the set of targets, providing players with even more control over the outcome.

Players also control the timing of when to play their “random target” card, weighing the current expected value against possible future board states. For example, Arcane Missiles has an 50% chance of killing a lone 2-health enemy minion. A player can choose to play the card immediately and accept these odds, or save it for a better opportunity.


Type - Small Set

Some cards randomly draw from a small fixed set of non-collectible cards, seen most emblematically in the Shaman hero power Totemic Call. These sets come in various sizes: there are 3 animal companions, 4 basic totems, 7 spare parts, etc. The cards in the set are similar in terms of cost and effectiveness, and the preferred outcome usually varies based on the current board state.

Small sets are less random than they appear because they have two components: a known baseline and a random bonus. While Animal Companion has a ⅓ chance of summoning a particular card, it will always provide a beast with at least 2 attack and 2 health. The player can confidently factor this baseline into their decision making; for instance, they know that they’ll always produce a beast-type target for their Houndmaster.

Cards that produce a random result within a given numeric range (e.g. “2-3 damage”) are categorically similar to small set cards. Lightning Storm guarantees at least 2 damage to all enemy minions, making it reliable board clear regardless of the random outcome.


Type - Catalogue

Embracing the possibilities that are only available to a digital card game, some cards select randomly from the entire Hearthstone catalogue. While this mechanic had some presence in the base game, Blizzard fully embraced it with the Goblins vs. Gnomes expansion. The nature of the game fundamentally changed when Piloted Shredder overtook the vanilla Chillwind Yeti as the standard 4-mana minion.

These cards typically restrict the type of random card they can pull based on some combination of cost, category (minion, spell or weapon), class, and creature type. For example, at the time of the GvG expansion’s release there were 531 collectible cards in Hearthstone, but a Piloted Shredder’s “random 2-cost minion” only selected from 65 of them.

This form of randomness provides less control for players, particularly when random cards are summoned directly to the board and not draw into hand. Cards of the same cost tend to provide roughly equivalent stat value, and their small differences follow a normal distribution above and below the power curve. At the extremes of this distribution are notoriously volatile outliers, such as the board-clearing Doomsayer. While these extreme outcomes can swing games, skilled players should have a greater ability to adapt to these unpredictable situations.

Ben Brode, lead designer of Hearthstone, explained the pivot towards this style of randomness: “I think the reason cards like that work for Hearthstone is that they make every game a little bit different, and it gives opportunities to really good players to show off their skills when they’re presented with novel situations that they have to adapt to.”


Type - Discover

The discover mechanic was introduced in the League of Explorers expansion. Like catalogue randomness, this type also draws from the entire library of Hearthstone cards. However, discover cards present the player with 3 random options; the player draws one and discards the other two. This is powerful because the player can choose the card that best fits their situation.

For example, Dark Peddler offers a wide range of 1-cost cards: Corruption removes big enemy minions, Reliquary Seeker complements a full board, and Power Overwhelming can enable a lethal finisher. When the draw restriction is something other than cost (e.g. cards with deathrattle), then the player has the flexibility to choose cheap cards in the early game and expensive ones in the late game.

The discover mechanic is extremely popular among Hearthstone players. Because it interacts with the entire Hearthstone catalogue but does not tend to dramatically swing games, some could argue that it’s an entirely superior version of catalogue randomness. However, I would argue that its predictability fails to create the “highs and lows” and “novel situations” that the Blizzard design team are looking for. Discover is well-designed chance mechanic, but it shouldn’t necessarily push out other types.


Type - Deck Contents

I mentioned at the outset that Hearthstone has some inherent randomness from shuffled decks. However, there is a broad category of cards that further interact with this randomness and are thus worthy of consideration.

The simplest version of this mechanic involves interacting with the top card on the player’s deck. This card varies in predictability based on the number of cards remaining to be drawn; it becomes more predictable in the late game. Other cards draw instead from the set of minions that have died in a game. This becomes less predictable as the game goes on, but provides more value when an expensive minion is revived.

This type of randomness can also interact with the player’s deck by shuffling additional cards into it. This is particularly beneficial for slower control-style decks, as they are more likely to draw through their entire deck through the course of a game. However, it comes at the pernicious cost of making the deck less efficient, because the other cards are less likely to be drawn.

Some cards of this type behave similarly to catalogue randomness, but limit themselves to cards from the player’s deck. Mark Rosewater notes that this mechanic is popular in Magic: The Gathering because “it allows players to have control of what they’ll find through deck construction.” Players may want to target a specific ideal minion with Barnes, creating an interesting constraint when deckbuilding.


Type - Discard

This is arguably a subtype of deck randomness, but it’s used frequently enough to warrant its own section. This type of randomness interacts with the player’s hand, and is only found in Warlock cards. Players have some room to play around this random mechanic, since discarding from an empty hand has no penalty.

It’s interesting that this mechanic doesn’t actually need to be random, but Hearthstone never allows the player to choose which cards are discarded. An interface for this would theoretically be trivial to add. My assumption is that the designer team did not think that this additional mechanical complexity would yield any interesting results.


Type - Opponent's Deck

These cards use the contents and/or ordering of your opponent’s deck as a source of randomness. They interact by shuffling cards into their deck, or by copying cards out of it.

There is a conspicuous absence of cards that force the opponent to lose or discard cards. Lead designer Eric Dodds explained that, during development, the card Thoughtsteal actually took the cards out of the opponent’s deck. This created “a lot of emotional negativity” during playtesting, a good example of the “fun fails to exceed anti-fun” anti-pattern in game design. This mechanic was subsequently entirely removed from Hearthstone.

It’s also worth noting that interacting with the opponent’s deck is used most frequently in the Priest class. Some Rogue cards have a similar mechanic, but they draw from random cards in the opponent’s class (a type of catalogue randomness).


Type - Joust

The jousting mechanic fits thematically with The Grand Tournament, and is only found in that expansion. In theory, because this mechanic randomly pits the player’s deck against their opponent’s, it should give the edge to players who run bigger minions in their deck. In practice, good players usually include both small and large creatures to have an efficient mana curve, and the benefit of winning a joust is not worth the cost of building inefficiently. The joust mechanic is effectively thematic window dressing for worse odds than a coin flip.

With this taxonomy of randomness defined, we can now statistically analyze how these types are used across expansions, hero classes, and mana costs. You can find the raw data for these charts on Google Sheets.

Hearthstone Expansion vs. Randomness Type

We can follow the evolution of Hearthstone by charting how frequently each type of randomness appears in each expansion. For instance, we can see that random targeting has been the most common type, but that its use is rapidly declining.

Catalogue randomness has had a stable presence in the game since Goblins vs. Gnomes, except for League of Explorers which displaced it with the discover mechanic. The use of small set randomness has dropped off significantly, but Whispers of the Old Gods introduced a set of five Toxin cards that may see further use.

We can also see an interesting shift between major expansions (with ~130 cards) and adventure expansions (with ~40 cards). The proportion of random cards has decreased in major expansions, but greatly increased in the adventures. Perhaps the larger expansions have to accommodate more “bread & butter” cards, while the adventures have more leeway for flavour.

Hero Class vs. Randomness Type

This chart shows that Blizzard uses the types of randomness to differentiate their hero classes. Warlocks have discard, Shamans have damage quantity, and Priests interact with the opponent’s deck. Mages have the most catalogue randomness, which fits thematically with conjuring things out of thin air. Druids have significantly fewer random cards than the other classes, perhaps because they tend to have “choose one” mechanics instead.

Mana Cost vs. Randomness Type

Is randomness more appropriate early in a game or late in a game? There’s an interesting tension at work here. Mark Rosewater argues that early game randomness is more fun because it gives both players a chance to respond. It also makes the outcome of the game less likely to hinge on one final random occurrence (e.g. Yogg-Saron).

However, the pro player Reynad believes that this is not the case in Hearthstone. Because the assignment of defenders is decided by the attacker, early control of the board is a significant tempo advantage. Because of that, he argues that “RNG that affects the board early has a big influence on the outcome of the game.”

I hoped to provide some insight on this tension through statistical analysis, but this chart mostly proves the null hypothesis. The different types of randomness are found at every mana cost, and the overall distribution of random card costs is similar to the distribution of non-random cards. The only noteworthy trend is that catalogue randomness peaks at 5 mana, later in the curve than average.

What if we explore the effect of the randomness, rather than the source?

Mana Cost vs. Random Effect

This graph is similar to the previous one, but it charts what happens after the random choice has been resolved. It reveals how certain effects are valued relative to cost.

This chart shows some support for Reynad’s argument. For instance, we can see that the random effects of 1-mana cards tend to either draw cards or modify an existing minion; neither of these effects has a large effect on the board. To his chagrin, however, random effects that deal damage are most common in the 2-3 mana range.

Summoning a random minion has the largest effect on the board, and is thus one of the most expensive random effects. It appears most frequently on 4 mana cards, and the majority of cards in the 7-10 price range provide random summoning as an effect.

RNG in game design is often discussed as a quantitative property; “how much” randomness does this game have? Playing Hearthstone has taught me to appreciate the qualitative properties of randomness. You can give players the tools to load the dice in their favour. You can make uncertainty feel like adaptability. You can turn an unlikely event into an amazing player story. Randomness is not a single tool, it’s an entire toolbox.

→ 6 CommentsTags:  · 

The Mystic Western Game Jam

Programming, Video Games

El Viaje Misterioso

Austin’s independent games collective Juegos Rancheros hosted another game jam this summer, and this year the theme was “mystic western”.

I hadn’t initially planned on participating, since I was already rather busy preparing for some summertime travelling. However, I was struck with a fun game idea that really fit the theme and scope. I wanted to make a game based on a specific scene from a 1997 episode of The Simpsons, where Homer hallucinates a mysterious voyage through a desert landscape under the influence of extremely spicy chili peppers.

For the gameplay, I took inspiration from the indie platformer Knytt Stories by Nifflas. It has a very clean, blocky, simple aesthetic that seemed feasible to imitate, even with my limited art skills. I also wanted to emulate its low-key pacing and its focus on exploration over combat. Having enemies to fight wouldn’t fit the vibe of the source material, where the mystic desert was mysterious but not threatening. Ultimately, I managed to translate almost every beat of the five minute hallucination sequence into some sort of playable experience (with the notable exception of the snake, which sadly was cut for scope.)

Mystic Western Jam - Notebook Sketches

Developing a platformer was also a good excuse to apply some of the lessons I learned from Steve Swink’s “Game Feel”. The book breaks down and analyzes the ways in which designers manipulate game physics in unrealistic ways to make platformers feel good. For instance, it taught me to increase gravity when the player is descending to avoid feeling floaty. I also implemented variable jump height, input buffering, and late jumping based on the lessons from this book.

You can download El Viaje Misterioso for Windows and OSX here:

Download from itch.io

Download (Windows)

Download (Mac OSX)

Source Code (GitHub)

At the end of the game jam, I was very proud to find out that my entry was one of the 25 games selected for the Mysteric Western Arcade at the Marfa Film Festival. I sadly couldn’t make it out for the event, but I hope people got a chance to play it there!

→ No CommentsTags:  ·  · 

Yharnam Metal Hypernym

Internet, Programming

To start off 2016, I thought I’d take a moment to write about some of the new Twitter bots I assembled last year. In my last post on the subject, I indicated that I was reluctant to continue making bots because it was distracting me from larger projects. However, since lately I’ve been focusing hard on a big exciting endeavour, I’ve found that making bots has continued to be a relaxing creative outlet in my downtime.

Yharnam Notes is a small tribute to Bloodborne, one of my favourite games of 2015. The game’s asynchronous multiplayer features include the ability to leave notes for other players using templates of words and phrases. These permutations can often be inadvertently lyrical, as Natalie Zed explored in her Bloodborne poetry. Inspired by this, I made a bot that constructs random messages using the vocabulary of the game’s note system.

Hypernym Bot was inspired by the folk proverb “For Want of a Nail”. I wanted to find a way to generate the same structure of text programmatically. Fortunately, Wordnik maintains a list of hypernyms (words that are more generic or abstract) for each word in their database. This made it simple to start with a random word, then iterate up the chain of abstraction of few times.

This is one of the silliest ideas that I’ve actually followed through on. Somehow my errant thoughts on @EveryWord and heavy metal clichés intersected, and led me to render every word in the English language in a heavy metal font. Tweeting a new word every four hours, @EveryMetalWord will complete its task by 2065.

You can find the complete list of my Twitter bots here. Wishing you all a happy new year, may your 2016 be programmatic and random!

→ No CommentsTags:  ·  · 

Challenges for Game Designers

Books, Video Games

Challenges for Game Designers

For the last few months I’ve enjoyed following along with Liz England’s Game Design Book Club. Though I’ve only been participating intermittently, it’s been really valuable as motivation to read books that are often cited and highly praised in game development circles. It has also pushed me to explore certain topics that I may not have chosen on my own.

September’s book club selection was Challenges for Game Designers by Brenda Romero and Ian Schreiber. It covers some common ground with other “game design 101” books aimed at a classroom environment, but it has two unique twists. Firstly, it has an emphasis on non-digital games. This affords a greater focus on “pure” mechanical considerations: chance, skill, strategy, social dynamics, etc. Secondly, as the title suggests, the reader is encouraged to explore the topic of each chapter by completing assorted design exercises; it’s equal parts textbook and workbook.

I was very impressed by the variety of exercises presented in the book. The ones that particularly interested me (and, admittedly, took the least time to complete) involved taking an existing game and modifying it to emphasize a different type of skill.

For instance, one of the exercises in chapter 5 was to “modify [Tic-Tac-Toe] by adding one or more chance-based mechanics”; the game should also be “good for adult players”. I thought this challenge was quite interesting, so I took some time to develop a small game called Catalina Tiles for it. The game is played on a nested 3×3 grid, and players use four 4-sided dice to determine which tiles they can claim on their turn.

Rules for Catalina Tiles [PDF]

Another exercise in chapter 8 involved choosing a “non-digital game with no elements of chance at all” to modify by adding fog of war: “your opponent’s pieces are hidden from you (and vice versa) except under certain conditions.” After researching existing chess variants (there are so many), I developed two unique hidden-information chess games. Luft Chess is standard chess played with invisible kings, and Reverse Schrödinger’s Chess has each player secretly deploying their opponent’s back row pieces.

Rules for “Fog of War” chess variants [PDF]

I had a lot of fun completing these exercises (also learning how to use LaTeX to make fancy rulebooks). Even as someone who works on games every day, it’s been valuable to stretch my creative muscles and make games under unfamiliar constraints.

The Game Design Book Club is online and open to everyone, so feel free to follow along if it interests you. The November selection is Shooter, “an anthology of critical essays about first-person shooters” that Clint Hocking has spoken highly of.

→ No CommentsTags:  ·  ·  · 

The ‘P’ in NPR



The podcast Radio Diaries recently featured an insightful interview with Bill Siemering, one of the founders of National Public Radio. In it, they discuss the original NPR mission statement written in 1969; the document outlined their vision for non-commercial radio that would bring context, culture and humanity to the news.

Mr. Siemering read a short excerpt from the mission statement on the podcast, and I was moved by how sincere and optimistic it was. I have always enjoyed NPR, and knowing the lofty ideals behind its founding only deepens my appreciation. As a media creator, their statement articulates the kind of values that I aspire to express in my own work. In fact, I was so impressed and inspired that I wanted to share some brief quotes from it here (courtesy of the transcription by Transom.org).

National Public Radio will serve the individual, it will promote personal growth, it will regard the individual differences with respect and joy, rather than derision and hate. It will celebrate the human experience as infinitely varied, rather than vacuous and banal. It will encourage a sense of active, constructive participation, rather than apathetic helplessness.


The total service should be trustworthy, enhance intellectual development, expand knowledge, deepen aural aesthetic enjoyment, increase the pleasure of living in a pluralistic society, and result in a service to listeners which makes them more responsive, informed human beings and intelligent, responsible citizens of their communities and the world.


It would speak with many voices and many dialects. The editorial attitude would be that of inquiry, curiosity, concern for the quality of life, critical problem solving, and life loving. The listener should come to rely upon it as a source of information of consequence, of having listened as having made a difference in his attitude toward his environment and himself.


National Public Radio will not regard its audience as a market, or in terms of its disposable income, but as curious, complex individuals who are looking for some understanding, meaning, and joy in the human experience.

I’ve highlighted a few sections that I thought were particularly eloquent. You can read NPR’s entire original mission statement here.

To relate this to my own work, I wonder how a video game could “celebrate the human experience as infinitely varied”. How can we engage our players as “curious, complex individuals” with “a sense of active, constructive participation”? I don’t have any clear answers, but I’ll aspire to keep such objectives at the heart of my creative work.

→ No CommentsTags:  · 

© 2007-2016 Matthew Gallant, hosted by A Small Orange, powered by Wordpress.