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:

Some changes were more significant in terms of balance. Originally:

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