Monthly Archives: August 2014

HearthSim — Card Draw

Hearthstone is a turn based card game. The more cards you (the player) has in your hand, the more options you have, and your chance of winning increases dramatically. It stands to reason, then, that any mechanics that draws extra cards from your deck should provide you with a sizable advantage. How big is this advantage?

Let’s use HearthSim to gauge the power of a card draw mechanic.

Card Draw AI Model

In HearthSim, the AI deals with a card draw event using the following procedure:

  1. Compute all moves and their associated board scores assuming that all card draw mechanics are disabled.
  2. For each move (node on the moves tree) that has a card draw, add the expected score of the drawn card to the node’s score.
  3. Start to actually play the best scoring sequence of moves.
  4. At any point when it encounters a card draw event, draw the card and pause.
  5. Starting from the paused board state (after the card draw), go back to step 1 and repeat. Repeat until the sequence of moves end.

The rational for the AI handling of card draw comes down to the fact that the AI is not allowed to cheat. The AI is not allowed to backtrack the sequence of moves based on the outcome of the card draw, so it has to make the decision to play that move based on some expectation of what will happen when the unknown card is drawn. In situations like this, it often pays to assume the worst outcome, which is the outcome that the card that it draws is completely useless. What is a completely useless card? A card that can never be used… a card that was not drawn. So, the AI simulates the remaining moves assuming that no card was drawn.

Simulation Setup

We will once again use the all-minion super-basic deck used in the previous study with a generic no-hero. This time, we will replace the Oasis Snapjaw with a Gnomish Inventor. Both cards are 4 mana cost, and the only difference is 3 toughness points vs a card draw battlecry. Player0 will play either the original deck or the Gnomish Inventor deck. Player1 will always play the original deck.


First, let’s look at the win rates.

Player0 Deck P0 Win P1 Win P0 Win % 95% Conf. Range
Oasis Snapjaw 23130 16870 57.83% 57.34% — 58.31%
Gnomish Inventor 26003 13997 65.01% 64.54% — 65.48%

So, the Gnomish Inventor deck is quite a bit stronger than the basic deck, at least in this setup.

Let’s look at the results in more detail to understand why the Gnomish Inventor deck does so much better. Below, we plot the average number of cards that each player has at the end of a given turn:

So, clearly, the Gnomish Inventor is helping to increase the number of cards that Player0 has in its hand past turn 4 (the earliest it can play a Gnomish Inventor is turn 3, but typically the AI will have used up [The Coin] by that turn, so it usually plays the Gnomish Inventor on turn 4). The consequence of the increased number of options provided by the bigger hand is quite striking; below, we plot the average number of minions on the player’s board at the end of a given turn:

The initial dip in the number of minions for Player0 past turn 4 is a consequence of the fact that a Gnomish Inventor is much easier to kill than a Oasis Snapjaw. It’s a 4 toughness vs 7 toughness thing. However, Player0 quickly catches up because it has an extra card that it can use. By turn 10, Player0 is almost half a minion ahead of Player1, and in the game of value trading, the slight minion advantage quickly magnifies into a serious advantage.


We see that in a minion heavy deck, card draw is a significant advantage. This partially (or wholly) explains the success of a Warlock zoo deck; Warlocks have an almost unlimited source of extra card draw in the form of its hero power. It’s an open question as to how this conclusion changes when we introduce spell cards into the deck, but my guess would be that card draws help just as much. I’ll leave that as a future study.