Issues With Diablo 3: Hit Detection

Don’t get me wrong—there are a lot of good things Diablo 3 has going for itself—but there are also a number of issues that need to be addressed. The biggest issue for me by far is the hit detection system. Once a monster starts the attack animation, the attack cannot be dodged by movement.

When asked about this strange hit detection in the beta, Blizzard responded by saying that it was working as intended:

It’s intentional. We don’t want a game where the most effective way to play is to dodge in and out of enemy attacks. It’s not that difficult to do, and it’s just not a very fun way to play. “Most effective” and “not fun” just can’t be in the same sentence when describing part of the game. We want combat to be based on use of abilities, putting thought into builds, building up offensive and defensive stats, etc. Skill is absolutely a part of all of the systems you’ll use, and kiting can be too, but it’d be ridiculous if you could avoid all of the systems that make the game the game because you can time dodges of enemy attacks and negate every other factor.

Also think about just running past enemies to rush through an area and never being hit. Anyone looking to rush would love it! Which is why it’s not a good idea from a design perspective. 🙂 It’s not something we’ll be changing.

There have been numerous posts regarding this design choice, and from what I’ve seen they have been overwhelmingly negative. In fact, without exaggerating, I can say that I have never seen a post other than this blue post that supports the current system. So what exactly is wrong with this system?

Lack of Player Control, Lack of Skill

The current system flat out removes control from players. This is a huge design flaw. Players want to be able to control their characters to the fullest extent, but the Diablo 3 hit detection system goes against control.

A lot of games have succeeded and have been hailed as highly skill-based games based on the sheer amount of control given to players. Think of Street Fighter, Starcraft, or Super Smash Bros. A very skilled player in any of these games knows by trained instinct just about everything in it that would be relevant in game: hitboxes, timings, invulnerability frames, damage and hp of everything, resource costs, movement speeds, attack speeds, attack animation times, etc. All of these factors distinguish lesser players from stronger players.

If you watch a video of someone playing Street Fighter, Starcraft, or Super Smash Bros, you can tell exactly how skilled they are at the game. If you watch a video of someone playing Diablo 3, well, they all look the same, the only difference being how geared they are. This is because Diablo 3 is more or less 90% gear and 10% skill.

That’s an unfair comparison, you might say. Diablo 3 is a loot game, after all. But even loot games can have their share of skill. World of Warcraft can be pretty skill based in world-first raid competitions, as players are severely undergeared and must defeat bosses that are much more relatively powerful than they should be. The undergeared heroes must use every trick in the book to pull through. If you watch a video of a world first kill versus a video of the same boss kill 6 months later, you’ll notice that in the world first kill, the player hp bars drop really, really fast to just about anything, and that they are often extremely close calls.

World first heroic Twilight Ascendant Council had only two Priests out of a 25-man raid group “alive” at the end due entirely to the Spirit of Redemption mechanic, which means they would have died for real and wiped a few seconds later had the fight gone longer. The fight is still difficult for many groups that are way, way overgeared for it, in gear that is one or two entire tiers above.

Gear is much more important in Diablo 3 than in WoW. In WoW, even in Tier 11 normal gear, item level 359, skilled players could pull 20k+ dps, while many people in heroic dungeons did 7k. Two tiers later, often three-quarters of the raid group is under 20k dps in the LFR, which has a mininum item level requirement of 372, and many of the low dpsers are in item level 378/384/397 gear and doing 10k dps. In WoW, dps is as much skill based as gear based.

Of course WoW’s hit detection/combat system works a lot differently, as most attacks are guaranteed to land. But the point is that it’s perfectly fine for a loot-based game to have some requirement of skill.

In Diablo 3, everyone with the same gear would do the same dps.

Back to the main point, Diablo 3 is essentially a skill-less game. Fixing the hit detection would at least add in some semblance of skill.

Inconsistency

We don’t want a game where the most effective way to play is to dodge in and out of enemy attacks. It’s not that difficult to do, and it’s just not a very fun way to play.

If it is not fun to dodge attacks, then why are there such things as Sand Wasps, Dark Berserkers, Fallen Overlords, Heralds of Pestilence, Winged Moloks, Oppressors, Mallet Lords, Morlu Incinerators, etc? Not to mention numerous boss mechanics (Butcher Hook, Belial phase 3, and just about something from every boss) that must be dodged. And that’s on top of Area of Denial affixes such as Desecrator, Frozen, Molten, and Arcane Enchanted. If it’s not fun to dodge stuff, then why must half the stuff in the game be dodged in order for us to stay alive? This is essentially Blizzard saying that dodging isn’t fun, but we’re going to add in a lot of things you have to dodge.

This amounts to a glaring problem of inconsistency, as half the stuff in the game can’t be dodged while the other half can. The only things that can’t be dodged which make sense are Succubi missiles, as they are homing. Just make melee attacks dodgeable and the game will be twice as good.

Screen Animation Versus Hitbox

There are many moves with hitboxes that are much larger than what they would appear to be on screen. Sand Wasp projectiles hit things that aren’t graphically in its path, Belial’s phase 3 attacks hit in a much larger area than the green circles that are indicated, Diablo’s fire nova often hits players who were in between flames. The Diablo fight is just really messed up:

There are numerous other examples of this, but the three examples I listed—Sand Wasps, Belial, and Diablo—are the biggest violators of screen animation consistency. Smaller violations include Heralds of Pestilence, Morlu Incinerators, the poison cloud that the leapers in Act 2 leave behind, and Winged Molok projectiles. The current disjoint between the screen and the real hitbox seems to get on a lot of peoples’ nerves.

Implementation

Fixing the hit detection would be easy from the programmer’s side. All you have to do is set a max attack follow range stat on melee attacks, and set the stat to something just larger than the attack range. Say a Zombie has a 10 yard attack range, so that if something comes within 10 yards it begins its attack animation. Then set the maximum follow range to 15 yards, so that if the target is not within a 15 yard radius by the time the attack is supposed to land, the attack misses. Plain and simple. Right now the max follow range is essentially infinite, as you can Vault 50 yards away and still get swiped to death. (The attack follow range system I just outlined is essentially what the Warcraft 3 engine used, so it’s not like it’s a new idea.) Just set the max follow range to 1.5 or so times the attack range.

Fixing the animation vs hitbox is much easier. Just make the animation larger or the hitbox smaller.

Consequences

Naturally, we need to look at the consequences, both potentially good and bad.

Pros:

  • Fewer unavoidable and cheap deaths.
  • Game becomes more skill based.
  • Game becomes more polished, as the screen would reflect the hitbox.
  • Game becomes more consistent, in terms of what can and cannot be dodged.
  • Improved player control leads to more fun.

Cons:

  • Game becomes easier for ranged classes due to ability to dodge attacks.
  • Ranged classes would more readily favor dps stats over survivability stats on items due to inherent skill-based survivability.

These might not even be real cons, as some people would enjoy them greatly. Keep in mind that melee do get some benefits as well, for if they need to kite around to wait for some cooldown to finish, they won’t have to fear getting pecked at by unavoidable attacks. If people are indeed concerned with ranged becoming much more powerful, you could add more boss mechanics like those added in 1.0.3 Ghom and Siegebreaker to discourage pure glass cannons.

TL;DR

  • Current hit detection system of not being able to dodge melee attacks is working as intended, but unpopular.
  • Current system restricts player control, which is a tenet of skill-based games.
  • Current system thus downplays skill and causes everyone to be roughly the same.
  • Current system is inconsistent as many big attacks are indeed supposed to be dodged.
  • Many abilities have far larger hitboxes than their animations show.
  • Implementing a maximum attack range would be easy for the programmer.
  • Implementing a maximum attack range would provide more pros than cons.
Advertisements
This entry was posted in Mechanics and tagged , . Bookmark the permalink.

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