Posted by david b. on October 21, 2014

*What Elie Bursztein now looks into is the process of modeling cards by attributes to determine their real values and then compare those to the face values.*

Then you apply 1 line of Python, which is the least square – and boom, you get the coefficients! The coefficients are: 1 for attack, -1 for health, 2 for Charge, 1 for Divine Shield and the intrinsic value. And I’m like: dude, that doesn’t make any sense; you can’t have a discount for health. It is because we only have 5 cards. 5 cards will not give you a good coefficient because there is too much instability. You need way more. But it’s just one of the examples.

Now, how do you find the real price? We are going to be back to kindergarten where you learned how to add stuffOkay, let’s try again with one of the most undervalued cards in the game, the Argent Squire. A lot of people say it’s undervalued. Let’s try again. So it’s 1 attack, 1 health, plus Divine Shield, plus the value of the card. So it’s 1*1 + 1*-1 + 1 + 1. It’s 2. Wait, 2? No, the card is 1, right? And yeah, you’re right – that’s why it’s an undervalued card. It actually should cost twice as much. So even without the coefficients you can always see that this guy is clearly undervalued.

I posted that online, and we got a lot of good feedback about it. The most important one we got was you should take into account dependencyWe also got a comment that actually a card has a budget. And the budget is 2*mana + 1. I have no idea how they came up with this. It’s absolutely reasonable, and when you do it the coefficient looks way better, it is true. I just don’t know how this guy got it, but thanks!

So, after writing code and debugging, you have something, you run it – and voila! You get your coefficients. These are the coefficients we got for 132 cardsWe also have negative coefficients, which is basically the decrease of the card price. As you expect, having your opponent drawing a card is the highest one, followed by discarding cards. And then we have overload, which is a shaman mechanism where you pay another price. So, all of this seems perfectly fine, and we are really happy. And we have this guy – board damage. We did something we thought was really clever, which was like: let’s model a single target and multiple targets coefficient as different. That is a stupid idea. I’m going to show you why in a few slides, but keep in mind that we tried.

One way to visualize what it looks like is you can put it on a graph, where the X axis is how much Blizzard assigned to a card as the face value, and on the Y axis – how much the algorithm believes a card is worthAnd do notice we also have high value cards. The one which is probably the most powerful is the Fire Elemental, which the algorithm believes is probably 7 mana, not 6. That’s something which also has been mentioned before by people just by looking at the cards. So, somehow the algorithm gives you a reasonable result therefore we believe we are on the right track. If you want to look at the full details – all the coefficients, all the card ranks – they are on my website, you can just go there. We keep updating this. And if you have ideas on how to make it better, let us know.

**Read previous: I am a legend 2: Card attributes and basic game assumptions**

**Read next: I am a legend 4: Pricing cards with unique effects**