What’s a Weave?

17092009

The following is presently an open problem in Aion. There are many people who will tell you they know the solution, but there is yet to be any conclusive evidence that convinces me of an actual solution. Moreover, most so-called solutions look at a particular case, rather than the general.

The basic problem is this:

Every character in Aion is capable of performing auto-attacks. Every physical damage dealer also has instant special abilities to deal damage. A character can only be performing one action at a time, however; instant special attacks and auto-attacks must happen in some form of interleaving structure. Every ability has an associated delay, implying a possible limit to the number of special abilities. Given this, what’s the best way to prioritize your auto-attacks and special abilities?

I don’t have a concrete solution to the problem myself. I believe it’s an open problem for a reason; each case depends on the number of special attacks available in a given time period and the strength of special attacks versus auto-attacks. The speed of the weapon in question is also an important component: faster weapons have identical special attack cooldowns, but shorter auto-attack cooldowns. Thus, each case is likely to have different results under optimization.

I would like to give some general intuition for solving this problem for a given particular case. That is, if you know the number of special attacks, their blackout periods, their cooldowns, and the speed of your weapons, you should be able to guess a good solution from the advice here. You can then tweak the information to fit your particular playstyle. Perhaps I can test out the general solution in the future, but I don’t really plan to test out Assassins, Gladiators, and Rangers that extensively.

First, let’s look at some key aspects of physical damage combat:

The Auto Attack:
Every character in Aion can perform these. based on the weapon equipped, and any Attack Speed modifiers, your auto-attacks will land at set intervals from one another in time. The time is listed on your character sheet. As a general rule, faster attack speeds lead to smaller damage values per swing for weapons of equal worth. The auto-attack swing timer is always running in the background once auto-attack is activated (though it is presently rather buggy because of an underlying implementation error).

Instant Special Attacks:
Most every special attack for physical damage dealers is instant; cast times are avoided so as to make the Concentration stat a non-issue for Warrior and Scout classes. When any special attack is executed, the auto-attack swing timer is allegedly reset. The reset in time occurs at the beginning of the animation period (as soon as your action bar blacks out), or what is sometimes referred to as the Global Cooldown.
Blackout Period / Global Cooldown:
Whenever a special ability is activated (completion of a spell cast or an instant ability is activated), your action bar will fade. During this period, no other action can be performed (though movement and jumping are sometimes preserved). The Blackout Period in Aion is not constant across abilities. For instance, a Priest’s buff spells can be cast within 1 second of each other, while many Gladiator special attacks have a blackout period nearing or exceeding 2 seconds (most are closer to 1 second, to be fair). This difference may not seem substantial, but it means that player reactions must revolve around individual skills, rather than a single Global time (turns out that this is harder to do optimally). Auto-attacks cannot occur during any Blackout Period.
Cooldowns:
Every special attack also has an associated Cooldown. Because most abilities are ridiculously cheap for Warriors and Scouts (remember from the Numbers post: MP is not a limiting resource for them), the cooldowns of the attacks become the limiting factor. Cooldowns vary from attack to attack, but most attacks used in a regular rotation require eight to twenty seconds of downtime before they can be used again.

Okay, that’s all elementary-school stuff, right? I just want to make sure Aion-specific traits of these terms are clear.

Now, some of the common solutions to the optimal interleaving of special attacks and auto-attacks:

Auto-Attack Only:

Auto-Attacks Only: damage is inflicted on every blue "A." 7 attacks in 12s.

This one is rare, but important in a few key situations. Namely, when your weapons swing so quickly that even chaining special attacks is slower than your auto-attack speed. In such situations, the slower special attacks may hit a bit harder, but the lost speed could actually be a detriment to your damage output.

Burn Everything Early:

Special Attacks Only: damage is inflicted on every orange "S." The auto-attack swing timer continues to update, but there is never an opening for a blue "A." 8 attacks executed in 12s.

Many people claim (without evidence) that chaining together every special attack available as soon as it becomes available is the best way to deal damage. The intuition is that, because the abilities are special, they should take priority: they likely deal more damage and have important effects to get on the table (debuffs, stuns, etc.). Proper chaining of skills will lead to more attacks per second than generic auto-attacks for a slow weapon, with the added bonus of landing debuffs. Especially in late game, when your special attack list becomes long enough to fill a full 20-second rotation with no gaps, this becomes a very appealing option.

Weave Attacks:

Weaved Attacks: damage is inflicted on every blue "A" and orange "S." 13 attacks in 12s.

The middle-of-the-road approach. The Weaving approach takes advantage of instant special attacks’ resetting of the auto-attack swing timer. That is, as soon as an auto-attack occurs, a special attack can be used without slowing down the auto-attack’s timer. Thus, a small pause is included after each special attack to allow for the next auto-attack to land. Remember that, in the Burn Everything Early approach, there should be no gaps in the rotation; as a result, no auto-attacks will land. By loosening the rotation correctly, one or two special attacks can be removed from a given 20-second rotation to allow for a number of auto-attacks (6 to 10, depending on your swing timer and tightness or rotation). This will give you more hits, but the auto-attacks are likely to be weaker than the special attacks on a one-to-one basis.

So, which approach is best? It’s all a matter of trade-offs. Each approach has its strengths, and the relative benefit to a player will vary with gear and available skills. As I said, it’s an open problem. Let me try to give some insight into some trends I’ve seen, though:

Filling a rotation with only special attacks removes the need for a fast weapon. The weapon simply becomes a stat stick; the one that best benefits your damage with special abilities subsequently becomes the best weapon overall. This means that attack speed bonuses on the weapon are irrelevant (unless the Blackout Time is affected by weapon speed – I don’t believe this to be true, but I haven’t encountered it yet so I can’t say for sure). It seems a little unusual that a stat of such relative worth would be useless to the highest level classes, simply because leaving no space for auto-attacks actually leads to more damage.

Filling a rotation with only special attacks only works once a rotation can be filled. What I mean is, you won’t have a full rotation at lower levels. When you can’t fill your rotation, you’ll have blank time no matter what you do. The auto-attacks here have, in my experience, come out to be roughly equal to the number of auto-attacks gained from a weaving approach at lower levels.

Weaving Attacks will perform better with a weapon speed that is closer to the Blackout Time of your special attacks than with a weapon that is really off from your Blackout Times. The closer they synch, the less time you have to wait for the next auto-attack. Therefore, there’s less blank space in your rotation not being devoted to special attacks.

Weaving inside a chain attack is almost always a bad idea; The chains tend to be tightly timed in and of themselves, so I find that they are best treated as a single, long-Blackout Time special attack.

Weaving around every attack may leave out too many critical abilities. In tandem with the note above, don’t let waiting for auto-attacks push important debuffing abilities or key high-damage abilities out of rotation. There are likely a couple filler abilities that can be lowered in priority – they are the best options to drop if your rotation is getting particularly tight.

Weaving will perform better under a lower latency. The closer you can time your special attack to the start of your auto-attack, the less swing-time you’ll end up clipping by restarting your swing timer. This is the best way to tighten a rotation, and some practice will allow you to predict when an auto-attack should land so you can pre-empt the server and have the two attacks land at nearly the same time.

Auto-Attacks are powerful. They miss out on the special effects and damage boosts of special attacks, but they do hit surprisingly hard. Their value should not be ignored.

Burst damage will behave very differently between approaches. A full chain-skill set will likely execute the most burst damage, but two single special abilities will likely benefit from having an auto-attack woven between them for three hits in the time of two-and-a-bit.

How would I approach the problem? I’ll give two case studies. First, I spent a lot of time on a Gladiator in the Closed Beta. I started out just chaining my abilities, then auto-attacking while the cooldowns spun. The performance felt a bit lack-luster. When I tried weaving in some auto-attacks between abilities, the cooldown timers suddenly started to synch more evenly: I had exactly the right special ability come up as soon as my auto-attack triggered. Suddenly, instead of the one auto-attack that fit in the open window at the end of my rotation, I was seeing three or four auto-attacks land in the exact same time-frame. No special attacks needed to be cut: I just got two extra swings every twelve seconds for exercising some patience. I subsequently stuck with weaving my attacks on my Gladiator.

Second approach, on my Chanter: I had fewer special abilities, so my intuition was to go with the approach that had worked on my Gladiator. I figured that this way, I’d be able to spread out my abilities and cut down on the downtime. It worked nicely. Then, curious as I was, I started trying to chain my abilities together as tightly as possible. I figured that if I could tighten my special attacks into one block of the rotation time, the other half of the rotation would be completely open. Turns out that I performed the same number of auto-attacks on a supertight rotation as I did on a nicely weaved rotation. Interesting. But, when I started getting lazy, I saw problems. When waiting between attacks because of inattention or some such, the little phases of open time cut into the block of blank time at the end of the rotation. As a result, a loose burn-all-specials-first approach yielded fewer auto-attacks in a given rotation.

As you can see, results change based on the situation. Either of those case studies may have behaved differently with more or less abilities to consider, or with differently timed weapons. I never had to choose between two auto-attacks and one special attack, for instance, which could have a whole range of trade-offs. I like that this is an open problem, though: if players can execute well-thought-out solutions, it will be a good indicator of how well they understand the game mechanics and, hopefully, the game itself. I look forward to hearing more about this subject, and in particular some thoughtful counter-examples to the boringly-easy “chain everything together immediately” approach.