Tag Archives: ios

Deck Simulator for Hearthstone Version 1.4 Released! (added all Rogue cards)

Version 1.4 of Deck Simulator for Hearthstone has been released on the Apple app store as a free iPad app.

The main highlight of this version is the addition of all Rogue cards (minions, weapons, and spells), and also the remainder of the Pirate-themed cards, bringing the total number of cards in the database over 400. I’ve added four new decks, three Rogue and one Warrior pirate deck.

Pirate cards (full list here) are one thing I was always curious about in Hearthstone. I didn’t want to spend my precious dust crafting these cards but I wondered how strong of a deck could be made which contained all of them. Though not entirely conclusive, using the simulator I got a strong indication that pirate decks really aren’t that strong (which was in line with my feelings on the matter). However if you know of a Pirate-themed deck that you think is especially good, let me know and I’ll test it out in the simulator and let you know how it performs.

One reason I had been hesitating about adding Rogue cards is because several of them contain a completely unique strategic element, “combo”, which is not used by any other class. Modifying the engine to handle the rules related to combo wasn’t too hard, but I had to do some tweaking of the AI engines to make them play Rogue decks with reasonably strong strategy.

In this release I also added the ability to copy the simulation log. This allows you to save the results of lengthy simulations you ran for later reference, or to save particularly interesting game logs for later. The logs are simple text so you can paste their contents into emails, blog posts, or anywhere else that accepts text. I hope to be showcasing how the AI works in future posts with the help of such logs.




Detailed card statistics in the deck simulator

In addition to the 50-some cards I added to version 1.3 of Deck Simulator for Hearthstone, I also included a new feature where detailed statistics are tracked for each card and displayed in the “Game log” window at the end of the simulation, organized by deck.

I’ll give a few examples to explain what these statistics mean and how to interpret them:

  •  (Fireball): draw = 72%, play = 54%, att =  0%, died =  0%, dam = 3.268232

I think most of you already know “Fireball”, but just in case it’s a neutral spell that deals 6 damage to any minion or player for a cost of 4.

“draw” here represents the percentage of games in which a Fireball card was drawn. This includes even if the card is redrawn initially, or if the card is drawn and not used. Generally speaking, this number is a function of the number of the card in the deck (either 1 or 2) and how long the average game lasts. It doesn’t mean too much on its own, but is useful when combined with the other stats.

“play” here represents the percentage of games in which Fireball is played (cast). It must be less than or equal to the “draw” figure, since you can’t typically play a card without drawing it (except for a few special cases). If this figure is much lower than “draw”, then that usually means there wasn’t frequently enough mana to play the card or a good opportunity to play it.

“att”, “died” represent the number of times this card attacked or died in a game. It only applies for minions and is therefore 0% for spells like Fireball. “att” can be higher than “play” since a minion can attack several times a game if it stays alive or has windfury.

“dam” represents the total amount of damage this card dealt on average in all simulated games in the current run. For cards like spells you can sometimes figure this out from the other statistics (i.e. for this card we see that 6 x 0.54 = ~3.2), but for minions this number is a bit tricker since it includes damage both from battlecries, deathrattles, as well as attacking.

  • (Ragnaros the Firelord): draw = 71%, play = 52%, att =  0%, died = 21%, dam = 7.480020

Ragnaros, one of my most favorite cards, is a unique case since it is a minion but can’t attack, and so “att” statistic is 0%. However, since it does deal 8 damage at the end of your turn, the “dam” statistic is non-zero (around 7.5).

If you think about these statistics can you can draw some conclusions. For example, Ragnaros deals 8 at the end of each turn, yet it dealt around 7.5 on average. Putting this together with the fact that it was only played around half of games (52%), this implies that it dealt damage roughly twice per game, and was alive about two turns.

However, since it only died less than half of the time it was played (21% vs 52%), why didn’t it typically live more than two turns? Easy – this means that the game tended to end around two or three turns after Ragnaros was played, and I’m betting it was often in favor of the player who managed to play this great card.

  • (Elven Archer): draw = 64%, play = 63%, att = 38%, died = 58%, dam = 1.183317

In the case of Ragnaros, the card was played roughly 73% of the time (= 52%/71%) it was drawn, which is actually pretty high considering it costs 8. But if you look at Elven Archer (1 1/1 for cost of 1 with 1 damage during battlecry), it was played roughly 98% (= 63%/64%) of the time. This makes sense because it’s cost is so low.

With only a one in toughness, it died most of the time (58% / 64% = 90%) and only managed to deal 1.18 damage per game. This translates to 1.18 / 63% = 1.873 damage when it was played, and 1.0 of that is from the battlecry. However you shouldn’t jump to conclusions that this card was useless since it did so little damage-wise, because that would discount the preventative effect it might be having to kill enemy attackers or other minions that are part of dangerous combos.

You may be wondering why the draw rate is not higher than Ragnaros, the reason is because I have only one of this card in the deck (same as Ragnaros).


These stats take some time to understand but I’m hoping many people will find them useful or at least interesting. For starters you can use the damage stat to see which cards are pulling their own weight and which are slacking, and tweak your deck to improve your overall win rate. And if you get creative, the sky is the limit!

Deck Simulator for Hearthstone 1.3 released (more cards)!

I’m very pleased to announce that version 1.3 of Deck Simulator for Hearthstone iPad app has been released on the Apple App store.

Since I’ve released this app I’ve gotten feedback from several people that there needs to be more cards added to fill out the entire set of Hearthstone cards. Adding cards is a time consuming process but I decided to focus on this for this release. I’ve added all Shaman-class cards as well as all Naxxramas cards, around ~50 new cards for a total of 366 in the database.  Though there are still some cards missing, this brings the percentage of total cards much higher and should make it a much more productive tool.

The Naxxramas cards are especially important since they can involve a lot of work to get hold in the actual game. With this app,  you can play around with the cards you haven’t had a chance to acquire yet.

Besides the new cards I’ve also fixed a bug which made the Planner AI weak in certain cases, and also added card level statistics which appear at the end of each simulation and give important information such as average amount of damage dealt by each card. I’ll write up on a post on this feature soon.

Here is the app’s page on iTunes:


You can also search for it in the app store with the keywords “Hearthstone Deck Simulator”  (without quotes).

Deck Simulator for Hearthstone V1.2 Released on Apple App Store!

I’m very happy to announce Deck Simulator for Hearthstone‘s 3rd version (1.2) is now available on the Apple App store!

For this release I decided to take a break from adding new cards and focus on adding a few features that will make the tool easier to use and more productive.

For example, I’ve added a very cool feature that allows you to evaluate to what extent each card in a deck is contributing to it’s overall strength, and also added a rating system for decks to easily compare them (HELO = Hearthstone ELO).

For full details of the release please see the app’s page here:


The app is currently completely free, with no ads, though will only be this way for a limited time.

I’ll be writing some more posts in the feature highlighting some of these new features and discussing how to use them.

Deck Simulator for Hearthstone V1.1 released!

I’m very happy to announce V1.1 of Deck Simulator for Hearthstone has been approved by Apple and is currently available on iTunes as an iPad app.

The main purpose of this release was to address a few crashes that I discovered, and also reduce memory used by the simulator. This allows longer simulations to be run without them being stopped due to lack of memory.

One of the crashes occurred when attempting to play a simulation with a deck containing 29 or less cards. I fixed this so it doesn’t crash, but instead gives a warning so you know you are testing a non-legal deck. I decided to allow this because making decks with less than 30 cards can be fun, and even useful when doing deck construction. I’m sure some of you wondered what would happen if you could create a small deck with only a few cards, and now you can actually see how strong such decks would be.

Another bug I fixed was where the default simulation type was “All play all”, even though the button showed “All play first” selected.

I decided to add an extra bonus which is all the cards for the Warlock class (previously they were not in the database), as well as three sample Warlock decks to play around with.

I’m already working on the next release and hope to have that out in a few weeks, but in the meantime try out the latest version and enjoy!

Hearthstone Simulator: “Edit Decks” screen and features

The “Edit Decks” screen of Deck Simulator for Hearthstone, accessible via the button of the same name on the main menu, is where you go to view decks in the database, edit or create new ones, and get some information about decks including crafting cost.

There is a lot of buttons and controls jammed into this screen, and in this post I’ll go over each one in turn to talk about what it does.

Tables: there are three tables on the Edit Decks screen:

Decks (top left): This table shows a list of all the decks in the app’s database of cards, which is stored locally and doesn’t require a network connection to access. The total number of decks currently in the database is listed in parenthesis like this “Decks (17)”

Cards in selected Deck (bottom left): Once you click on a deck in the Decks table, you will see a list of all the cards in that deck here. You can scroll up or down through them. If you want to remove a card from this deck, click on the blue arrow pointing to the right.

Cards in database (bottom right): This shows a list of all the cards in the database after the filter is applied, in the specified sort order. If you want to add one of the cards to the currently selected deck, click on the blue arrow pointing to the left after selecting the card in this table.

Filter/Sort: These two selection controls are below the Cards in database table.

Filter: This determines what subset of cards is shown in the Cards in database table. The options are: All, Minions, Spells, or Weapons.

Sort: This determines what order both the Cards in selected deck and Cards in database are shown in. Options are: Alphabetical (A-Z), Cost, and Type (Minions, spells, weapons).

Card description: The description for the card which was selected last in the Cards in database or Cards in selected deck tables is shown here. Information includes: Type, Cost, Text, Rarity, and Attack and Defense stats (for a weapon, attack and durability will be shown instead).

Search field (top right): You can search through all the cards in the database by typing in a partial or complete name of the card here.

Deck management buttons (top right): These green buttons allow you create a new deck, copy, or delete the selected deck.

Classes (top right, next to management buttons): This vertical slider shows all the supported classes, and the class of the current deck will be highlighted. Also when you create a new deck it will have the class indicated by this slider at creation time. You cannot change the class of a deck once it is created.

Deck stats (left middle, below classes): This area shows the total crafting cost of the selected deck (assuming regular, not gold cards), as well as a “Cards per cost” table that shows how many of each card there is per cost. The first line of numbers (0 1 2 3 4…) have a blue font and represent the costs, and the second line (with turquoise background and black font) show the number of cards in the currently selected deck with that cost.

Rename deck (left middle, below Decks table): This field allows you to change the name of the currently selected deck.

Save to PB/Load from PB (top left): buttons used to save or load a deck to the pasteboard. I’ll discuss these in more detail in an upcoming post.

Save (bottom right): This button saves any changes made to existing decks or any new decks created. Normally leaving this screen via the “Back” button (top left) will automatically save changes, but to be safe you might want to click this button anyway.


(“Deck Simulator for Hearthstone” is currently available on the Apple iTunes store for iPad)






Basic feature set of Deck Simulator for Hearthstone

This post will be for those of you who were wondering what our app, Deck Simulator for Hearthstone, really does. What does it mean to “simulate” a deck anyway?

The simulator takes a list of participants, each which is defined by the deck it uses and the AI (artificial intelligence) style chosen. The contents of the deck must be 30 cards, and the usual rules apply – all cards must be either neutral of that of the chosen class (Mage, Warrior, etc.), and any card can be included twice except for legendary cards which can be present only once. There are several different types of AI players available, and each one effects what cards are played, what targets are chosen, and what attacks are done.

Before you start the simulation you have an opportunity to change a few settings, including the simulation type and number of rounds per matchup.

Once you kick off the simulation, you are changed to a different screen that shows what the current match number is, the the matches which will be played, and which two participants are currently going at it.

A match consists of all steps of a normal Hearthstone game. After choosing redraw cards, one player takes their turn followed by the other, and so on until one player looses by their life total reaching 0.  For most of the tournament modes the play-by-play details are not shown, however if you choose to run a single match (the rightmost tournament type) then you will see a detailed log of every turn and what happened, including what cards were drawn, which were played, and who attacked what.

The bottom half of the screen shows a list of all the participants (AI chosen and deck), sorted by their win ratio with the best ones on the top. Once all matches are complete, this table will show the final results of how many matches each participant played, and what percent of games they won.

The tournament results are designed to act as a rough guide as to which decks are better than others.

I hope this post gave you some idea about what the Deck Simulator for Hearthstone iPad app does (available now on iTunes, free for a limited time). I’ll be going into detail about many of these topics in future posts, so stay tuned!