Monday, November 20, 2017

God of War - Attack Cancellation

I recently replayed God of War 3 and found myself thinking that the attack cancellation system is the heartbeat of combat. Just for clarity, cancellation is the ability to interrupt one animation before it is completed, by beginning another animation. For example, by pressing square, square, triangle the player can execute a combo attack called Plume of Prometheus(PoP). However, in mid combo the player can choose to roll away or guard to cancel the combo and the associated animation.

On a high level, why this works so well for God of War is because it adds responsiveness to a generally heavy combat system. I use the word heavy to indicate that Kratos is not a nimble character:

a) A basic melee attack (ex: pressing square) can take about 0.5 – 1.5 seconds to play out after player input is registered.

b) Certain basic melee attacks have a “readying” animation before the attack is executed. For example, holding down triangle launches an NPC into the air. This delay is induced because the attack leaves the enemy vulnerable for a large amount of time.

c) There is a supported time gap between individual actions of a combo. For example, in executing the PoP the player can press the first square, watch the animation play out for half a second, before executing the second square to continue the combo.

Given these factors, combat would slow down dramatically without the cancellation system. With it, combat can support enemy characters much faster than Kratos. It adds a real-time element with a much stronger sense of timing. It requires the player to simultaneously watch for incoming enemy attacks while in mid attack and cancel accordingly. It allows emergent combos that can take place despite enemy attacks. For example, square, square, enemy attacks, roll to evade, continue attacking. This is made possible by cancelling the second square and cancelling the completion of the roll.

However, not all attacks can be cancelled at any given instant in time. That would be an overpowered mechanic. Where it gets interesting is that every attack or combo has a cancellation window. This is where the system begins to support interesting player decision making. This is because the cancellation determines duration of player vulnerability:

a) Partially Cancellable – Most combos cannot be cancelled in their final stage. For example, the PoP can be cancelled only before the final triangle attack. The final attack in the combo delivers significantly more damage than the rest of the combo combined and leaves the enemy in a stagger state for a certain duration. However, because it is non-cancellable it also leaves the player vulnerable during the animation and for a certain duration of time at the end of the attack. This creates a high risk – high reward scenario. Additionally, the assessment of risk is not arbitrary. It is informed by a few factors:

i. Damage Radius – This informs how many enemies will be left staggered at the end of the attack. Therefore, the player must assess whether the finale of the combo will leave sufficiently many enemies staggered for her to recover from her vulnerability duration.

ii. Redirectability – The direction of certain finale attacks can be changed mid attack. The player can consider the optimal direction of the attack to maximize the number of staggered enemies.

b) Non-Cancellable – Certain combos that play out for longer durations are completely non-cancellable. For example, Cyclone of Chaos (L1 + square) does radial damage for as long as 3-4 seconds. Once again, we have a high risk-high reward situation. This decision is typically based on enemy defense ability. If the player is surrounded by enemies that can block the Cyclone, then it probably doesn’t make sense to execute the attack. There are certain attacks that are non-cancellable and invulnerable, meaning that the player can’t be damaged in the duration of the combo. These are typically attacks budgeted based on metrics like mana. The player can use these attacks in times of intense strife.

The cancellation system also makes other systems feasible. For example, consider the attack redirection system.When the player blocks an enemy attack in the exact moment that it is about to impact the player, the attack is fired back at the NPC. With cancellation, the player can be in mid attack, cancel her initial attack to redirect an enemy attack. This allows an unbroken combat flow.