Hitstop in Capcom Beat ‘Em Ups
Introduction
Hitstop is a short pause (usually only a few frames) in a game’s animation and physics when an impact occurs. In the context of melee combat, which is the focus of this post, it refers to a pause in the animation and physics of both the attacking character and the attacked character. Hitstop is an effective and widely-used technique to emphasize impacts during combat and make them feel more visceral.
I’m not sure the first game to have hitstop (it’s an interesting historical question for another post), but you might consider screen freezes and related effects in much older games to be the ur-version of this technique. In the context of arcade fighting games, it is interesting to note that even Capcom’s original Street Fighter (1989) did not have hitstop.
Super Smash Bros. designer Masahiro Sakurai has underlined the importance of hitstop for fighting games in a number of interviews and YouTube videos. I direct the interested reader to the resources found here.
In this post, we explore the uses of hitstop across all of Capcom’s arcade beat ‘em ups to see how they compare and contrast.
I think this is a useful exercise, comparable to how an art historian might trace the evolution of a certain technique across an artist’s oeuvre in order to gain a better understanding and appreciation of it, and to better apply the technique themselves.
Capcom undoubtedly produced the finest beat ‘em ups ever made, so taking a look at the evolution and variations of the technique in their work seems like a worthwhile endeavor for the gaming historian and beat ‘em up connoisseur alike.
We will analyze the entire Capcom arcade beat ‘em up ouvre, which includes the following 12 games:
Final Fight (1989)
Captain Commando (1991)
The King of Dragons (1991)
Knights of the Round (1992)
Warriors of Fate (1992)
Cadillacs & Dinosaurs (1993)
The Punisher (1993)
Armored Warriors (1994)
Alien vs. Predator (1994)
Dungeons & Dragons: Tower of Doom (1994)
Dungeons & Dragons: Shadow Over Mystara (1996)
Battle Circuit (1997)
We will ignore Capcom’s non-arcade beat ‘em ups like Mighty Final Fight (1993) on NES, and Final Fight 2 (1993) and Final Fight 3 (1995) on SNES. After reading this post, I encourage the interested reader to analyze these games themselves and report their findings in the comments below.
Important Distinctions
Hitstop must be differentiated from hitstun, which is a dedicated state with its own animation that the attacked character enters when damaged. Most beat ‘em ups have two hitstun variants (usually a backward one and forward one), each composed of a single frame, and which hitstun state the damage character enters depends on which attack causes the damage. For example, jabs tend to result in the damaged character entering a backwards hitstun, whereas crosses and uppercuts tend to result in the damaged character entering a forwards hitstun. These different frames allow combat to feel more interesting than if there was a single state, creating a sense that the opponent is reacting to your blows. Further, the damaged character being forward before their knockback frame (which is naturally backward), makes the knockback itself feel more impactful.
[INSERT IMAGE]
Backward and forward hitstun frames in Final Fight
In all Capcom beat ‘em ups, the hitstop occurs immediately on impact, and in most circumstances this means the attackee will be on the first frame of their hitstun state. The exception occurs in some games when death blows or attacks like combo enders that cause dedicated knockback do not first send the attackee to hitstun but instead send them directly into a knockback state (this contrasts with other games which choose to have a few frames of hitstun state before knockback). In these cases, the hitstop will occur on the first frame of the knockback state.
Regarding implementation of hitstop, a naive implementation would simply freeze the entire game for some number of frames. A more nuanced implementation would instead pause the update loops for the attacker and attackee for some number of frames, leaving non-involved game objects to continue updating. All Capcom beat ‘em ups do something like the more advanced technique I describe above, evidenced by the fact that other game objects can be observed moving when attacker and attackee are experiencing hitstop.
There is, however, one caveat to the definition that attacker and attackee pause during hitstop. Some capcom beat em ups (for example, Final Fight) also have sprite shake during hitstop, such that, on impact, the damaged sprite moves left/right a certain number of times. In a modern game engine, you might implement this by pausing the update and animation logic on the character, but letting the update logic of a sprite shaker component on the character’s sprite object continue to run.
Strategy
For our analysis, we will assume that all attack animations are composed of windup, active, and recovery phases. The windup phase is when the attacker is preparing to attack (for example, drawing their arm back), the active phase is when the attacker is attacking (for example, the arm is thrust fully forward), and the recovery phase is when the attacker is following through and/or returning back to their idle. We assume that attack boxes always activate on the first frame of the active phase. Further, many beat ‘em ups allow players to cancel out of their attack states by pressing input during the attack’s recovery phase (for example, the player may press input during recovery phase to immediately start the next attack in a combo string, or jump, or even just begin walking). Any time input results in a character exiting out of a state which normally exits automatically after an animation I call early exiting. It should be noted that some beat ‘em ups also allow characters to early exit out of land animations and other animations.
We will mostly gloss over the fact that some attacks have multiple attack boxes and that all evidence points to attack boxes being implemented in such a way that they are distinct objects that get activated on distinct frames, rather than a single object that changes properties over time.
My general strategy for measuring hitstop in beat ‘em ups is the following.
For ground attacks, count the frame duration of the active keyframe in the case where the attack does not connect and compare that with the frame duration of the active keyframe in the case where the attack connects. The difference between the frame durations is the hitstop duration. This methodology works well for ground attacks with a single attack box (with the exception of games like Captain Commando where the duration of the active animation actually seems to be significantly extended when the attack connects).
For air attacks, count the number of frames that the attacker stops moving in air.
For ground attacks which have some kind of impulse that moves the attacker, count the number of frames that the attacker stops moving.
For characters thrown into other characters, count the number of frames that the thrown character stops moving in air.
Goal
Now that we know what hitstop is and how to measure it, let’s declare the fundamental questions we aim to answer about each game.
Does the game use a single hitstop duration or multiple?
If the game uses multiple hitstop durations, what variables determine the durations (for example, does hitstop vary with attack type, player character type, enemy character type)
Results
Below I will list the results of my analysis of each game, with notes and observations.
Final Fight (1989) has a universal hitstop duration of 6 frames. This means that 6 frames of hitstop is applied on every attack for every character.
Each attack of the basic combo string has 6 frames of hitstop.
Heavy air attacks (forward, neutral) have 6 frames of hitstop.
Light air attack (down) has 6 frames of hitstop.
When a player character is knocked out of the air by an enemy attack, there is 6 frames of hitstop.
When one character is thrown into another, there is 6 frames of hitstop on both the thrown character and the character that is collided with.
The hitstop is the same whether the attack is fatal or non-fatal, for both light and heavy attacks.
The King of Dragons (1991) does not have any hitstop with the exception of when the player is damaged by an enemy while grounded, in which case there is something like 8 frames of hitstop before the player gets pushed backward. I confirmed this across Fighter, Cleric, and Dwarf (I did not bother to look at the other playable characters).
There is no combo string in this game, nor can characters be thrown into each other.
Captain Commando (1991) seems to have a universal hitstop duration of 8 frames, but with some caveats.
Attacks in the basic combo string are difficult to analyze because when an attack connects, the actual animation seems to be extended, outside of mere hitstop.
Interestingly, when attacks in the basic combo string connect, the enemy maintains their current state's sprite and only enter their hitstun sprite after 8 frames, perhaps suggesting 8 frames of hitstop.
That said, when ANY attack from the basic combo is fatal, enemies enter their hitstun animation immediately for a single frame before switching to knockback anim and starting their knockback trajectory.
Forward and neutral air attacks when fatal or non-fatal have 8 frames of hitstop, whereas down air attacks when non-fatal have 8 frames of hitstop but when fatal only have 1 frame of hitstop.
When a player character is knocked out of the air by an enemy attack, there is 8 frames of hitstop.
When one character is thrown into another, there is 0 frames of hitstop on the thrown character, but 8 frames of hitstop on the character that is collided with.
Given the complications mentioned above, it is hard to tease out all the details about the hitstop in this game.
Knights of the Round (1991) seems to have a universal hitstop of 6 frames on ground attacks and 7 frames on the single air attack in the game.
There is no combo string in this game, nor can characters be thrown into each other.
Warriors of Fate (1992) seems to have different hitstop durations for different attacks.
For example, the jab has 5 frames of hitstop, the forward air attack 4 frames, thrown enemies 0 frames (on both the thrown enemy and the enemy knocked down), 2 frames per impact on the super joy, and 5 frames when player characters are knocked out of the air by enemy attacks.
The Punisher (1993) is difficult to analyze, but in a different way from Cadillacs & Dinosaurs.
In short, the duration of hitstop experienced by attackers seems to differ from that experienced by attackees, and attackers seem to begin their hitstop immediately on impact, whereas enemies start it a frame or two after impact.
For the attacker, jab causes 6 frames of hitstop when non-fatal and 6 frames of hitstop when fatal, but for the attackee there seems to be 8 frames of hitstop in both cases.
For the attacker, cross causes 8 frames of hitstop when non-fatal and 8 frames of hitstop when fatal, but for the attackee there seems to be 10 frames of hitstop in both cases.
For the attacker, the combo ender causes 9 frames of hitstop when non-fatal and 9 frames of hitstop when fatal, but for the attackee there seems to be 11 frames of hitstop in both cases.
for the attacker, air attacks (forward and neutral is the same attack, and there is no light down attack) cause 10 frames of hitstop when non-fatal and 10 frames of hitstop when fatal, but for the attackee there seems to be 11 frames of hitstop in both cases.
On fatal attacks, the enemy immediately enters their knockback state, but do not start moving until after the hitstop.
For enemies thrown into other enemies, there is 11 frames of hitstop on the thrown enemy and 11 frames of hitstop on the enemy that is knocked down by the collision.
When a player character is knocked out of the air from an enemy attack, there is 0 frames of hitstop.
Extra joy seems to cause an additional 22 frames in the extra joy animation, but only 16 frames of hitstop on the enemy.
[…]
Conclusion
After exploring hitstop across Capcom’s arcade beat ‘em ups, we begin to understand the complexity of analyzing what seem at first glance like simple features or techniques. Although I am less than fully confident in the methodologies I have used and the data I have collected, I hope this exploration at least helps advance this style of inquiry into games, and perhaps sheds some light on how Capcom went about programming hitstop logic in their games.
Future Research
The obvious inadequacies in the methodology I outlined above and the results it yielded make it clear that a more promising direction to advance this inquiry would be to inspect the source code for these games and determine beyond a shadow of a doubt how the hitstop works in them. If anyone has the ability to undertake such an approach and the interest to do it, please do and share your findings with me.
Aside from that, a natural next line of inquiry would be to compare and contrast other elements of game feel in these games.
For example, I would like to see a similar analysis of the duration of hitstun states, the trajectories of knockbacks, and the durations of supine and wake up states.
I will leave these questions for the future.