By | December 22, 2014

Soulfire is a card that was recently nerfed from 0 mana cost to 1 mana cost. It used to work really well as a cheap removal or a finisher, and the fact that Warlock can just life tap to replenish its card negated the downside of the card to a large degree. I want to get a feel for how big of a nerf this was, so let’s run some simulations.

Modeling Soulfire

In HearthSim, Soulfire is modeled as a damage spell card with an extra “reluctance” penalty to account for its downside. In other words,
$$V_{\rm Soulfire} = V_{\rm ds} + V_{\rm penalty},$$
where \(V_{\rm ds}\) is the card’s score as a vanilla damage spell and \(V_{\rm penalty}\) is the penalty term. Keep in mind that the higher the score of a card is, the more reluctant the AI becomes when using it; the AI looks to get more value than the value of the card being played. The penalty term can be further broken down into two components: the penalty value for the card that will de discarded, and a constant term to allow us to adjust the AI’s Soulfire usage further. The card discard penalty is just the expected value of the card that will be discarded, or, in other words, the average value of the other cards in the hand. In the end, we have
$$V_{\rm Soulfire} = V_{\rm ds} + \overline{V}_{\rm others} + V_{\rm a},$$
with \(V_{\rm a}\) representing the adjustable constant penalty value.

Simulation Setup

We’ll use the standard super basic deck, replace the two Goldshire Footman with two Soulfire, and play that against the vanilla super basic deck. We use Warlock as our hero and run 10,000 simulations per configuration, resulting in a 95% confidence range of less than 1% each way.

To quantify the effects of the nerf, and to investigate how to tune the AI for best Soulfire usage, we will run simulations with Soulfire mana cost at 0 and 1, while varying the parameter \(V_{\rm a}\).


Below is a plot of Player0’s (Soulfire using player) win rate:

PlotRaw Data
V_a 0 Mana Cost 1 Mana Cost
-2 61.12% 60.15%
-1 64.78% 62.50%
0 64.42% 63.24%
1 64.80% 64.53%
2 62.10% 63.40%
5 51.22% 51.32%

First of all, we can see that Soulfire is a pretty good card overall, increasing the win rate by as much as 14% compared to Goldshire Footman. This fact may not be surprising, but it is nice to be able to quantify the difference.

Tuning \(V_{\rm a}\)

The data above shows that the optimal value of \(V_{\rm a}\) seems to be somewhere between -1 and 1. What this tells us is that Soulfire’s value can be more or less completely modeled by treating each of it’s effects independently: the 4 damage spell and the card discard effect. It turns out to be a relatively simple card to understand.

Effect of the Mana Cost Increase

What is more surprising is that the increase in mana cost (the nerf) doesn’t seem to affect the strength of the card all that much, as long as the card is being used optimally. In the 0 mana cost world, the data tells us that it was ok to use the card aggressively; the win rate with \(V_{\rm a}\) = -1 (aggressive) and \(V_{\rm a}\) = 1 (conservative) AIs performed similarly. In other words, it was such a cheap and efficient spell that you didn’t have to worry about getting the most value out of it. In the 1 mana cost world though, the demerits of using Soulfire sub-optimally are more pronounced, and a conservative and value oriented usage tends to do better. As long as proper value is realized, it appears that the mana cost difference is rather negligible, with 0 mana and 1 mana cost cases coming well within the margin of error with \(V_{\rm a}\) = 1.

Leave a Reply

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