In this special Gamasutra feature, former
God of War lead combat/systems designer Eric Williams breaks down action game cancels - the ability to end one animation early by beginning another animation - with examples from leading action titles, including a look into frequently-asked questions about
God of War's design.
As he explains in his intro: "A lot of the questions I've been asked in the past regarding
God of War have always swirled around some of the attacks Kratos has in his arsenal, namely the L1+ Button special moves. These questions usually stem from the inability to “cancel” these moves - thus rendering them useless, so to speak. Instead of just defending those moves, I am going to examine the entire concept of move canceling - from its early days in fighting games, to its cross-pollination with action adventure games."
Birth Of The Cancel
Let’s start with the granddaddy of them all:
Street Fighter 2: World Warrior. There is a legend that one day, during early tests of this game out in California, a guy named Tomo Ohira was destroying people in the game with some crazy technique. He could link certain moves together that normally could not be linked together - thus creating a combo by canceling.
I was a kid in Ohio when I heard this, so of course I believed it, because Tomo Ohira was the best American
Street Fighter player at the time. However, I later learned that this was a “bug” in the game - known by the development team in Japan. They thought executing it was too difficult to be useful, so they left it in the game.
As it turns out, that “bug” was the birth of the Cancel-and-Combo. The best example is roundhouse sweep cancel-to-fireball with Ryu, which I view as the catalyst for many other
Street Fighter cornerstones, such as zoning and footsies.
What Is It, Exactly?
Let’s define a cancel, just so we're all clear: It's the ability to end one animation early by beginning another animation, when the user manipulates of a series of branches in an animation tree through controller inputs. Without diving into all the nuts and bolts of a combat system, let's break down cancels by type and method.
Cancel types fall into 2 core groups; “Partial Cancel” and “Complete Cancel”.
A “Partial Cancel” allows an animation to be canceled at specific windows during the animation. The two most common conditions for a “Partial Cancel” are Pre-hit frame (the animation can be canceled any time before the first frame of the hit) and post-hit frame (the animation can be canceled any time after the last frame of the hit).
A “Complete Cancel” allows an animation to be canceled at any time during the animation. I'm generalizing, and there are special nuances that exist in certain games, but for the most part, these conditions are used 99 percent of the time.
Two methods of canceling account for the bulk of all games: "Buffer" and "Instant".
The "Buffer" method stores and executes the user’s command when the cancel window is valid. The "Buffer" method, in a well-designed game, can be canceled itself with other commands before the cancel window is valid, to ensure the highest quality of responsiveness.
The "Instant" method accepts and executes the user’s command on the frame of input when the cancel window is valid. The "Instant" method allows the player to delay the timing, which adds to the overall responsiveness of the game.
Now, for an example: Let's say we have an animation called “Square01” that is played when we press the Square button. The animation is 60 frames long and has a hit frame window from frame 15 to frame 20. See the pseudo combat scripting below:
//60 frames
Animation = Square01
//hit frames
On = 15;
Off = 20;
//attack cancel
Anim = Square02; Button = Square; On = 0; Off = 21; Method = Buffer;
Anim = Square02; Button = Square; On = 21; Off = 60; Method = Instant;
//block cancel
Anim = Block; Button = L1; On = 0; Off = 60; Method = Instant;
What does all that mean, you might be asking yourself? Notice the On/Off parameters - these are frame values that determine the range of the cancel window. The method parameter assigns the type of cancel - see the definitions above if you have forgotten already.
We can now determine that “Square01” can never be canceled with the square button Pre-hit frame, since the frame range is 0-21. Instead, the square button can be buffered until Post-hit frame 21.
We can also determine that “Square01” can be instantly canceled at any time Post-hit frame, since the frame range is 21-60. It also says that the L1 button can cancel “Square01” instantly at any time, thus making it a Complete Cancel, since the frame range is 0-60.
If this makes any sense at all, now imagine doing this for every possible animation a character has in their arsenal, and how it relates to gameplay systems such as parry, block, counter, walk, run, jump, double jump, magic, throw, and reactions. To give you a little perspective, Kratos had roughly 4000 cancel branches in
God of War 2, with many more parameters to be tweaked per cancel branch.
Bored yet? I promise to stop being technical right now!
The Effects Of Implementation
What can a well-implemented cancel system add to a game? First off, it usually determines if a game has that lagged-out feel, or is crisp and super-responsive. From a defensive point of view, it creates that feeling of "a good offense is the best defense." The player can just bang with the enemies, but guard cancel to generate new holes in the enemy’s game.
Guard canceling in
Soul Calibur is super fun, because it has Pre-hit frame canceling only - which allows the player to fake attacks, creating a whole new layer of mind games.
Street Fighter 3 and the
Marvel series make great use of super move cancels, which looks flashy in the traditional Capcom vein, while promoting heavy offensive-style gameplay.
Also you might note that cancels are so good in some games that they actually require meter to perform, like in the
Guilty Gear series. It's almost impossible to factor all the changes one type of cancel system can have on a game.
One such case is
CvS2 and the infamous "Roll Cancel," where certain moves can become invincible based on a cancel bug - talk about an oops. Ultimately, though, it comes down to fun versus abusiveness. But mostly, a great cancel system equals depth, and allows the player to be super creative, which helps increase the fun and sense of achievement.
Here some thoughts on the top three games in the action adventure genre, in no particular order:
Ninja Gaiden, Devil May Cry, and
God of War. (Placing the game I worked on for nearly 4 years in the top three will surely drum up some interesting comments - can’t wait. This is why I do not write about the games I work on, if at all possible.)
Getting Technical With Ninja Gaiden
Ninja Gaiden is very strict when it comes to canceling - so strict, in fact, that not a single animation that I am aware of can be canceled Pre-hit frame. I feel this is a great rule when trying to build a solid foundation for the combat gameplay, but it also adds to the difficulty. The player knows, when they press a button to attack, it must complete its hit frame before another animation can take place.
Here's a funny thing about that rule: it is so true that the player cannot even pause the game, because they could swap weapons and cancel before the hit. Don’t believe me? Try it out. The game is made to be hardcore, and for the hardcore, so they use rules that help establish a fair play field if the player is willing to learn the system to the point of flawless execution. I applaud Itagaki and Team Ninja for their effort and contribution to the genre!
Devil May Cry In Style
Devil May Cry follows many of the same rules that
Ninja Gaiden does, but in true Capcom fashion, they have to drop the style bomb all over rules and add in some broken stuff just for fun.
The main cancel system that drives
DMC is the alteration between Melee and Projectile attacks. I believe that all Melee attacks are all Post-hit frame cancels, and the Projectile attacks are governed by the rate of fire. Since there are between 5-6 Melee and Projectile weapons, the combinations create quite the learning curve. When you add in the styles, the possibilities are staggering. Depth is the result - but in a much more chaotic and flashy manner then the technical presentation found in
Ninja Gaiden.
There is no doubt that
DMC is an acquired taste, from the dark, moody art to wisecracking, cocky Dante himself. Nevertheless, when you get it, you
get it, and the rabid fans of this series will always let you know they get it!
God Of War And Its Intended Audience
God of War, unlike the other two games, allows for many Pre-hit frame cancels, and incorporates several of the methods found in the other two games. The main difference is that it is not trying to be a hardcore game from either a technical or flashy point of view. It’s just smash-and-kill fun.
It still has some goodies tossed in under the hood, of course, for the fans of the other games that gave us a shot while they waited for the next installment of Ryu’s or Dante’s saga. The rules for canceling are all over the place - but for good reason. Our intended audience does not want to learn the techniques. They just want the game to play the way they think it should, because combat is not the only focus unlike the other two games.
So what about the L1+Button specials, and why can't they be canceled?
The moves in question are by far the strongest damage-inflicting attacks Kratos has that stem from a simple button command. They hit many creatures at once in most cases or leave the creature in a vulnerable state -- and in some cases, both. The moves also serve as a little flash, and make beginners feel really powerful when they see the blades spinning all over the place.
Like I said before, the other games only have Post-hit frame canceling, and use this to teach the player, "watch before you attack."
God of War allows almost all of the basic attacks be canceled anywhere, including Pre-hit frame, to make life easier on the player.
The L1+Button specials, though, possess enormous damage potential in certain situations, and thus are not able to be canceled until Post-hit frame for balance reasons (infinite lock down loops, mostly). Moreover, for novice players, they are used to teach the concept of risk vs. reward, without placing this burden on the basic combat, which would make the game much harder for the average player.
I know this can be argued from many different angles with regards to balancing - but trust me, I have heard them all, and this was the decision we made. Feel free to tell me how foolish we were anyhow.
At the end of the day, you have to look at your intended audience, and I think we captured our audience the best we could. To those that were left upset and disappointed because of 4 little moves in the game that cannot be canceled earlier, then I am sorry you missed a much greater experience.
It’s easy to say
God of War is flawed, but the fact remains that it is the only American action-adventure game ever to get the attention of the Japanese. I grew up playing their games, and wanted to make a game that felt like a Japanese game, but played balls-out like an American movie, and
God of War allowed me to do that. It is not perfect, but it spoke to some people, and that is all we can hope for as game developers.
By the way,
God of War has some serious fun with cancels. Press square once, then try any of the following if you don’t believe me.
Walk (Navigation) = Post-hit frame
Jump = Pre-hit frame
Roll (Evade) = Pre-hit frame
Magic = Pre-hit frame
Throw = Pre-hit frame
Guard (Parry / Block) = Pre-hit frame
Weapon Swap = Post-hit frame"
[This article was adapted from a piece originally printed on Eric's 'Pushing Buttons' weblog - thanks to Eric for permission to reprint it here.]