Heroes of the Storm Beta Design Analysis

Last week I discovered that I had been granted beta access to Blizzards new game Heroes of the Storm. For those of you that don’t know Heroes of the Storm (HotS) is a battle arena game where you play as one of a collection of characters drawn from Blizzard’s other games, examples include Diablo, and most of the character classes from Diablo 3, Raynor, Nova, and Kerrigan from Starcraft, Arthus, Thrall, and Sylvanas, from Warcraft, as well as the occasional odd ball like the Lost vikings.

Lots of people have said that Hots is more relaxed/simpler than other similar games such as League of Legends and DoTA. My take on it is that while it has mostly simpler mechanics than the other games largely due to team leveling and no items in the game it still has a large degree of complexity due to the varied map objectives that range from useful to game crushing.

Some of the pluses of the systems in HotS:

  • You can always get the character you want as you pick before you find team-mates
  • Daily quests give you varied objectives for differing play styles and reasonable rewards
  • Team leveling means two things: no one gets left in the dust and no single person can carry a game to victory
  • Similarly objective based game play prevents solo carrying
  • Before you purchase a character you can try them out in a one lane practice zone so you can see how they feel without waiting for a free week
  • The real cash costs of things is listed directly on the item and you don’t have to buy in game currency that does not easily convert

Some of the downsides of the systems in HotS:

  • Each game gives you a pitiful 20 gold, when a character costs 2,000 gold minimum and can go as high as 10,000. This is slightly counteracted by the quest system and level up rewards but it is still a bad feeling to get so pitiful a reward, regardless of performance. you get the same amount of gold win or lose (edit: You do get a 10 gold bonus for a win but my point still stands)
  • When you pick your character before seeing your team you can’t change your pick based on what others are playing. Got all supports? Too many Melee characters? No high damage characters? Too bad better luck next time
  • While most of the map objectives are fairly balanced some are just back breakingly necessary to winning that if one team gets the objective the first time and the other team doesn’t then the team that got it will just snowball so far ahead that it is nearly impossible to catch up for the next 10-15 minutes that you are stuck in this game (looking at you sky temple)

While the two in game drawbacks can be mitigated by playing with a group of friends playing with randomly selected strangers is generally a miserable experience.

 

In summation I think Heroes of the Storm has lots of good ideas behind it with a few big flaws around progression and team selection. But if you have 3-4 freinds to play with Heroes of the Storm is a great game and hopefully they can fix some of these things before they get out of Beta.

Edit: After getting a lot of more play time I have a few changes to my opinions.

First I have found that the rate of gold acquisition is much better than I first believed but it still feels bad to get so little gold for playing/winning games.

Second while it is possible to fight back from an early game disadvantage it is very difficult and requires team-work, a rare commodity when playing with random strangers.

Making sure everything works

Today’s work was simple: set up the game so I could make a build and give it to someone. This may sound simple but after the modifications I made for testing purposes I had to go back in and triple check every variable. For instance when I died in level two I reloaded in level one instead of level two. This made me also realize that if you beat the final boss the next level would never load so I fixed all of these problems.

 

Another change I made was to make the main fire mode of the player an auto fire instead of holding down the button. There is no reason not to be firing so I just made it so that the player doesn’t have to think about it.

 

There were several other problems and still several more things I am considering changing but most of them can wait until after I get some people to play test it.

I can have more than three?

Added bomb drops to the game. At first I was wondering if I should just have the drops sitting in the world or find a way to have defeated enemies drop them. Once I decided on enemies dropping them I had to decide how to get them to do it. The most obvious way of doing it is to replace the scripts on the ones that drop pickups but it felt like that was too awkward. Then I remembered that my enemies already drop something on death, they drop an “explosion” visual effect. So for a few enemies they drop bomb pickups attached to the explosion.

 

I also added a mechanic for gaining additional lives. After gaining X points you gain one life.

Tweaks, Tweaks EVERYWHERE!

Today I was planning on adding the asteroids from level 3 in to level two. But upon replaying level two I realized that the level was too busy already and didn’t do that, instead I reduced the number of projectiles the enemies fire and spread them out a bit more.

I also went back to level one and tweaked the boss to work better with the increased play area.

You can see your score in game now

Should have done this a long time ago but I finally got around to adding in a display for score, lives, and bombs. I also moved where the remaining bombs data is stored and removed the boss 1 hit point display after I discovered a bug with it (then thought of a solution but haven’t implemented it yet).

I can see the finish line

Almost done with level 3. Still have a few things I want to try out to make it look smoother but I like the layout. Next Monday I will be finishing level 3, couple things to change are activators, level movement speed, asteroid speed, placement, and frequency. After that I have to implement the sidebar where you see: score, lives, bombs, and any other relevant data. Then I have a few more refinements for level 2. Then I get to play with adding power ups (something I had been meaning to do and have the code for but never put in). Friday will be messing with numbers and making sure all the levels still work. Over the weekend I am going to try and get some friends to try it out and then implement changes based on feedback.

It is decided

I have found the style I am going to use for level 3. It involves two lines of pulse enemies along either side of the screen creating a restrictive path for the player and “asteroids” being launched at them at predetermined points along the level. These “asteroids” lock on to the player at launch but don’t deviate from there initial path, so as long as the player is moving they shouldn’t be too hard to dodge.

This level will likely get closest to a traditional bullet hell as it is more about memorizing a pattern than it is about quick thinking, although the boss still has randomized elements that require fast reactions.

Proggress is slow

Got some work done on level three today, not as much as I would like but I have some more ideas to try to make it feel right. Had a bit of a family emergency over the weekend that is occasionally interrupting my work flow but things seem to have mostly stabilized.