Research:Traditional Capcom

From mugen-net
Jump to navigation Jump to search

The purpose of this article is to collect various notes for mechanics and implementations in traditional Capcom fighting games. The era of traditional Capcom fighters is generally considered to be from Street Fighter II: World Warrior (1991) to Street Fighter IV (2008, non-inclusive).

Common Observations[edit]

Capcom fighting games never use multiplication on vector types (position, velocity), meaning no friction is ever applied to them. Instead, Capcom uses acceleration and deceleration to slow down velocities and position changes.

Hitbox Standards[edit]

Street Fighter II Ryu's idle stance, displaying the typical 3 hurtbox configuration.

Every Capcom game has at a minimum the following box types: hurt boxes, attack box, throw box, and push box. Every ground animation has at least 3 hurt boxes: a head box, a body box, and a leg box. Aerial moves typically have 1-2 hitboxes, though some moves may use 3. The hit animation that plays when a character gets hurt is dependent upon which box is hit (except in M.U.G.E.N where it is not possible without a lot of work). Parrying in Street Fighter III: 3rd Strike also uses hitboxes to determine which types of moves can be parried when a move makes contact.

There is only 1 push box, and in most games, there can only be at most 1 attack box.

Properties of Capcom radial rectangles.

With the exception of the Warzard and Street Fighter III Series, the hitboxes are radial rectangles, defined by an X radius, a Y radius, an X pos, and a Y pos. The X and Y radii are unsigned bytes, whereas the X pos and Y pos are signed bytes. This means that all lengths and heights are effectively even, though an element with a nonzero X radius and a Y radius of 0 will yield a hitbox that is 1px in height. Likewise, an element with a nonzero Y radius and an X radius of 0 will yield a hitbox that is 1px in width. Note that these two scenarios are the only exceptions to the rule. Thus, the unit hitbox for most traditional Capcom games is a 2✕2 rectangle with an X radius of 1, a Y radius of 1, an X pos of 0, and a Y pos of 0. When translated to L,T,R,B coordinates, the values are -1,-1,1,1.


Street Fighter II Series[edit]

For Zangief's throw to connect, his yellow throwbox must overlap Ryu's white throwable box.

The Street Fighter II series of games includes an additional hitbox type: throwable box. The throwable box is used to determine the region from which the character can be thrown. Later games simply use the push box as a throwable region. These throwable boxes vary in size by character and tend to be quite large, which is one reason why SF2's throw ranges are so large compared to later games.

One oddity of Street Fighter II's hurtboxes is that the leg hurtbox in the standing guard pose determines what can't be blocked high. This leads to issues such as certain normals being able to be blocked high by some characters but not others, or normals being able to break high guard depending on how they are aimed. All subsequent games simply use an flag in the attack data to determine how it can be blocked, and as such these issues were removed.

Marvel Series[edit]

Like the Street Fighter II games, this series also has a throwable box, though this is almost unnoticeable since nearly every throwable box is identical to the push box anyway.

Marvel characters also may have one additional hurt box defined as an extension box, typically for long-ranged attacks, and may have more than one attack box.

Warzard and Street Fighter III Series[edit]

Warzard and SF3 follow different standards for hitboxes from any other traditional Capcom game. In addition to the standard boxes, characters may have more than one attack box, and more than 3 hurt boxes. There is also a new "trading" type, which work like a combination of a hurt box and an attack box. They are assigned a numeric priority to determine which attacks beat out others, and always lose to regular attack boxes.

Renda, aka. Rapid-Fire[edit]

Certain standing and crouching light normals in Capcom games have a property that allows them to cancel repeatedly into themselves, or into other normals using the same button. This is generally known as "Renda," or "Rapid-Fire." This property is applied on a move-per-move basis. It is generally possible during the entire active and recovery phases of the attack, and can be done regardless of whether the attack whiffs or makes contact. Typically a move with this property can renda into itself or into other ground normals that are performed with the same button (regardless of whether the other normal shares the renda property.) It is also possible to renda from a standing normal to a crouching normal and vice-versa. Unlike normal to special cancels, the input is typically not accepted during hitpause, meaning that the timing for contacted rendas is both later and stricter in comparison. Certain games apply special properties to normals that have been renda'ed into, such as Vampire Savior which grants them medium hitstun. Rendas, in MUGEN terms, are animElem based and typically occur starting from the first active attack frame (there are some exceptions such as Sasquatch's c.MP renda error in Vampire Hunter), not time-based as many authors tend to get incorrect, so in other words, the quicker your frames of startup leading to the first active attack frame, the quicker you can renda.

"Raging Demon" Inputs[edit]

Certain supers in Capcom games use an unusual type of command that involves multiple successive button presses. These are often known as "Raging Demon"-style inputs, after Akuma's super which is activated by a "LP, LP, Forward, LK, HP" command. Any super using this style of input has a special property: it is able to cancel any normal attack at any point of its animation, all other rules disregarded. This was likely done for practicality reasons, as otherwise these supers would be very difficult to perform due to the character likely being in the middle of a normal triggered by one of the previous button presses at the time the command was completed. However this opens up further uses for these supers, such as using them in combos and blockstrings in ways that no other attack could.

Hit Velocities[edit]

Traditional Capcom games are strange in that they do not use velocities for ground hits. Instead, a series of PosAdds is applied which decrease over time. Nishitani, one of the developers who worked on Street Fighter II, stated that this was because they could not get the hit behavior they desired otherwise[1]. Although it is tedious, it is possible to recreate this behavior in M.U.G.E.N with TargetVelSets and a custom state.

Air hit velocities and launchers, on the other hand, always use velocities.

Jump Physics[edit]

In general, Capcom characters' backward jumps have a higher horizontal velocity than their forward jumps. Thus backward jumps cover a longer horizontal distance than forward ones. This is a tradition that dates all the way back to Final Fight. The initial vertical velocity also varies between forward, neutral and backward jumps. Both forward and backward jumps also tend to include a very small horizontal deceleration value, which causes the character's horizontal speed to slowly decrease over the course of the jump arc.

Life[edit]

Most CPS-era games (and MvC2) give characters a total of 144 life points, where one point directly correlates to one pixel of the lifebar graphic. Note that technically 145 points of damage must actually be dealt to KO a character, as the life value must go below 0. Hence the situations where a character can still be alive with a completely empty lifebar. Although all characters in games using this standard have the same amount of health, they usually have different defense modifiers that adjust how much damage they take from opponents' attacks. This is in contrast to later games where different characters simply start out with different amounts of health.

Guts[edit]

Since Street Fighter II, a system commonly known as the "Guts" system has been in place that causes characters whose life has fallen below a certain threshold to take reduced damage. This helps ensure that you can have a fighting chance even when your life is low. The exact specifics vary considerably per game. For example, Street Fighter II has a universal system consisting of multiple successive thresholds, each of which grant a larger reduction in damage when passed. Vampire Savior however has a single threshold set per character, each of which grants a character-specific amount of reduction when passed.

Combo Scaling[edit]

From X-Men: Children of The Atom onward, as combo systems became more complex and more integral to Capcom's fighting games, a system was implemented that gradually reduced damage over the course of a single combo so as to prevent easy touch of death combos. Although the specifics vary, the general rule is that the current hit count of the combo factors into each hit's damage, with the reduction becoming higher as the hit count increases. Other factors may also play into the exact amount of reduction. For example a normal that comprises the 5th hit of a combo may have its damage reduced by a larger fraction than a super that comprised the 5th hit of a combo.

Note that games prior to X-Men (all versions of Street Fighter II and the original Darkstalkers) had no combo scaling whatsoever, meaning an attack will do just as much damage as the 20th hit of a combo as it would raw.

Animations[edit]

Two defining characteristics of Capcom fighters are its colorful, detailed, anime-style sprites and fluid, expressive animations. Some animation frames are even allowed to continue through a hitpause for stylistic reasons, although they have functional side effects such as increased frame advantage. In this case, the hitpause continues to count down as the animation plays and the remaining hitpause is transferred to one of the subsequent elements. This is important to many characters, as some links are only possible when the animation is allowed to play through the hitpause, such as Kyosuke's Close s.LP > Close s.HP in CvS2.

Coordinate Space[edit]

Nearly all traditional Capcom games use an underlying coordinate space of 384✕224, even when the output resolution is 480p. The only exceptions to this are Marvel vs. Capcom 2, which uses a 480p coordinate space, and Capcom vs. SNK 2, which uses an underlying coordinate space of 358✕224 for its position data (with the exception of hitboxes). As such, most sprites are also designed for the 384✕224 resolution with the exception of the new Capcom vs. SNK series sprites, which are 240p (and in some cases, old sprites are manually scaled).