Pre-alpha card designs
One of the features of the HearthSim organization is the hsdata git repository. This repository is an auto-generated history of the core text data files behind every public Hearthstone build.
The main file it features is CardDefs.xml
. The way cards are stored by the
game, internally, has changed several times over the course of its life. From
CSV in the earliest builds to, nowadays, Unity3D data split up over multiple
different databases… I figured we would want a single, human-readable file
format that would be consistent across all builds.
So I settled on the CardDefs.xml multi-locale format that was present in the early release builds of the game. This single file is generated for every single builds into a git repository, which can be diffed across all versions.
Some fun stuff appears when you look at some of them. Today I want to look at the very first builds of the game.
Build 3140
features an interesting issue: Before the game was even translated, the various
localized text fields were still used. Most of the time, they featured the same
text as the american-english (enUS
) version, but it looks like they were not
updated alongside it. This means some early card designs leaked into the public
build.
Most of them are just typos, cosmetic changes and such. For example, Transform used to be a keyword (bolded), the spell-shrouded description used to be Can’t be selected as a target by Spells or Hero Powers, and the Overload keyword was originally named Recall (and in the code itself, it even remained that way long after release).
Some cards were renamed:
- Healing Stream Totem -> Healing Totem
- Chaos Energy -> Demonfire
- Spirit -> Leokk
- Alarm-O-Bot -> Alarm-o-Bot (Notice the casing difference?/)
- Dual Warblades -> Dual Warglaives
- Warblade of Azzinoth -> Warglaive of Azzinoth
- Shard of Azzinoth -> Flame of Azzinoth
Some changes were more significant in terms of balance. Originally:
- Arcane Explosion and Flamestrike also dealt damage to the enemy hero.
- Charge gave charge to all minions.
- Deathwing did not discard your hand.
- Swipe only dealt 3 damage.
- Starfall only dealt 4 damage when vs. a single enemy.
- Mortal Strike dealt 8 damage below 12 health.
- Ancestral Healing did not give Taunt
- Gorehowl did not reduce its Attack vs. minions. (Infinite durability!)
- Hungry Crab would destroy all murlocs and gain +2/+2 for each.
- Thoughtsteal would actually steal: Draw 2 cards from your opponent’s deck..
Keeping in mind that we are only looking at text changes (cost, attack and health changes are not visible in this diff), let’s look at some cards which were completely redesigned:
- Bloodsail Corsair: Battlecry: Gain Health equal to the Durability of your weapon.
-
Captain Greenskin: Battlecry: Give ALL other Pirates +2/+2.
- Funnily enough, Greenskin was at the time changed to read: Whenever you attack with your hero, draw a card.
- Captain’s Parrot: Whenever you play a Pirate, draw a card.
- Emperor Cobra: Has +Attack equal to the number of Mana Crystals you have.
- Harrison Jones: Battlecry: Steal an enemy weapon.
- Lorewalker Cho: If you end your turn without playing a card, draw a card.
-
Millhouse Manastorm: Battlecry: Put a ‘Mega-Blast’ card into your hand.
- The MEGA-BLAST!!! card originally read: Deal 5 damage to all enemies.
- Prophet Velen: Battlecry: Draw a card for each undamaged character.
- Southsea Captain: Battlecry: Return a hero’s weapon to his hand.
- Southsea Deckhand: Battlecry: Your equipped weapon gets +1 Durability.
- Spellbender: Secret: When a minion is targeted by an enemy spell, Summon a 1/1 and target it instead.
It’s interesting to see just how much the pirate package changed, especially considering that it was not seriously used until MSOG.
And finally, we also see a couple of cards which were straight up replaced by completely different ones upon being redesigned:
- Naturalize replaced Demoralizing Roar: Enemy minions get -3 Attack this turn.
- Unbound Elemental replaced Grounding Totem: Your other minions can’t be targeted by enemy spells or Hero Powers.
UPDATE: A couple of extra insights on these changes from Ben Brode himself:
I think we dropped Demoralizing Roar because Druid was underpowered at the time, and that card was pretty bad.
Old Deathwing was an 8/8 at the time, and very powerful. Our first internal tournament featured many Deathwings. :)
Emperor Cobra was a similar design to a WoW:TCG card I liked, but it was less interesting in Hearthstone when our resource model became +1 Mana a turn.
— Ben Brode
Jerome