"SimulationCraft for Hearthstone"; a great tool; a necessity

A tool like that would run billions of permutations of all the cards in the game to produce the best undiscovered decks; it would also cover all the bases by considering various combinations of popularities of opponents or/and use existing popular decks as input or/and use scripting of deck-piloting to reduce the computational needs etc; the result would be that the players themselves would have a (community developed) tool that will tell them through robust simulation what is best and what is not and what needs nerfing etc.

The main problem is that someone has to develop it; WoW’s actual SimulationCraft is a relatively large project because it needs at least 1 part time coder for each class in the game and at least 4-5 other part time programmers contributing their valuable work (they also have to be exceptional programmers (it’s not a job for your average high school student)); NETDECKING WOULD BE PROBABLY REDUCED WITH IT (because I know it’s the first thing one might find a negative here) because currently it’s even worse: everyone copy-pastes each others’ decks and we have a situation with only 2 decks dominating (and ironically: most people worsen their win rates that way but that’s another thing).

The problem is the cards would have to be played optimally by a bot, which is incredibly difficult to do. I mean just look at how hard it was to develop Zephrys to optimally give a card based on the situation

1 Like

You underestimate the size of the problem to a ridiculous extent. A single Hearthstone deck can be drawn at least 8.09×10²⁷ (15 duplicates) and at most 8.16×10⁴⁷ different ways (40 singletons). Consider two decks against each other and you gotta square the numbers, so

1 Like

they should get one of those chess robots and teach it hearthstone

I dropped my phone mid post so I accidentally submitted it unfinished

But y’know what? I think I said enough

Chess robots only work super well because the number of good moves is pretty limited, allowing them to essentially brute force calculate the optimal move at any board state.

To make a bot play hearthstone well, it would likely need to be an AI learning model like alphaGo with multiple layers processing.

Considering that team made an AI that could get to world class levels of play in both Go and StarCraft, that approach would probably work with hearthstone as well.

The main issue is that those programs learn by playing the game, and so you’d need Blizz’s permission to let your bots play each other enough without getting banned.

2 Likes

Well what are we simulating here? Are we simulating a single game of Ranked Hearthstone from whatever point we are in the current game, or are we simulating an entire meta with various deck archetypes and popularity?

Because I don’t believe it would be farfetched at all to make an AI that could pilot a deck better than most, if not all, humans. But predicting an entire meta wouldn’t be feasible.

The latter.

You’d basically need to have an AI train on both playing and deck building, and have multiple running to optimize each class.

And even then, what it comes up with will likely not be what humans build naturally.

More like I could guarantee that it wouldn’t be.

As I’ve said before, paper rock scissors is not a perfectly balanced game in practice, because metagames are not fully rational things, only partially rational. In the case of PRS people overplay scissors (~35%) and underplay paper (~30%), I think just because of the relative coolness of the names and gestures. But in any case this makes rock tier 1 and scissors tier 3, even for a game that’s supposed to have perfect balance. Maybe the meta has changed since I’ve pulled this data, but the point is that you’re not going to see the populations equal with a third each.

In order to get the tier list right, you need to get the population right, and this is something inherently unpredictable without previous data. There have been LOTS of Hearthstone metas where the deck with the highest winrate has been irrationally underplayed to a tremendous extent. For example, Enrage Warrior was the #1 deck for multiple months but had single digit percentage popularity almost the entire time. An AI assuming a perfectly rational meta would predict that the deck would be among the most popular, and as a result give a tremendously inaccurate picture of what the deck tier list would be in that situation.

I mean, I don’t know if I could say for certain that such an AI is impossible, but we’re talking about a computer system that can predict irrational human behavior with what would seem to be the ability to see into the future. We’re talking Minority Report levels of science fiction here. And given the potential applications in other areas like crime prevention or the stock market, it would seem to me incredibly petty to use such power on a digital card game.

You do it then. You claim to have knowledge and experience, so why ask for others to do it for you?

You wouldnt even get 1 deck programmed before realising that your request, for a CCG, is simply not gonna happen. There are literally BILLIONS upon BILLIONS more variables in a HS deck than there is in a WoW class/spec build.

You think its easy? Prove it and create the app yourself!

3 Likes

I will spam this everywhere :point_down::blush:

Google says,

"What is the difference between wild and standard format in Hearthstone?

No limits, no restrictions. Wild allows players to mix every card imaginable into hyper-refined decks that Standard Format simply can’t. Mixing of mechanics, ideas, and design philosophies - it doesn’t matter, it’s all legal in Wild. Wild is also great for players who want to get the most value out of their cards."

So,

In Standard will be always around 2 decks, if you believe in what you say you should play wild.

Yes and no. With scripting that attempts to do good-piloting: the computational needs will be reduced or make good estimates after the reduction. Also notice that I said this needs exceptional programmers so I do accept it’s not an easy job but I think it’s doable because in reality it’s really not that much harder than WoW’s SimulationCraft (and the hardware needs would be probably much lower) [also on scripting specifically and the skill needed: it will be probably less than imagined because: some cards would fall into patterns (e.g. a “Discover” pattern would simply scripting instead of attempting to do “Rogue playing this Discover card” etc.].

You’re not reading the whole OP text[again]. I said scripting (that attempts to do good piloting) would massively reduce the computational needs [also the decks could be partially reduced manually (e.g. one could include only the currently-played decks as opponents and in specified popularities)]. Also it could be based on partial sampling and not a complete simulation and generally estimation can achieve reasonable assumptions (and given basic statistical knowledge: coders would also print an “error margin” relatively easily for you to decide if the estimation is good enough).

Your trolling and continued bullying is irrelevant and a waste of time. It’s like advocating “President: RESIGN: you need the help of others to run a country!” (i.e. your “argument” is laughable and whoever Liked your comment is also a bully and a waste of time).

Also in case you had the intelligence to mention computational needs (and didn’t just copy-paste it from others (which is the most likely action I’d expect from a bully)): I’ve already answered to others above that the needs can reduced with various methods.

Hey, you think its an easy task, then do it yourself. Dont expect others to. Especially when anyone with mediocre knowledge knows just how many variables a single 30 card deck has with draw order alone. Lets not even go into effects that randomly generate cards, which would also need to be programmed into the simulator.

2 Likes

Both you and Scr0tieMcB and not even listening; I have answered multiple times on those concerns STARTING FROM THE OP TEXT ITSELF; it appears your true purpose here is to lie which is stupid since everyone can read that I already answered those concerns.

To summarize it partly for those who are reading (not you (you will not read again (trust me: I know))):

1 ) There can be a massive reduction of computational needs with scripting that attempts to do deck-piloting (in several styles(tested separately(potentially))); even if it’s not complete it can give a crude approximation; the better the developers of the piloting-scripting the better the results.

2 ) There can be further massive reduction of computational needs by using pre-existing decks and factoring-in their popularities; this will be especially useful for using them as Opponents but also vice versa; even if it’s an approximation: it would be better than nothing.

3 ) Machine Learning can probably be utilized; this might be much easier than it sounds in practice; that’s because everyone and their mom nowadays develops complex general-purpose libraries for the purpose that are open source and already very mature.

A general theme here is: it will not be perfect but so what: if it has a margin of error that is acceptable it would be better than the current situation of “lol let’s all copy the same deck someone invented in 2 seconds after a patch lol”.

Standard, Few cards = Few decks.
There is nothing you can do about it :face_with_diagonal_mouth:

What are you talking about. There are billions of potential decks. The top 10 players routinely optimize the so called Tier 3 decks; they may just replace 3-4 cards and make them clearly better; so “it’s impossible to refine the meta decks” is absolute nonsense.

In Wild yes, not in Standard :innocent:

You’re trolling us. Yeah if Standard has 10 billion: Wild has like 30 bil. Also Wild is by definition broken; they make money by selling old packs to people who are obsessed with completing their collection (so the company is obligated to have those cards always available if they want to make money from those people); they can barely balance Standard so Wild is an imbalanced mess with the main purpose of its existence: to generate profit by selling very old packs to completionists.

10B
30B
so a factor three of complexity in calculations from going standard—>wild
Oh really ?

No. That was small talk for passing a point along (we don’t even know if the “10bil” is right). The actual number would indeed jump for Wild because it would have at least an exponential relation to the number of cards (and not linear).