What Hearthstone does wrong

Bugs happen. Sometimes you catch them early and can do something about them. Sometimes you catch them too late to do much. Sometimes you catch them, but the bug is in the hardware—and there’s nothing you can do to fix it. But that doesn’t mean you can’t make it less of a pain to your players.

Below, find a short essay regarding a frustrating problem in playing the popular online collectible card game, Hearthstone, on mobile. (BTW, sorry Blizzard for the clickbait-y title!)

Note: I originally wrote this as part of an application to Pocket Gems, a wildly successful San Francisco-based mobile game company.

For more on what can go wrong with a game, check out this video by Extra Credits, and this case study of theirs regarding Mass Effect Andromeda.

The Prompt: 

From one of the following games give your critique of one of the most frustrating elements of play. How would you alter the game to remove, or make the problem less prominent?

Game list: Starcraft 2, League of Legends, Hearthstone, Civ 5/6, OffWorld Trading Company, Team Fortress 2

One of the most frustrating aspects of playing Hearthstone on mobile is that when you switch to another app, do something there requiring data to be sent over the network, and then switch back, the game often disconnects and forces a reload from the splash screen. This hurts most when the player loses a ranked match or all deck-building progress because he/she responds to a message or gets a call.

After checking Hearthstone forums, analyzing how it and other applications handle similar circumstances, and doing some additional research, I believe this disconnect/reconnect problem is really an OS and hardware issue. There is limited memory available to run applications, so if the OS decides to stop allocating memory to an app it deems non-critical, there isn’t much the developer can do about that decision. As phones improve this will naturally become less prevalent, but I want to examine what Blizzard could do to make this problem less painful to players here and now.

Although players play more matches than they build decks, they tend to be more engaged while deck-building. Losing that work hurts more than losing a match. And because building a deck usually takes much longer than playing a match, a disconnect is more likely to occur during a deck-building session. Therefore, more emphasis should be put on this situation.

Nonetheless, let’s talk first about disconnecting during ranked matches. My initial thought about how to make this situation less painful is to erase the match from play history. The player doesn’t win, but he/she doesn’t lose either. Unfortunately, this is likely to be abused by competitive players—a button you can press to erase a match that isn’t going your way is hard to resist. To combat this, Blizzard could utilize the community to disincentivize this kind of behavior, implementing something similar to the quick voting system at the end of an Overwatch match. If a player is consistently down-voted for poor behavior, then a rank penalty could be placed or their play history reviewed.

Now, the main pain point. The optimal solution from the player perspective is for the game to save the partial deck every time a new card is added. However, this would probably save the deck in hard storage, which would mean way more access instances and could lead to lag. While I’m familiar with programming, I would definitely ask a mobile engineer how much of a performance dip this could lead to. As a compromise, the deck could auto-save every 30 seconds or so, which would probably lead to much smaller loss of progress (maybe 2-3 cards) and would be less demanding on the hardware. Or a listener could be set up to save the partial deck if the home button is pressed or a call is initiated.

Blizzard’s current solution for disconnects occurring during matches isn’t bad. On the other hand, their handling of disconnects during deck-building undermines their game. By applying an auto-save function, they could vastly improve the experience for their mobile players.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s