Sunday, May 9, 2010

Diablo 2 and attack patterns

After having played Diablo 2, it's hard not to notice how much it's focused on projectile attacks. Projectiles that travel in a straight line (for the most part). While watching the trailer for Bloodline Champions, I noticed the same trend and I'm not sure if I like it.

Now I've been playing player vs player games for quite a while and I believe that strategy and counter-strategy is more fun than the World of warcraft style where crowd control and healing is key. Not just because it doesn't take control away from the players but also that it allows everyone to adapt more easily. The games I'm going to talk about today all have one thing in common, movement is the only defense. By changing the attack patterns, the players will have to move in different ways, changing the strategies.

The linear attack game
Let's say we have two players, A and B. Player A has only one type of attack moving in a straight line, X. There is only one way to counter this, moving to the side. Player A will not really have any strategy in this game, he will only use X as often as he can.

Player B will only have one type of counter to this, moving to the side all the time. This causes movement but is also quite a shallow game.

The 2x2 linear game
In this example, Player A has two different attacks, X and Y. Y does more damage but also has a recharge rate of 5 seconds. To maximize damage, there will be four X's for every Y attack. Assuming both attacks have the same attack pattern, this is the only adjustment to A's strategy.

Player B still can't do anything to counter this except try and move to the sides and try to inflict more damage than he takes, basically by being more accurate than A while dodging.

The 2x2 mixed attack game
Instead of the linear attack, let's say Player A has X and Y again but this time attack X moves in a straight line but Y arcs around the sides of player B. When the only defense is to move, the attacks that are made to deny areas make you have to change the strategy. For simplicity's sake let's say player B will always get hit by X if he's dodging Y and vice versa.



Now what is Player A's optimal strategy? If he will use four X's to every Y again, maximizing damage, the perfect counter will be extremely simple. Move to the side for four seconds, then stand still. This counter only works against the player who is trying to maximize damage. This is first level thinking.

And if the counter is extremely simple, then the previously optimal damage rotation will never hit, making perfect strategy completely different. If player A stops using Y every five seconds and is instead preemptively countering the easiest counter strategy, that will be second level thinking.

By giving A two moves and B two moves, we have a 2x2 symmetric game where both players can affect their payoff. Assuming both A and B have the same attacks X and Y, there will be two different 2x2 games running. If we remove the simple attacks where X and Y will always hit and instead make it so moving will protect you against the powerful attacks but also make it harder to land your own, things will be getting interesting.

Diablo 2
The enemies in Diablo 2 are rather dull, they are usually either melee (single target attacks only), ranged (single target line attacks) or casters. The casters have a couple of different spells but they are mostly line projectile (fireball) or line damage over time (inferno).

There are also a couple of area of effect type spells that are divided into three categories, novas which are expanding circles, randomized projectiles (Charged bolt) or damage over time area effect spells (meteor/firewall).

Assuming that you play a character that is not dependant on the random AoE projectile spells like Charged Bolt and Tornado, you will probably hit with every single attack. Since the majority of the enemies only use melee or line attacks, you will only ever need to do two things: move back from the melee and move to the side against the ranged.

While this is generally fine since Diablo 2 tries hard to put enough monsters on screen to make you have to move your mouse around a lot, it's still just a twitch game. To add strategy you need to add different options.

Diablo 3
While I'm trying my best to keep my high hopes for Diablo 3 up, rewatching the gameplay trailer with this specific subject fresh in my mind, I can't help thinking it's all the same. Most of the attacks seem to be based upon three basic types, line, arc (melee) and AoE.

The only skills that seem different are probably Zombie wall (area denial and damage) and Carrion swarm which is a chain type attack, hitting enemies nearby but not quite AoE.

While the attacks themselves seem to be quite simplistic, the fights are organised a bit differently. Since enemies are supposed to be tougher and there are several scripted events in the gameplay demo, you will not have such an easy time of clearing an area then moving on. Instead you will get thrown into fights with enemies on several sides, having to pick one way to go. This is one way to get away from Diablo 2's gameplay but I feel it's a bit too easy. Sure you will have to evaluate which side you will run to but the attacks are mostly the same. And if the attacks are simple, you can never really chain them to show your awesome teamplay.

Different types of attack patterns
As I've been discussing before, there are a few different types of attack patterns that are commonly used and a few I would recommend at least thinking about. In games where movement is the only defense, area denial is a really powerful tool and should in my opinion not be left to environment alone.

Most of the different types of attacks will have the possibility of travel or activation time. This is usually balanced along with damage and ease of use. You don't want a spell that's easy to hit with to also do massive damage. Another modifier is also if it is direct damage or damage over time. The direct spells will usually not provide any area denial, instead you will have to make it a projectile with a high travel time.

Line
The line is the most basic of all attacks. Since it's so easy to hit with, it usually has a travel time. While the damage is usually point-based direct damage (Firebolt), having some AoE is not unheard of (Lightning bolt)



Arc
The arc is usually used in melee only. As a ranged weapon, a fast moving arc doing direct damage will be too easy to hit with. That said, as an area denial move it can be really powerful. Let's say you have an attack that shoots an arc at an enemy. As soon as it hits something, it stops and turns into an damage over time effect. While not completely limiting player movement, depending on the curve it might block three or more of the eight directions.





Circle
Like the arc, the full circle is easy to hit with (Frost nova), requiring either a limited range or travel time. Since a ranged circle effect might completely block movement in all directions, it should be very hard to use as an area denial attack. If it stops movement and damage, it's essentially a crowd control ability.





Cone
Like arcs, the cone is usually a close-combat weapon. There is no reason to not add an extension to it though. Let's say you get the ability "Scatter bomb". With your first mouse click, you fire a projectile and with the second click you detonate it, making the cone damage originate where the projectile exploded. You can even make it more advanced, firing a projectile and then pointing in the direction you want it to explode, making sure it will always do some damage. If you add a minimum detonation range this could be a really interesting ability.





Random particle
While the random particles (Charged bolt) are useful at close range, at long range they are just too unreliable. Assuming you use it many times, it essentially turns into a weak cone based damage. For simplicitys sake and game balance, you can probably just scrap this type altogether. Too random damage is not fun.



Area effect
Most of the area effect spells are usually either circle damage over time (Meteor) or random particle damage over time (Blizzard?). Since most of them have a huge AoE they usually don't do a ton of damage. This is one of the most boring ways to add damage to your game, either keep it small and hard to hit with or make it have some kind of utility. Big area effects need to be so powerful to work as area denial attacks that they will be quite overpowered.



Some less used attacks that might be worth looking into:

The sine wave
Use one or two mirrored, it doesn't really matter. Assuming you have the curves far enough from eachother, players might be able to stand in the holes between curves. That way, moving forward or back will make you take damage from both beams, moving to the side only one, but if you stand at the right distance, you won't take damage at all.



X marks the spot
As an area denial effect this is really interesting. Let's say there is half a second delay between a big X showing up and it actually starts doing damage. Then you have that half a second to decide which quarter you want to be in. After picking one, if you decide it's not the right one, you will suffer for it.




Increasing damage
While more of a modifier, let's say you add increasing damage based upon travel time. That way, you can have attacks that do more (or less) damage close or far away from you. If added to area denial effects, you basically give the opponent a short time where the penalty for crossing it is not so bad and then increases as time passes.



The fan
While not quite a cone, it works in much the same way. The closer your target is, the more damage he will take. If it has a bit of travel time, you can also choose if you want to aim directly at your opponent, hoping he stands still or slightly to the side, hoping he will keep moving.



Controlled effects
Making attacks take more effort from the user, you can also make them more powerful. This works a lot better when you need the mouse to both move and attack because then the player might have to stand in fire to make that last killing blow. Examples could be the extended cone, an area of effect spell getting bigger the longer you target it etc.

Boomerang
For everyone who has played DotA, Rexxar's wild axes. One (or two) projectiles, moving in separate arcs, meeting at the point where you targeted the spell and then returning to the caster.



Spread patterns
Again, mostly a modifier or combination of other patterns. Two lines can be parallel, crossing or forming an L, area effects can form basically any type of pattern, depending on which of the directions you feel you want to block.

PvE vs PvP
The 2x2 game and other game theory strategies only apply to games between players that can adapt to different situations. Since trying to pay attention to player habits and working out strategies in real-time is quite a task, the number of enemies and their different attacks must be limited. Let's say 3-5 for number of attacks and 2-5 for different enemies. This way you will still have complexity far beyond any human real-time computation.

The enemies in a PvE game will usually be limited to one or two different attacks though on the other hand there will be more of them on the screen at any given time. Since the player's own attacks will require less focus as the AI monsters don't have enough common sense to evade, there can be more complex area denial, forcing the player to work out more patterns.

In a PvP setting, most of the fights will also usually take place in a mirrored arena, letting the level designer decide how some battles will play out. Combining static maps with blocked areas and real-time area denial attacks will make the combinations endless. Since I have limited myself to mirrored games and mirrored maps, everyone will have the same possibilities of using the map.

In PvE though, the players will have to adjust to the areas as they go along. There will be choke points that are easily defensible and there will be open areas where some attacks will be less useful. As long as there are always a couple of different attacks that are useful, players will hopefully adapt.

Discussion
Notice how fast things get to the point where it's getting hard to calculate? Even if we make a chart where every player gets a certain payoff for making an action, the 2x2 game can get quite complex. But players can't just move in one direction. Let's use the standard D-Pad or arrow/wasd keys. That's 8 different directions. It's not all that hard to come up with attack patterns that correspond to those directions. You can even add attacks that are easier to land but making them do less damage and seeing if versatility truly is power.

Even though every finite game has a stable Nash equilibrium, that doesn't mean it can be solved in real-time. Even if you do, it will not be a perfect counter against a non-perfect opponent. And what if you add more players?

Line, cone and circle attack patterns are fine, but what about boomerangs, tornados and firewalls? You don't need to get fancy, just make a ton of squares, take a pressure-sensitive pen tablet and make dots and lines. Most will be junk, but some can correspond to actually useful patterns.

No comments:

Post a Comment