Friday, 16 August 2013

Contagion Pulse

I got three copies of Contagion Pulse from my SolForge packs so I thought I'd give it a go.  When I played with it it seemed pretty awful.  I wanted to figure out just how awful it was.

At level one, Contagion pulse gives a single creature -1/-1, which is obviously very weak.  This goes up to -2/-2 and -3/-3 at levels two and three, but also at level two and three the spell is Free - which means it doesn't cost you one of your two plays to use it.

Free spells seem sweet, but you do have to give up a level one play to turn it on.  And by giving up that level one play you are also giving up the opportunity to level whatever card you would have played.  Ordinarily the first player levels up with seven level two cards in their deck while the second player has eight.  If you were to draw all seven of your level two cards and play them all, then while you could have been playing seven level two creatures, you instead play six, plus a level one creature, plus give a creature -2/-2.  That's the catch - that free card you play is a level one card.

In order to figure out how good this is, I needed to know how good level two creatures were compared to level ones.  Glancing at cards it would appear the game designers think each level is about double the last, but that's just an estimate.

I did a test where I made random level two creatures fight random level 1 creatures to see how many it took to kill them.  I used just commons because they have far fewer abilities to confuse the issue.  I did the same with threes fighting twos and threes fighting level ones.

There are two commons that significantly skew the results: Forgeplate Sentinel and Cavern Hydra.  Armor and Regeneration are just so good at trading down that including those creatures significantly increased the average.  If you leave them out then it takes about 2.3 ones to kill a two and about 1.9 twos to kill a three.  With them in it's 2.5 and 2.

Anyway, these are pretty close to what I assumed that each level was about double the last one.  Of course the levels put together aren't quite multiplicative.  It takes only abut 3.6 ones to kill a three.  This was boosted to 4.1 by cavern hydra and forgeplate, and I think that was only because I cut each trial off at 20 creatures to make sure things weren't hanging - in reality you could throw ones at a level three Cavern Hydra all day.

Based on these numbers I decided to run a simplified simulation where each level is double the last.  I measured the value of draws in Level One Equivalents (loes) with a level one card being worth 1 loe, a level 2 card being 2 loe and a level three card being 4 loe.  Since there is a level one spell that gives -3/-3 to a creature, it is clear that even the level three version of Contagion Pulse is at best as good as a level one spell.  Since my intuition was that it is bad, I wanted to give it the best possible opportunity to shine, so I valued all ranks of Contagion Pulse at 1 loe even though it is debatable that you get a whole level one card out of them.

Deck P played 27 generic cards and 3 Contagion Pulse.  It would play a level one Contagion Pulse over another level one card if given the choice, but would not play it over a level two card.  It always played level two and three Contagion Pulses, of course, because they are free.  Deck NP played 30 generic cards and so always played two cards a turn, preferring to play higher level cards.

Well that's awfully close, isn't it?  And the very slight deviation is actually in favour of playing the Contagion Pulse.  Well, when your data don't match your intuition, it's time to massage your data!

While acknowledging that my test didn't come out the way I thought it would, let's look back at the assumptions I made that may have caused the difference between the simulation and my lived experience.  Obviously the simulation is very simple - in a real game it isn't always easy to simply use two level one plays to cancel an opponent's level two play but sometimes in a real game you can't use a level two play to cancel out a single level one play either.  But I think the more important assumption is the Contagion Pulse is always going to get you 1 loe of value - that's the assumption that really gave the pulse its kick in the simulation.  If anything, what the simulation shows is that Contagion Pulse is fine so long as you can always extract a loe of value, but that it gets bad if you can't.

Can you get a whole card out of -1/-1 in the first four turns of the game?  Sometimes you can and sometimes you can't.  Giving a Marrow Fiend -1/-1 obviously gets the job done, and I'd argue giving -1/-1 to the creature that was going to just barely kill a growing creature like a Necroslime or Grimgaunt Predator is probably good for a whole card as well.  Giving -1/-1 so that your five attack creature can just barely kill a Firefist Uranti is surely worth your while, especially since it means your creature doesn't take any damage.  But though I can name many of these situations, it seems like there are many others where it is not so easy.

The trick is, though, that you don't just have to get 1 loe out of -1/-1, you have to get it out of -2/-2 the next time through your deck and -3/-3 the time after that.  If you can't extract a full loe of value out of the pulse every time you draw it then you are falling behind.  This manifests itself very obviously on that second time through the deck.  When your opponent a very generic two, say a 9/9, and you, instead of having your own very generic two, have a very generic one plus a -2/-2.  The problem is that your very generic one does not beat a 7/7 so you are falling behind.  After all, if the entire valuation scheme is based on the idea that you can trade 2 ones for 1 two, having a one that is almost never going to pull its weight in that equation is a bit of a problem.

It is more likely that you can get a full card of value by giving -2/-2 to their two that is fighting your two.  That will often leave you with a two that is badly hurt, forcing them to finish it off with a one and getting you your loe.  But the problem is that because you didn't level up as many generic twos as them you are more likely to run into a situation where you can't match each of their twos with one of your own.

I want to get this post up without writing too much more code, but I'll try re-running the test with some different loe values in the near future and report back on how it works out.  I might actually test how much giving -2/-2 to a two affects how many ones it takes to beat it, but I think we all know that it won't reduce the loe by more than 0.3 to 0.5.

Hopefully this weekend I'll have time to run some tests of card drawing effects, which I have been extremely happy with in actual games.


  1. I've been running the one that buffs your guy in the middle lane and it wasn't my first cut when I opened more packs to get a few more playables. I do have a couple of ways to level cards without playing them which helps get it into the free range, though.

  2. I think that one is much better, the reason being that 2, 4 and 6 are much better numbers than 1, 2 and 3. As the test shows, if you are getting the equivalent of a level one card out of it then it is actually getting you very slightly ahead on average. I've found that card feels like it gets me a lot more ahead than contagion pulse does.

  3. Fair enough. The restriction on having to go in the middle is actually a real thing, though. I find it seems to do nothing a pretty reasonable amount of the time (mostly because my middle dude is going to trade with 2 dudes regardless of that spell or not).