Design Philosophy Behind Generated Tokens on Cards Which Can't Complete Their Effects
Max was out on the forums responding to the question of why Small-Time Recruits doesn't give you tokens should you be unable to fulfill the condition of the card unlike Sense Demons. The real answer may shock you!
The Two Philosophies
- Cards should progress a game towards a conclusion when possible.
- Card text should do what it says.
- Early on, the first philosophy was favored for cards like Wild Growth and others in the Classic set. If it wasn't able to fulfill its goal, you'd get something in return (Excess Mana).
- Things have changed since the early days and now they're okay with the occasional card not being able to complete its effect.
- Though they lean towards the second philosophy, they still evaluate it on a per card basis.
- In the case of cards that give Mana Crystals, they've accepted the precedent of Wild Growth and tend to give you Excess Mana as it feels like a bug otherwise.
- Ideally they'd have a better solution to letting you know about the fringe cases; It's not being prioritized at this time.
Quote from Max McCall
We have two competing philosophies about corner cases for cards like Small-Time Recruits that sometimes don’t do anything: first, cards should progress the game towards a conclusion if at all possible, and second, cards should do what their text says. In the early days of Hearthstone, we tended to err on the side of favoring the first philosophy. More recently, we’ve seen that our concerns about games lasting too long because of situational cards haven’t been confirmed, so we usually lean towards the second philosophy. We keep both ideas in mind, and tend to evaluate cards like Small-Time Recruits on a case-by-case basis.
Hearthstone is boring when neither player has stuff to do. The situation where neither player has minions or spells to play is rare, but does happen occasionally. Fatigue will end those games, but having to sit and wait around for fatigue isn’t fun. So, our general preference is for cards to do something to help end the game, even when they’re otherwise situational. That’s why, for example, Sense Demons grants players Worthless Imps, and why you get a Shadow of Nothing when you cast Mindgames and your opponent’s deck contains no minions: getting those 1/1s forces the game to a conclusion.
On the other hand, we think cards should generally do what they say.* It’s weird when you have a card that says it does one thing, and then when you cast it, it does something else. Wild Growth is the most famous offender of this philosophy. When you have ten mana crystals and cast Wild Growth, instead of an empty mana crystal, you get a copy of Excess Mana, which you can then cast for a card. This is in keeping with the idea of ‘cards should do stuff’ and definitely prevents the feel-bad moment of drawing Wild Growth when you’re capped on mana and not being able to do anything with it. On the other hand, card text secretly changing in that way is weird and is contrary to the idea of Hearthstone cards as physical objects.
We were most worried about games bogging down with do-nothing cards when making the Classic set. Before release, we thought that Hearthstone games would generally be fast-paced, but we couldn’t be sure. So, the Classic cards tend to have more safety valves to make sure they still have an effect in corner case situations. We’re now more confident that the presence of a couple of situational cards won’t bog down games too much, so we don’t feel as compelled to make sure that cards like Small-Time Recruits always gives you something. For cards that grant mana crystals, though, we have accepted the precedent of Wild Growth – people have grown so used to getting Excess Mana that it feels like a bug when they do not. Ideally, it would be more obvious when cards are in their corner case phase that’s caused their effect to change, but because we’re talking about solutions to corner case issues, we haven’t prioritized finding an elegant solution for those cases.
*I’m not going to open the Molten Giant can of worms, which is more of a templating question as opposed to a functionality one.