The Hearthstone team needs to rethink some aspects of how
they are templating (choosing the words for) the cards.
The Problem
Some recently spoiled cards appear here: http://i.imgur.com/6BjCLwj.jpg (I don’t
know if the note about Random being added to text was officially announced
somewhere, but I couldn’t find it. In
any event the templating issues are somewhat more fundamental than that one set
of cases.)
Much of the team’s philosophy on templating was articulated
by Ben Brode here: http://us.battle.net/hearthstone/en/forum/topic/13077147586
Things were brought back to the surface when they recently
spoiled a card (Webspinner) that says “Deathrattle: Draw a random Beast card.” Random is there, which I think is helpful,
but the word Draw is at best ambiguous about from what pool of cards it is
drawn and whether it will reduce the size of a player’s deck. Blizzard had to clarify quickly, in several
places, that “Draw” in this case means select at random from possible choices
in the game (regardless of which Beasts you own or play in your deck) and add a
copy to your hand (cards are not taken from or selected from your deck or
collection).
I’m not sure Blizzard would really defend this templating
given the public reaction, but they might.
They need a game plan for better templating in my opinion.
I should note that A) I’m a Magic player, B) Magic
players have a special difficulty in learning not just a new way to comprehend
the text of cards but also how to shut off what they’ve already learned in the
Magic domain, C) Blizzard isn’t necessarily primarily concerned with Magic
players’ understanding of the cards, D) my analysis is in no way intended to
only address the Magic playing audience for the game (I understand there is a
wider audience, and I’d like to serve them too).
Ben Brode writes:
“'Feel' is really important to how we write cards.
Consistency is important, but somewhat less so in a digital game where the
computer handles the rules for you.”
Feel and Consistency might well be at odds in many cases,
but they each must serve the larger goal of comprehension. Comprehension is the understanding the
owners or browsers of these cards are left with after reading the cards – understanding of
what the cards do and how they interact. The designers of Hearthstone cards obviously understand that this is what is at stake.
Where I think my comprehension analysis differs is in the balance between comprehension from handing a player one card and asking them what it
does (the isolated comprehension –
or focus group style - model) vs. handing someone ALL the cards they
will be exposed to, asking them what they all do, and asking them to “get it”
in a way that lets them predict novel interactions between the cards (the in-context comprehension model). In-context comprehension will never be
100% - some interactions will prove difficult to predict, so much so they may
even be bugged in the software. But just
because it won’t be 100% doesn’t mean 75% understanding is the same as 85%.
‘Strict’ templating (as I’m choosing to define it here)
means that the text of cards is not just a hint at how they function, but it
actually governs how they function in an always predictable way (barring a bug,
typo, or similar mistake). Magic the
Gathering has this, and it is a tremendous asset to that game (but don’t forget
there are many reasons to try and do better than Magic does, I’ll get to that
shortly).
Ben Brode mentioned essentially the concept of what I'd call rules-engine-as-mediator which means
that the players need far less in-context understanding when there is a digital
rules engine to mediate disputes and clarify misunderstandings (well, at least up to a
confidence level bounded by the frequency of bugs in the engine). This is very much true and definitely aids a
digital game, but I don’t think it gets you as far as the Hearthstone team
thinks it gets you.
Critically, as the game grows, the number of novel
interactions (novel can mean either ones the player hasn’t seen yet, or new
interactions generated by the release of one or more new cards) between the
cards grows exponentially, hence in-context comprehension becomes more and more
difficult as a game grows. Isolated comprehension
stays pretty much the same.
Choosing a model that skews heavily towards isolated
comprehension will become increasingly untenable. The good news is you don’t have to sacrifice that much isolated comprehension (if
any) to get to much higher levels of in-context comprehension.
‘Strict’ templating is one way to make sure you skew in the
scalable direction – towards in-context comprehension. However, the downsides of ‘Strict’ templating
can be large. Cards can become more
difficult to immediately parse. As Ben
Brode notes, “if you add the word ‘random’ to Lightwell, it becomes very hard
to parse its text. ‘At the start of your turn, restore 3 Health to a random
damaged friendly character.’” Also, it
can feel like you’re tying your hands when it comes to making really cool,
really complex cards like Jaraxxus.
Imagine that card’s actual rules text (I will do just that in a
bit). If you set user expectations for
text boxes at “This is roughly what
the card does” then you can do something like Jaraxxus no questions asked
(well, actually, a TON of questions asked :P ). So not being able to just give an approximation is a cost.
Those costs are worth it.
The frustration experienced by so many players at unpredictable outcomes
and confusing new cards because of the lack of in-context comprehension grows with
every day and every new preview card. Below
is how I would try to strike a better balance.
My Proposal
The Hearthstone team should try harder to achieve ‘Strict’
templating that also has enough ‘Feel’ to satisfy the non-hardcore-rules-aficionado
audience.
Am I saying “Do what Magic designers do?” No, not exactly. You still have a huge advantage if you’re
Hearthstone – the digital medium. I’ve
already mentioned its advantages in terms of rules-engine-as-mediator, but
there’s also the advantage of potentially dynamic text boxes. What I mean by that is you can have shorthand
text, no text, reminder text, or whatever in the actual text box of a card, and
then link to a “full text” hosted elsewhere (exactly where I don’t hold a
meaningful opinion on).
For most cards there is no need to link to “full text.” Let’s start with some of the new cards from
Naxxramas.
Spoiled text of Anub’ar
Ambusher: “Deathrattle: Return a friendly minion to your hand.”
Proposed new text of Anub’ar
Ambusher: “Deathrattle: Return a friendly minion to your hand. (Chosen at
random.)” OR “Deathrattle: Return a [RANDOM
SYMBOL] friendly minion to your hand.”
In this case the Rules of the Game can say Deathrattle
choices are always random, but the card should be comprehensible as such not
just by reference to that rule, but using actual words that appear on the card. Reminder text is one way to accomplish
this. Since the reminder “(Chosen at
random)” can be inserted even within a sentence if multiple things are going
on, I think this solution scales properly and solves a ton of issues the random
deathrattles had as spoiled.
You could also address the Random vs. Choose problem with
icons that note the difference instead of a parenthetical reminder. A little red crosshairs could appear in front of “minion” when it means “a chosen minion” and a little d6 could appear in
front of “minion” when it means “a random minion”. That’s also a consistent, clear, and workable
solution. It requires a little bit of
onboarding to get someone to learn the symbols, but it translates easily and
the digital games can have a popup explanation or clear tutorial that paper
games can’t, so use those advantages.
Text of Thoughtsteal:
“Copy 2 cards from your opponent’s deck and put them into your hand.”
Proposed new text of Thoughtsteal:
“Copy 2 random cards from your opponent’s initial deck and put them into your
hand.”
A few things have changed here. First, I’m using random instead of just
relying on a rule about things of this nature always being random. Second, I’m using the term “initial deck” to
disambiguate the initial deck LIST vs. the cards remaining in deck when this
card is played.
Spoiled text of Webspinner: “Deathrattle: Draw a random Beast card”
Proposed new text of Webspinner: “Deathrattle: Add a copy of a random Beast
card to your hand. (Chosen from the list of all Beast cards)”
Here the text is designed to line up with Thoughtsteal (this
is critical for new cards and has really hurt the Naxxramas spoiler effort),
and also the text uses a parenthetical reminder once again to explain what is
happening. The rules can say “Beast card”
references the list of all possible beasts unless otherwise indicated and “Beast”
means Beast in play unless otherwise indicated, but even with that technical
background in the rules, reminder text should light the reader’s path. You end up with “clunkier” and longer text,
but that’s the price of doing business in a clear and understandable way – it
sometimes takes more words. There is a
spectrum from the full rules text on one end to cards that just say “SUMMON AN
AWESOME INVENTION!” or have no text at all but do something nonetheless that
you have to learn through trial and error.
Text of Shadowflame: “Destroy a friendly minion and deal its
Attack damage to all enemy minions.” (It
turns out if you’re destroying a minion with Spell Damage +1, Shadowflame will
get that bonus. I assume we wish to preserve current functionality, just make
it more predictable.)
Proposed new text of Shadowflame: “Choose a friendly minion to sacrifice. Deal its
Attack damage to all enemy minions and then destroy it.”
Preserving the ‘Feel’ here is tough, which is why I like
this example. I’ve even used a non-rules
term “sacrifice” to describe what’s happening even though that word adds only
clarity not actual functionality. This
is the kind of way I think you can bend “Strict” templating and end up in a
better place for it.
Text of Lord Jaraxxus: “Battlecry: Destroy your Hero and replace him
with Lord Jaraxxus.”
Proposed new text of Lord
Jaraxxus: “Battlecry: Destroy your
Hero and replace him with Lord Jaraxxus. FULL TEXT.” (FULL TEXT is hyperlinked to a popup
or display in the blank space in the side of the window or something else
containing the full rules text of what will happen.) This article isn’t about gendered pronoun use
so I’ll set that aside for someone more qualified on that topic.
I only pretend to be smarter than the entire Hearthstone team as a part-time hobby, so I fully understand that the issue is more complex than can be fully treated in this blog post, and that many conflicting concerns are in play. I hope my analysis and the suggestions I am committing to the public domain here are helpful as the team re-evaluates its current templating philosophy and kicks around new approaches, which I do expect to happen as the game scales and the "wtf does this card do?" questions keep rolling in. Even if they aren't at all helpful or the team never feels a need to re-evaluate, I hope you all enjoyed the discussion on HS templating that I have been participating in and will continue to participate in.
-Matt Sperling
Armchair Template QB