Thursday, 28 April 2016

Year of the Whale

Note: Below I use $69.99 for 50 packs to determine the price of things. It turns out it's $69.99 for 60 packs. Multiplying by 5/6 is left as an exercise to the reader.

Right now I'm playing quite a few free-to-play player vs players games. All of them are examples of games where you have you choice of slowly grinding up the things you want or of opening up the wallet as a shortcut. Hearthstone lets you simply spend money to buy all the cards. Gems of War lets you spend money to get gems and gold to upgrade all your kingdoms, get all the troops, ascend all the troops. Magic Duels lets you spend money to get all the cards. Heroes of the Storm lets you buy all the heroes.

In a game like Candy Crush, the business model is that they expect the vast majority to pay nothing, a few people to pay them a couple dollars here and there, and a very small number of people to spend money like water, buying extra turns whenever they don't win a level, buying boosters all the time, buying extra lives. You can find online stories of people spending hundreds of dollars a week or several hundred dollars in one day. So the business model is to hunt whales. Find people who use the game as a crutch to deal with intolerable emotions and bleed them dry.

These free-to-play PvP games like Hearthstone are a little different. You can't keep spending $100 a week on Heartstone forever, eventually you'll just have all the cards. All the other games I mentioned above work similarly. There's an amount of money to spend and then you are done until new content comes out. How much money could they made off a real whale?

First there was the journey of coming up the with probability of opening any given card. The hearthstone wiki has a page of stats on opening packs with some observed numbers that obviously aren't right but are pretty close given that they represent almost 28,000 packs. I wanted to see if I could come up with some numbers that made sense - numbers a human being would actually create rather than arbitrary-looking percentages with 2 significant figures.

It tried rounding the values given to the nearly percent and half percent, but that was giving me p-values like ten to the negative sixteen for the actual results occurring. When I code, I often choose between things in programs by assigning each thing a frequency, then adding up the frequencies of whatever is available and making a weighted random selection. I tried that and got close to the observed probabilities using frequencies of 65, 21, 4, and 1 for commons, rares, epics and legendaries. But it wasn't close enough. The odds of getting the observed results with these figures were still less than 1%.

But I thought about the fact that one card is always rare or better. So what if we used that same method - assigning frequencies to each and adding them to figure out what I'm rolling out of - but this time I made four-fifths of the cards have a possibility of being common and one fifth simply ignoring the chance of common. The frequencies I settled on were 223, 21, 4 and 1. That means that four cards in your pack have almost a 90% chance each of being common, but one card in your pack has an almost 4% chance of being legendary. It turns out that the observed results have a probability of almost 30% using these numbers, which makes me think there is a reasonable chance this is the actual algorithm. Of course none of this really mattered because the overall point was to get something that gave me almost exactly the observed values, so I just used those.

After that entertaining activity, the next thing I needed was the number of cards. For now let's look at standard. Using a card database I got 307 commons, 177 rares, 94 epics, and 84 legendaries. If that sounds like a lot of legendaries you might not be aware that there are almost as many different legendaries as epics. But since you only need one of each legendary and two of each epic, it's not that close when collecting.

Coming up with a closed form equation to compute the number of packs needed wasn't going to happen, so I figured I'd start building a big table. It was very obvious that if your goal was to get every card then you were going to have all the commons, rares and epics and be disenchanting the extras before you found all the legendaries. Knowing this, I chose to ignore the actual distribution of those cards, figuring you'll get two of each by the time you are done and all extras would be put into legendary making. I'll come back to this hypothesis later.

So it's as simple as counting the commons, rares and epics gained from packs, subtracting twice the number of different commons, rares and epics, converting the rest into dust. Then taking the number of legendaries earned, calculating the average number of different legendaries that will give, disenchanting the duplicates and seeing if the total dust from all cards is greater than 1600 times the remaining number of legendaries to find. Looking at increments of 50 packs, you cross that threshold at 1200 packs opened when you've got about 65,300 dust and only 39 legendaries unaccounted for - 62400 dust.

Going back to the idea that by this point you'll surely have found all the non-legendaries, with 1200 packs, it turns out that you will average 14 of each common, 7.7 of each rare and just 2.7 of each epic. That means, for any given card, your chance of not having two is about 6 in ten thousand if it's common, 2% if it's rare and 32% if it's epic. The chance of not having any of a particular card is virtually none, 0.7% and 14.1% respectively.

So you'll have all the commons, but you can probably expect that you'll need to craft 4.7 rares and 43.1 epics. Now each of these represents an extra duplicate to disenchant as well, so crafting a rare costs 80 and an epic costs 300. That's still 12956 extra dust. Better open some more packs.

At 1250 it's really close. Presumably you get there or don't based on luck. At 1300 you look pretty safe.

Of course this is all dependent on whether or not you actually get the expected different legendaries from the packs. There is a decent amount of variance on that random variable. Still, given that a pack is worth an average of about 100 dust, if you are a few legendaries short you won't have to buy too many more sets of 50 packs to top yourself up.

Buying 1300 packs from the store costs USD $1,819.74.

If you wanted all cards so you could play Wild, you are looking at USD $2,239.68 to buy 1600 packs, more or less.

But what if you are a real whale and you want golden everything? One thing is that legendaries are no longer the stumbling block. Golden commons are much more rare relative to commons than golden legendaries are relative to legendaries. As a result, if you do a calculation like he one I did above, by the time you have enough dust to finish off all the legendaries, you won't possibly have all your commons, rares or epics yet. At that point it's all just a dust-fest, though, so that numbers are pretty easy. It turns out the number for a full set of every card in gold is probably around 6400 packs, nearly USD $9,000.

So that's the size of a hearthstone whale. If you've got ten grand to blow on the game then you can completely circumvent the grinding process. For just around $1800 you can functionally circumvent grinding, technically leaving yourself additional room to collect. $1800 is more than a third of a year paying $100 a week, so I think that rivals Candy Crush for whale fishing.

I'm in the middle of doing this math for some other games too, but it's pretty cumbersome, especially for games that have multiple different vectors for advancement.

1 comment:

  1. One thing you're missing in your pack opening odds is there's a 'unlucky' feature in opening legendaries. The more packs you've opened without a legendary, the more likely you are to get a legendary. Witwix said something like if you go 39 packs without a legendary the 40th will have one. He said this as he was opening the $500 worth of packs he was opening. 8P