Super Smash Bros. series

Hitbox: Difference between revisions

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
No edit summary
Line 3: Line 3:
[[File:Mewtwo Up Aerial Hitbox Melee.gif|thumb|200px|right|An example of offensive and damageable collision bubbles in ''Melee'', as demonstrated with {{SSBM|Mewtwo}}'s up aerial. Yellow bubbles are collision bubbles, and red bubbles are hitbox bubbles.]]
[[File:Mewtwo Up Aerial Hitbox Melee.gif|thumb|200px|right|An example of offensive and damageable collision bubbles in ''Melee'', as demonstrated with {{SSBM|Mewtwo}}'s up aerial. Yellow bubbles are collision bubbles, and red bubbles are hitbox bubbles.]]


A '''hitbox''' or '''collision bubble''' (sometimes '''hitbubble''') is the main structure for how attacks are executed in most fighting games. Attacks have one or more hitboxes associated with them, and when these hitboxes overlap with a target's damageable area (sometimes called their '''hurtbox''' or '''hurtbubbles'''), the attack is considered a hit. Hitboxes are invisible and usually, though not always, have the same shape as the attack's animation.
A '''hitbox''' or '''collision bubble''' (sometimes '''hitbubble''') is the main structure for how attacks are executed in most fighting games. Attacks have one or more hitboxes associated with them, and when these hitboxes overlap with a target's damageable area (often called their '''hurtbox''' or '''hurtbubbles'''), the attack is considered a hit. Hitboxes are invisible and usually, though not always, have the same shape as the attack's animation.


==Overview==
==Overview==
The two most common forms of hitbox shapes in video games are {{iw|wikipedia|cuboid}}s and spheres. Neither is obviously better than the other - cuboids can more easily form long or thin attacks or targets, while spheres are easier to calculate collision detection for. ''[[Smash 64]]'' uses cuboids whereas ''[[Melee]]'', ''[[Brawl]]'', ''[[SSB4]]'', and ''[[Ultimate]]'' use spheres and sphere-like structures known as capsules (cylinders with spheres on the ends).
[[File:SSBU Training Hurtboxes.png|thumb|250px|right|''[[Super Smash Bros. Ultimate]]''{{'}}s [[Training mode]] displaying hurtboxes for invulnerability: {{SSBU|Mario}} is [[invincible]] due to a [[Super Star]], while {{SSBU|Ridley}}'s wing, head, and arm are [[intangible]] due to his [[up tilt]].]]
The two most common forms of hitbox shapes in video games are {{iw|wikipedia|cuboid}}s and spheres. Neither is obviously better than the other - cuboids can more easily form long or thin attacks or targets, while spheres are easier to calculate collision detection for. ''[[Smash 64]]'' uses cuboids whereas ''[[Melee]]'', ''[[Brawl]]'', ''[[Smash 4]]'', and ''[[Ultimate]]'' use spheres and sphere-like structures known as capsules (cylinders with spheres on the ends).


In ''Smash 64'', hacks can enable hitbox visibility (with a few limitations), such as in [[Media:SSB Hurtboxes.png|this image]]. In ''Melee'', hitboxes can be seen by setting DBLEVEL to [[Debug menu (SSBM)/DEVELOP mode|DEVELOP]] in the {{SSBM|debug menu}}. There is no easy way to display hitboxes in-game in ''Brawl'', ''SSB4'' or ''Ultimate'', though a common technique in ''Brawl'' is to use hacks to place [[Super Scope]] shot visuals where the hitboxes are (which is significantly more involved a process and generally fails for any [[projectile]] or [[item]]).
In ''Smash 64'', hacks can enable hitbox visibility (with a few limitations), such as in [[Media:SSB Hurtboxes.png|this image]]. In ''Melee'', hitboxes can be seen with the {{SSBM|debug menu}} if set to [[Debug menu (SSBM)/DEVELOP mode|DEVELOP]], though accessing it requires a cheating device. There is no easy way to display hitboxes in-game in later games, though a common technique in ''Brawl'' is to use hacks to place [[Super Scope]] shot visuals where the hitboxes are (which is significantly more involved a process and generally fails for any [[projectile]] or [[item]]). ''Ultimate''{{'}}s [[Training mode]] natively includes an option to display characters' hurtboxes when [[invincible]] or [[intangible]], though only their portions that overlay with the character's model are shown, rather than their true shapes.


Should multiple hitboxes of a single move connect with the opponent, only one of them will count. The order of precedence is known as the "hitbox stack" - hitboxes higher in the stack will override ones lower should they both hit at the same time. Mechanically, this is denoted by giving each hitbox an ID number, and lower numbers indicate higher precedence (higher stack position). For example, Marth's down aerial in ''Melee'' features its tipper hitbox on top of the stack, so hitting with both a tipper and non-tipper hitbox will result in the tipper counting (even if the majority of the opponent was hit by the other hitboxes). By contrast, the move in ''Brawl'' has the tipper on the bottom, so the tipper can only hit if none of the other hitboxes do. As a result, even through the sizes and positions of the hitboxes did not change much between games, the tipper is simple to hit with in ''Melee'' while being difficult in ''Brawl''.
Should multiple hitboxes of a single move connect with the opponent, only one of them will count. The order of precedence is known as the "hitbox stack" - hitboxes higher in the stack will override ones lower should they both hit at the same time. Mechanically, this is denoted by giving each hitbox an ID number, and lower numbers indicate higher precedence (higher stack position). For example, [[Marth]]'s [[down aerial]] in ''Melee'' features its [[tipper]] hitbox on top of the stack, so hitting with both a tipper and non-tipper hitbox will result in the tipper counting, even if the majority of the opponent was hit by the other hitboxes. By contrast, the move in ''Brawl'' has the tipper on the bottom, so the tipper can only hit if none of the other hitboxes do. As a result, even through the sizes and positions of the hitboxes did not change much between games, the tipper is more difficult to hit in ''Brawl'' than in ''Melee''.


{{anchor|Disjointed hitboxes}}
{{anchor|Disjointed hitboxes}}
Hitboxes that are separated from a character's hurtboxes are often called '''disjointed''', which is usually an advantage, as they can connect from a farther distance, while keeping the attacker safer from retaliation and reducing the likelihood of trading blows. Examples of disjointed hitboxes include most weapon-based attacks, and more infamously the [[up tilt]]s of {{SSB|Kirby}} in ''Smash 64'' and {{SSBB|Snake}} in ''Brawl'' as well as some of {{SSBU|Joker}}'s moves when using Arsene.
Hitboxes that are separated from a character's hurtboxes are often called '''disjointed''', which is usually an advantage, as they can connect from a farther distance, while keeping the attacker safer from retaliation and reducing the likelihood of trading blows. Examples of disjointed hitboxes include most weapon-based attacks, and more infamously the [[up tilt]]s of {{SSB|Kirby}} in ''Smash 64'' and {{SSBB|Snake}} in ''Brawl'', as well as some of {{SSBU|Joker}}'s moves when using Arsene.


An interesting property of hitboxes in the ''Super Smash Bros.'' series is that under most conditions, they occupy not only the space where they currently are, but also the space where they were one [[frame]] ago as well as all the space in between (in a straight line, regardless of what the animation might look like during intervening subframes). This characteristic, known as '''interpolation''', helps to prevent situations where a fast projectile may end up passing through a character in less than a frame without hitting them. On the other hand, hurtboxes do not interpolate in this way, so a fast-moving object (such as Fox during his [[Fox Illusion|Illusion]]) may be able to move through a slow or stationary hitbox without being damaged. In addition, certain hitboxes from ''Brawl'' onward use a stretch effect to create a very long hitbox, for example in {{b|Zero Laser|Samus}} and [[Aura Storm]], instead of interpolating. It is unclear how this hitbox-stretching mechanism operates when time is slowed via [[training mode]] or other effects, as the games render subframes, whereas ''Smash 64'' and ''Melee'' simply reduce the overall framerate.
An interesting property of hitboxes in the ''Super Smash Bros.'' series is that under most conditions, they occupy not only the space where they currently are, but also the space where they were one [[frame]] ago, as well as all the space in between (in a straight line, regardless of what the animation might look like during intervening subframes). This characteristic, known as '''interpolation''', helps to prevent situations where a fast projectile may end up passing through a character in less than a frame without hitting them. On the other hand, hurtboxes do not interpolate in this way, so a fast-moving object (such as [[Fox]] during his [[Fox Illusion|Illusion]]) may be able to move through a slow or stationary hitbox without being damaged. In addition, certain hitboxes from ''Brawl'' onward use a stretch effect to create a very long hitbox, for example in {{b|Zero Laser|Samus}} and [[Aura Storm]], instead of interpolating. It is unclear how this hitbox-stretching mechanism operates when time is [[slowdown|slowed]] via Training mode or other effects, as the games render subframes, whereas ''Smash 64'' and ''Melee'' simply reduce the overall framerate.


===Hitboxes in three dimensions===
===Hitboxes in three dimensions===
[[File:3D Hitboxes in Melee.png|thumb|250px|right|While the regular camera suggests Mario should have been hit already, a side view shows otherwise.]]
[[File:3D Hitboxes in Melee.png|thumb|250px|right|While the regular camera suggests Mario should have been hit already, a side view shows otherwise.]]
It is a common misconception that, like some other fighting games, hitboxes and hurtboxes only operate in two dimensions. In actuality, they interact in all three dimensions equally, even though the majority of gameplay elements are restricted to two-dimensional movement. As a result, ''Super Smash Bros.'' is more accurately described as a [[wikipedia:2.5D#3D games with a two-dimensional playing field|2.5D]] game.
It is a common misconception that, like in most other fighting games, hitboxes and hurtboxes only operate in two dimensions. In actuality, they interact in all three dimensions equally, even though the majority of gameplay elements are restricted to two-dimensional movement. As a result, ''Super Smash Bros.'' is more accurately described as a [[wikipedia:2.5D#3D games with a two-dimensional playing field|2.5D]] game.


Notable examples of unexpected behavior due to the 3D nature of hitboxes include:
Notable examples of unexpected behavior due to the 3D nature of hitboxes include:
*Animations where characters lean sideways can result in attacks missing them. King Dedede's [[sidestep]] in ''[[Brawl]]'' is a notorious example, allowing him to dodge attacks with narrow hitboxes even after his intangibility ends.
*Animations where characters lean sideways can result in attacks missing them. King Dedede's [[spot dodge]] in ''[[Brawl]]'' is a notorious example, allowing him to dodge attacks with narrow hitboxes even after his intangibility ends.
*Attacks that swing in a horizontal arc can hit characters of different widths at different times. For example, Peach's [[neutral aerial]] in ''[[SSB4]]'' usually hits Zero Suit Samus a frame later than most other characters. Similarly, Yoshi's running [[grab]] in ''[[Melee]]'' is so off to the side of the playing plane that it often misses a stationary Zelda completely.
*Attacks that swing in a horizontal arc can hit characters of different widths at different times. For example, Peach's [[neutral aerial]] in ''[[Smash 4]]'' usually hits Zero Suit Samus a frame later than most other characters. Similarly, Yoshi's running [[grab]] in ''[[Melee]]'' is so off to the side of the playing plane that it often misses a stationary Zelda completely.


When playing on a two-dimensional stage such as [[Flat Zone]], many of these quirks disappear, due to characters being almost completely flattened along the camera's axis. However, some new quirks can arise: if hitboxes are produced when an arcing attack is normally not yet in the playable plane, the flattening effect results in them being able to hit earlier than expected. It is also important to note that only the characters are flattened; their hitboxes and hurtboxes continue to operate as three-dimensional objects in a three-dimensional world, so maneuvers such as using the [[Dragoon]] are not affected.
When playing on a two-dimensional stage such as [[Flat Zone]], many of these quirks disappear, due to characters being almost completely flattened along the camera's axis. However, some new quirks can arise: if hitboxes are produced when an arcing attack is normally not yet in the playable plane, the flattening effect results in them being able to hit earlier than expected. For example, [[Charizard]]'s [[forward tilt]] in ''Smash 4'' can land its [[flame]] hitbox sooner than usual. It is also important to note that only the characters are flattened; their hitboxes and hurtboxes continue to operate as three-dimensional objects in a three-dimensional world, so maneuvers such as using the [[Dragoon]] are not affected.


Players tend to refer to any unexpected behavior of this nature as fault of the "z-axis", as z traditionally refers to the third dimension in a three-dimensional environment. This tends to result in confusion when character moveset data is decoded, as while the camera's axis is indeed along the z-axis of stages, for characters and most other gameplay objects, the z-axis is the one that points forwards.
Players tend to refer to any unexpected behavior of this nature as fault of the "z-axis", as z traditionally refers to the third dimension in a three-dimensional environment. This tends to result in confusion when character moveset data is decoded, as while the camera's axis is indeed along the z-axis of stages, for characters and most other gameplay objects, the z-axis is the one that points forwards.
{{clr}}
{{clr}}


==Hitbox types==
==Hitbox types==
[[File:HitboxBubblesSSBM.png||thumb|250px|right|The different types of hitboxes and hurtboxes visualized in ''Melee''.]]
{|class="wikitable" align="center"
{|class="wikitable" align="center"
!Hitbox Type!![[Debug menu (SSBM)/DEVELOP mode|Debug mode]] Colour!!Explanation
!Hitbox Type!![[Debug menu (SSBM)/DEVELOP mode|Debug mode]] Colour!!Explanation
|-
|-
|Offensive||style="background:rgba(255,0,0,0.5)"|Red||The standard type of attacking hitbox. From ''Brawl'' onward, there are various types of offensive hitboxes, some of which have unique abilities (like the ability to ignore [[shield]]s).
|Offensive||style="background:rgba(255,0,0,0.5)"|Red||The standard type of attacking hitbox. From ''Brawl'' onward, there are various types of offensive hitboxes, some of which have unique properties (like the ability to ignore [[shield]]s).
|-
|-
|Damageable||style="background:rgba(255,255,0,0.5)"|Yellow||The standard type of damageable area, also known as hurtboxes. Characters have a variety of these attached to their bodies, while damageable stage areas (such as the wedge of ice on the [[Summit]]) and non-playable entities (like [[enemies]] and [[boss]]es) use them as well.
|Damageable||style="background:rgba(255,255,0,0.5)"|Yellow||The standard type of damageable area, also known as hurtboxes. Characters have a variety of these attached to their bodies, while damageable stage areas (such as the wedge of ice on the [[Summit]]) and non-playable entities (like [[enemies]] and [[boss]]es) use them as well.
|-
|-
|Invincible||style="background:rgba(0,255,0,0.5)"|Green||Invincible targets can be hit by attacks but will not flinch or take any damage or knockback. For example, this occurs for characters that have just stepped off a [[revival platform]], or who have used a [[Starman (item)|Star]].
|Invincible||style="background:rgba(0,255,0,0.5)"|Green||Invincible targets can be hit by attacks, but do not take any [[damage]] or [[knockback]] from them. For example, this occurs for characters that have just stepped off a [[revival platform]], or have acquired a [[Super Star]].
|-
|-
|Intangible||style="background:rgba(0,0,255,0.5)"|Blue||Intangible targets cannot be hit by attacks. This occurs during [[dodge]]s and [[roll]]s. Various characters have attacks which provide parts of their body with intangibility, such as Mario's head during his [[up smash]].
|Intangible||style="background:rgba(0,0,255,0.5)"|Blue||Intangible targets cannot be hit by attacks. This occurs during actions such as [[dodge]]s, [[tech]]s, and [[ledge]] getups. Various characters' attacks provide certain parts of their body with intangibility, such as Mario's head during his [[up smash]].
|-
|Grab||style="background:rgba(255,0,255,0.5)"|Magenta||[[Grab]] hitboxes ignore any special or defensive hitboxes.
|-
|Shield||style="background:rgba(0,255,255,0.5)"|Cyan||Defensive hitboxes that [[shield]] attacks, unless they are grabs or unblockable. Also used by moves such as most [[counterattack]]s.
|-
|-
|Reflective||style="background:rgba(0,255,127,0.5)"|Aqua||Defensive hitboxes that [[reflect]] attacks.
|Reflective||style="background:rgba(0,255,127,0.5)"|Aqua||Defensive hitboxes that [[reflect]] attacks.
|-
|Shield||style="background:rgba(0,255,255,0.5)"|Cyan||Defensive hitboxes that [[shield]] attacks.
|-
|-
|Absorbing||style="background:rgba(0,127,255,0.5)"|Cyan-blue||Defensive hitboxes that [[absorb]] attacks.
|Absorbing||style="background:rgba(0,127,255,0.5)"|Cyan-blue||Defensive hitboxes that [[absorb]] attacks.
|-
|-
|Grab||style="background:rgba(255,0,255,0.5)"|Magenta||[[Grab]] hitboxes will ignore any special or defensive hitboxes.
|Inert||style="background:rgba(191,191,191,0.5)"|Grey||Inert hitboxes are used for collision detection when a regular hitbox is unsuitable, such as the dash of [[Raptor Boost]] and [[Gerudo Dragon]].
|-
|Inert||style="background:rgba(191,191,191,0.5)"|Grey||Inert hitboxes are used for collision detection when a regular hitbox is unsuitable (such as the dash of [[Raptor Boost]] and [[Gerudo Dragon]]).
|}
|}


Line 71: Line 72:
|[[Angle]]||''Smash 64''||The hitbox's launch trajectory, coded in degrees. Usually a number from 0 to 360, and can rarely be negative numbers such as -90. Depending on the game, values from 361 to 368 are reserved for special angles, such as the [[Sakurai angle]] (the default angle for horizontal-launching moves) or [[autolink angle]].
|[[Angle]]||''Smash 64''||The hitbox's launch trajectory, coded in degrees. Usually a number from 0 to 360, and can rarely be negative numbers such as -90. Depending on the game, values from 361 to 368 are reserved for special angles, such as the [[Sakurai angle]] (the default angle for horizontal-launching moves) or [[autolink angle]].
|-
|-
|Knockback scaling||''Smash 64''||Also known as knockback growth. A factor in the knockback formula, generally determining the rate at which the hitbox's knockback rises as the target's damage increases, with the default being 100. For example, a value of 110 means knockback increases at a 1.1× rate compared to other hitboxes with the same damage and base knockback.
|Knockback scaling||''Smash 64''||Also known as knockback growth. A factor in the [[knockback]] formula, generally determining the rate at which the hitbox's knockback rises as the target's damage increases, with the default being 100. For example, a knockback scaling of 110 means knockback increases at a 1.1× rate compared to other hitboxes with the same damage and base knockback.
|-
|-
|Fixed knockback value||''Smash 64''||If not 0, causes the hitbox to deal a specific amount of knockback regardless of its damage or the target's, though it can still be modified by factors such as [[launch rate]] (prior to ''Smash 4'') or [[weight]].
|Fixed knockback value||''Smash 64''||If not 0, causes the hitbox to deal a specific amount of knockback regardless of its damage or the target's, though it can still be modified by factors such as [[launch rate]] (prior to ''Smash 4'') or [[weight]].
|-
|-
|Base knockback||''Smash 64''||A factor in the [[knockback]] formula, generally determining the minimum knockback the hitbox can apply, though not being the only factor (the hitbox's damage and knockback scaling are relevant as well).
|Base knockback||''Smash 64''||A factor in the knockback formula, generally determining the minimum knockback the hitbox can apply, though not being the only factor (the hitbox's damage and knockback scaling are relevant as well).
|-
|-
|Size||''Smash 64''||The hitbox's radius in units of distance.
|Size||''Smash 64''||The hitbox's radius in units of distance.
Line 89: Line 90:
|Groundness/Airness||''Smash 64''||Determines whether the hitbox can strike grounded opponents, aerial opponents, or both (or neither, but this is very rarely used). Attacks intended to have different behavior on grounded and aerial opponents (such as [[Samus]]' [[up tilt]] from ''Melee'' onward) generally use two hitboxes with the same placement, but differences in other properties as desired. In ''Ultimate'', hitboxes can also be set to not connect against [[Floor recovery|prone]] opponents, which is generally used for [[bury]]ing hitboxes.
|Groundness/Airness||''Smash 64''||Determines whether the hitbox can strike grounded opponents, aerial opponents, or both (or neither, but this is very rarely used). Attacks intended to have different behavior on grounded and aerial opponents (such as [[Samus]]' [[up tilt]] from ''Melee'' onward) generally use two hitboxes with the same placement, but differences in other properties as desired. In ''Ultimate'', hitboxes can also be set to not connect against [[Floor recovery|prone]] opponents, which is generally used for [[bury]]ing hitboxes.
|-
|-
|[[Shield damage]]||''Smash 64''||The hitbox's additional damage dealt to [[shield]]s; usually 0, which means the hitbox deals regular damage to shields (excluding the multiplier of 0.7× in ''Melee''/''Brawl'' and 1.19× in ''Smash 4''/''Ultimate''). Can also be a negative value to have hitboxes deal less damage to shields, though this is only used in ''Smash 64'', ''Melee'' and ''Ultimate''.
|[[Shield damage]]||''Smash 64''||The hitbox's additional damage dealt to [[shield]]s; usually 0, which means the hitbox deals regular damage to shields. Can also be a negative value to have hitboxes deal less damage to shields, though this is only used in ''Smash 64'', ''Melee'' and ''Ultimate''.
|-
|-
|Clang||''Smash 64''||Determines whether the hitbox can cancel out other hitboxes through [[priority]] rules. In ''Smash 64'', if a hitbox that cannot clang interacts with another hitbox, the move will clash, but its animation will continue, rather than going through the [[rebound]] animation. In later games, hitboxes that cannot clang simply cannot interact with other hitboxes.
|Clang||''Smash 64''||Determines whether the hitbox can cancel out other hitboxes through [[priority]] rules. In ''Smash 64'', if a hitbox that cannot clang interacts with another hitbox, the move will clash, but its animation will continue, rather than going through the [[rebound]] animation. In later games, hitboxes that cannot clang simply cannot interact with other hitboxes.
Line 105: Line 106:
|SDI multiplier||''Brawl''||Modifies the distance of [[smash directional influence]] for opponents struck by the hitbox.
|SDI multiplier||''Brawl''||Modifies the distance of [[smash directional influence]] for opponents struck by the hitbox.
|-
|-
|Directness||''Melee''||Determines whether the hitbox is [[indirect]] or not, which is used for enemy/sticker interactions in ''Brawl'', and to determine a move's [[shieldstun]] from ''Smash 4'' onward, among other effects. The only known effect in ''Melee'' is breaking metal box with a direct hitbox makes the attacker metal. Not to be confused with a [[projectile]].
|Directness||''Melee''||Determines whether the hitbox is [[indirect]] or not, which is used for enemy/sticker interactions in ''Brawl'', and to determine a move's [[shieldstun]] from ''Smash 4'' onward, among other effects. In ''Melee'', the only known effect is that if an attack breaks a [[Metal Box]], it needs to be direct to give the attacker its effect. Not to be confused with a [[projectile]].
|-
|-
|Type||''Brawl''||Determines what kind of [[sticker]]s ([[spirit]]s in ''Ultimate'') can power up the hitbox, such as [[arm]], [[leg]], [[body]], or [[weapon]], among others.
|Type||''Brawl''||Determines what kind of [[sticker]]s ([[spirit]]s in ''Ultimate'') can power up the hitbox, such as [[arm]], [[leg]], [[body]], or [[weapon]], among others.
Line 160: Line 161:
|-
|-
|Special hitbox||''Smash 64''||Creates a special hitbox.
|Special hitbox||''Smash 64''||Creates a special hitbox.
|-
|Collateral hitbox||''Smash 64''||Creates a hitbox that can only strike bystanders during a [[throw]], and not the thrown opponent. Used for moves such as [[Mario]]'s [[back throw]].
|-
|-
|Change hitbox damage||''Smash 64''||Changes the damage of a specific hitbox.
|Change hitbox damage||''Smash 64''||Changes the damage of a specific hitbox.
Line 168: Line 171:
|-
|-
|Remove all hitboxes||''Smash 64''||Deletes all active hitboxes.
|Remove all hitboxes||''Smash 64''||Deletes all active hitboxes.
|-
|Hitbox loop||''Smash 64''||Causes part of a move's hitbox script to execute a specified amount of times instead of only once (akin to loop functions in programming languages), usually to repeatedly create and remove hitboxes. This allows the move to hit multiple times, and is how most multi-hit moves without a rehit rate are handled, especially in earlier games.
|-
|-
|Check front/back||''Melee''||Restricts the hitbox to only hitting opponents from the front or from behind. Used for [[Disable]] (can only hit from the front) and [[Back Slash]] (has two sets of hitboxes for the respective front and back hits).
|Check front/back||''Melee''||Restricts the hitbox to only hitting opponents from the front or from behind. Used for [[Disable]] (can only hit from the front) and [[Back Slash]] (has two sets of hitboxes for the respective front and back hits).
Line 200: Line 205:
|-
|-
|Disable tech||''Ultimate''||Prevents opponents from [[tech]]ing the hitbox's knockback. Currently only used for [[Cross Chop]]'s falling portion and [[Onslaught]]'s meteor smashing kick. A similar effect is present since ''Smash 4'' for certain [[Final Smash]]es such as [[Pair Up]], but not declared in hitbox scripts.
|Disable tech||''Ultimate''||Prevents opponents from [[tech]]ing the hitbox's knockback. Currently only used for [[Cross Chop]]'s falling portion and [[Onslaught]]'s meteor smashing kick. A similar effect is present since ''Smash 4'' for certain [[Final Smash]]es such as [[Pair Up]], but not declared in hitbox scripts.
|-
|[[Grab]] armor||''Ultimate''||If the hitbox strikes an opponent at the same time the user is grabbed by them, this property causes the opponent to [[armor]] through the hitbox and grab the user, much like in ''Brawl'', rather than forcing a [[grab release]]. Used only for {{SSBU|Sonic}}'s [[Homing Attack]], [[Spin Dash]], and [[Spin Charge]], as well as {{SSBU|Banjo & Kazooie}}'s [[Wonderwing]]. A multiplier can also be applied to the damage the grabber takes in this situation, which is set to 0.25× for Wonderwing.
|-
|Angle modifier||''Ultimate''||Changes the hitbox's launch angle depending on the attacker's momentum, making it more vertical if moving backward, and more horizontal if moving forward. Only used for the last hit of the {{SSBU|Mii Brawler}}'s [[Helicopter Kick]].
|-
|[[Freeze]] multiplier||''Ultimate''||Modifies the initial amount of time a freezing hitbox freezes targets for. Used only for {{SSBU|Hero}}'s [[Kacrackle Slash]], which has a 2× multiplier.
|}
|}


Line 217: Line 228:
<gallery>
<gallery>
Kirby Forward Tilt Hitbox Smash 64.gif|The hitboxes of {{SSB|Kirby}}'s forward tilt, with Kirby's collision boxes, in the original game.
Kirby Forward Tilt Hitbox Smash 64.gif|The hitboxes of {{SSB|Kirby}}'s forward tilt, with Kirby's collision boxes, in the original game.
HitboxBubblesSSBM.png|Various hitboxes and hurtboxes in ''Melee''.
ToonLinkHitBoxHack.png|An example of a hack used to show the hitboxes of {{SSBB|Toon Link}}'s [[Spin Attack]] in ''Brawl''.
ToonLinkHitBoxHack.png|An example of a hack used to show the hitboxes of {{SSBB|Toon Link}}'s [[Spin Attack]] in ''Brawl''.
</gallery>
</gallery>

Revision as of 12:16, August 24, 2021

For the website, see hitbox.tv.
An example of offensive and damageable collision bubbles in Melee, as demonstrated with Mewtwo's up aerial. Yellow bubbles are collision bubbles, and red bubbles are hitbox bubbles.

A hitbox or collision bubble (sometimes hitbubble) is the main structure for how attacks are executed in most fighting games. Attacks have one or more hitboxes associated with them, and when these hitboxes overlap with a target's damageable area (often called their hurtbox or hurtbubbles), the attack is considered a hit. Hitboxes are invisible and usually, though not always, have the same shape as the attack's animation.

Overview

Super Smash Bros. Ultimate's Training mode displaying hurtboxes for invulnerability: Mario is invincible due to a Super Star, while Ridley's wing, head, and arm are intangible due to his up tilt.

The two most common forms of hitbox shapes in video games are cuboids and spheres. Neither is obviously better than the other - cuboids can more easily form long or thin attacks or targets, while spheres are easier to calculate collision detection for. Smash 64 uses cuboids whereas Melee, Brawl, Smash 4, and Ultimate use spheres and sphere-like structures known as capsules (cylinders with spheres on the ends).

In Smash 64, hacks can enable hitbox visibility (with a few limitations), such as in this image. In Melee, hitboxes can be seen with the debug menu if set to DEVELOP, though accessing it requires a cheating device. There is no easy way to display hitboxes in-game in later games, though a common technique in Brawl is to use hacks to place Super Scope shot visuals where the hitboxes are (which is significantly more involved a process and generally fails for any projectile or item). Ultimate's Training mode natively includes an option to display characters' hurtboxes when invincible or intangible, though only their portions that overlay with the character's model are shown, rather than their true shapes.

Should multiple hitboxes of a single move connect with the opponent, only one of them will count. The order of precedence is known as the "hitbox stack" - hitboxes higher in the stack will override ones lower should they both hit at the same time. Mechanically, this is denoted by giving each hitbox an ID number, and lower numbers indicate higher precedence (higher stack position). For example, Marth's down aerial in Melee features its tipper hitbox on top of the stack, so hitting with both a tipper and non-tipper hitbox will result in the tipper counting, even if the majority of the opponent was hit by the other hitboxes. By contrast, the move in Brawl has the tipper on the bottom, so the tipper can only hit if none of the other hitboxes do. As a result, even through the sizes and positions of the hitboxes did not change much between games, the tipper is more difficult to hit in Brawl than in Melee.

Hitboxes that are separated from a character's hurtboxes are often called disjointed, which is usually an advantage, as they can connect from a farther distance, while keeping the attacker safer from retaliation and reducing the likelihood of trading blows. Examples of disjointed hitboxes include most weapon-based attacks, and more infamously the up tilts of Kirby in Smash 64 and Snake in Brawl, as well as some of Joker's moves when using Arsene.

An interesting property of hitboxes in the Super Smash Bros. series is that under most conditions, they occupy not only the space where they currently are, but also the space where they were one frame ago, as well as all the space in between (in a straight line, regardless of what the animation might look like during intervening subframes). This characteristic, known as interpolation, helps to prevent situations where a fast projectile may end up passing through a character in less than a frame without hitting them. On the other hand, hurtboxes do not interpolate in this way, so a fast-moving object (such as Fox during his Illusion) may be able to move through a slow or stationary hitbox without being damaged. In addition, certain hitboxes from Brawl onward use a stretch effect to create a very long hitbox, for example in Zero Laser and Aura Storm, instead of interpolating. It is unclear how this hitbox-stretching mechanism operates when time is slowed via Training mode or other effects, as the games render subframes, whereas Smash 64 and Melee simply reduce the overall framerate.

Hitboxes in three dimensions

While the regular camera suggests Mario should have been hit already, a side view shows otherwise.

It is a common misconception that, like in most other fighting games, hitboxes and hurtboxes only operate in two dimensions. In actuality, they interact in all three dimensions equally, even though the majority of gameplay elements are restricted to two-dimensional movement. As a result, Super Smash Bros. is more accurately described as a 2.5D game.

Notable examples of unexpected behavior due to the 3D nature of hitboxes include:

  • Animations where characters lean sideways can result in attacks missing them. King Dedede's spot dodge in Brawl is a notorious example, allowing him to dodge attacks with narrow hitboxes even after his intangibility ends.
  • Attacks that swing in a horizontal arc can hit characters of different widths at different times. For example, Peach's neutral aerial in Smash 4 usually hits Zero Suit Samus a frame later than most other characters. Similarly, Yoshi's running grab in Melee is so off to the side of the playing plane that it often misses a stationary Zelda completely.

When playing on a two-dimensional stage such as Flat Zone, many of these quirks disappear, due to characters being almost completely flattened along the camera's axis. However, some new quirks can arise: if hitboxes are produced when an arcing attack is normally not yet in the playable plane, the flattening effect results in them being able to hit earlier than expected. For example, Charizard's forward tilt in Smash 4 can land its flame hitbox sooner than usual. It is also important to note that only the characters are flattened; their hitboxes and hurtboxes continue to operate as three-dimensional objects in a three-dimensional world, so maneuvers such as using the Dragoon are not affected.

Players tend to refer to any unexpected behavior of this nature as fault of the "z-axis", as z traditionally refers to the third dimension in a three-dimensional environment. This tends to result in confusion when character moveset data is decoded, as while the camera's axis is indeed along the z-axis of stages, for characters and most other gameplay objects, the z-axis is the one that points forwards.

Hitbox types

The different types of hitboxes and hurtboxes visualized in Melee.
Hitbox Type Debug mode Colour Explanation
Offensive Red The standard type of attacking hitbox. From Brawl onward, there are various types of offensive hitboxes, some of which have unique properties (like the ability to ignore shields).
Damageable Yellow The standard type of damageable area, also known as hurtboxes. Characters have a variety of these attached to their bodies, while damageable stage areas (such as the wedge of ice on the Summit) and non-playable entities (like enemies and bosses) use them as well.
Invincible Green Invincible targets can be hit by attacks, but do not take any damage or knockback from them. For example, this occurs for characters that have just stepped off a revival platform, or have acquired a Super Star.
Intangible Blue Intangible targets cannot be hit by attacks. This occurs during actions such as dodges, techs, and ledge getups. Various characters' attacks provide certain parts of their body with intangibility, such as Mario's head during his up smash.
Grab Magenta Grab hitboxes ignore any special or defensive hitboxes.
Shield Cyan Defensive hitboxes that shield attacks, unless they are grabs or unblockable. Also used by moves such as most counterattacks.
Reflective Aqua Defensive hitboxes that reflect attacks.
Absorbing Cyan-blue Defensive hitboxes that absorb attacks.
Inert Grey Inert hitboxes are used for collision detection when a regular hitbox is unsuitable, such as the dash of Raptor Boost and Gerudo Dragon.

Hitbox properties

Normal properties

Property Introduced in Description
ID Smash 64 The priority of the hitbox compared to the move's other hitboxes. If multiple hitboxes of an attack connect within the same frame, the hitbox with the lowest ID value registers the hit. This property is imperative to determine the precision and spacing for landing sweet spots; usually, hitboxes closer to the attacker have a lower ID (higher priority), regardless of whether they are sourspots or sweetspots.
Part Smash 64 Determines how many hitboxes can hit in one attack. If a hitbox has a part value of 1, for example, it can connect after landing a hitbox with a part value of 0. The vast majority of attacks use a part of 0 for all their hitboxes; instead, this property is reserved for certain multi-hit moves such as Marth's up smash in Brawl and Smash 4, to allow both the launcher (part 0) and sword hitboxes (part 1) to come out on the same frame and be considered multiple hits. However, a few oddities arise if hitboxes of different parts hit in the same frame:
  • If the hitbox with a lower part deals much higher knockback, even if fixed, it overrides the higher part's knockback, resulting in unusual behavior for a multi-hit move. The aforementioned up smash is particularly prone to this situation at low percents.
  • If the hitbox with a lower part is shielded, but the higher part shield stabs, the entire move is shielded, but the higher part still produces its graphical and sound effects.
Bone Smash 64 The bone of a character model the hitbox is connected to. A value of 0 is a central bone and can only move with the character, while other values correspond to different bones of a character (such as an arm, leg, or in the case of swordfighters, a portion of the sword), and follow their movement even if the character themselves do not change position. Several attacks, particularly arcing swings, employ this property so their hitboxes can cover a wide area around the character without having to manually change their placement every frame; in later games, this is only done in specific cases to avoid blindspots.
In Ultimate, character bones can have more descriptive names in hitbox scripts (such as "arml" or "legr"), with bone 0 being named "top".
Damage Smash 64 The base damage dealt by the hitbox. In the first three games, the initial damage is always an integer, but after Smash 64, it rarely ends up as one once modified by factors like stale-move negation. From Smash 4 onward, damage can be coded as any real number (using a single-precision floating-point format).
Angle Smash 64 The hitbox's launch trajectory, coded in degrees. Usually a number from 0 to 360, and can rarely be negative numbers such as -90. Depending on the game, values from 361 to 368 are reserved for special angles, such as the Sakurai angle (the default angle for horizontal-launching moves) or autolink angle.
Knockback scaling Smash 64 Also known as knockback growth. A factor in the knockback formula, generally determining the rate at which the hitbox's knockback rises as the target's damage increases, with the default being 100. For example, a knockback scaling of 110 means knockback increases at a 1.1× rate compared to other hitboxes with the same damage and base knockback.
Fixed knockback value Smash 64 If not 0, causes the hitbox to deal a specific amount of knockback regardless of its damage or the target's, though it can still be modified by factors such as launch rate (prior to Smash 4) or weight.
Base knockback Smash 64 A factor in the knockback formula, generally determining the minimum knockback the hitbox can apply, though not being the only factor (the hitbox's damage and knockback scaling are relevant as well).
Size Smash 64 The hitbox's radius in units of distance.
X position Smash 64 The hitbox's horizontal displacement (in units of distance) relative to the bone it is attached to. In Smash 4 and Ultimate, for a bone of 0, this refers to the Z axis.
Y position Smash 64 The hitbox's vertical displacement (in units of distance) relative to the bone it is attached to.
Z position Smash 64 The hitbox's displacement in the foreground/background (in units of distance) relative to the bone it is attached to. In Smash 4 and Ultimate, for a bone of 0, this refers to the X axis.
Effect Smash 64 The hitbox's effect on hit, such as normal, slash, flame, or electric, among others. Can also be none.
Groundness/Airness Smash 64 Determines whether the hitbox can strike grounded opponents, aerial opponents, or both (or neither, but this is very rarely used). Attacks intended to have different behavior on grounded and aerial opponents (such as Samus' up tilt from Melee onward) generally use two hitboxes with the same placement, but differences in other properties as desired. In Ultimate, hitboxes can also be set to not connect against prone opponents, which is generally used for burying hitboxes.
Shield damage Smash 64 The hitbox's additional damage dealt to shields; usually 0, which means the hitbox deals regular damage to shields. Can also be a negative value to have hitboxes deal less damage to shields, though this is only used in Smash 64, Melee and Ultimate.
Clang Smash 64 Determines whether the hitbox can cancel out other hitboxes through priority rules. In Smash 64, if a hitbox that cannot clang interacts with another hitbox, the move will clash, but its animation will continue, rather than going through the rebound animation. In later games, hitboxes that cannot clang simply cannot interact with other hitboxes.
Sound effect Smash 64 The hitbox's sound effect on impact (punch, kick, slash, burn, or shock, among others), including sounds unique to certain characters (such as Cloud's slash sounds). Can also be none.
Sound level Smash 64 The strength of the sound effect the hitbox produces on impact (small, medium, or large; huge can be applied for certain types).
Rebound Melee If set, prevents a grounded move from being interrupted if the hitbox clangs with another, disregarding priority rules. This essentially has the same effect as the clang property did in Smash 64, and is irrelevant if a hitbox cannot clang. In Ultimate, this is merged with the clang property, which is set as "THRU" (rather than "ON" or "OFF") to determine that a hitbox can clang but not rebound.
In Brawl only, while this property is still present, it appears to be disabled altogether.
Trip chance Brawl The hitbox's bonus trip chance; for example, a value of 0.4 yields a 40% bonus trip chance. Can also be negative to disable the base trip chance, which is used for certain multi-hit moves such as Roy's up smash in Ultimate.
Hitlag multiplier Brawl Set to 1 by default. Modifies the duration of hitlag applied on impact to both the attacker (except for projectiles) and victim.
SDI multiplier Brawl Modifies the distance of smash directional influence for opponents struck by the hitbox.
Directness Melee Determines whether the hitbox is indirect or not, which is used for enemy/sticker interactions in Brawl, and to determine a move's shieldstun from Smash 4 onward, among other effects. In Melee, the only known effect is that if an attack breaks a Metal Box, it needs to be direct to give the attacker its effect. Not to be confused with a projectile.
Type Brawl Determines what kind of stickers (spirits in Ultimate) can power up the hitbox, such as arm, leg, body, or weapon, among others.

Special properties

Prior to Ultimate some hitboxes are listed as "special hitboxes" which have additional properties. In Ultimate, these properties are included for every hitbox.

Property Introduced in Description
Reflectiveness Smash 64 Determines whether the hitbox can be reflected. Usually a projectile.
Absorptiveness Smash 64 Determines whether the hitbox can be absorbed. Usually a projectile.
Blockability Melee Determines whether the hitbox can be shielded. In Ultimate, this property is merged with shield damage, which is listed as "no" if a hitbox is unblockable.
Flinchless Melee If set, prevents the hitbox from inflicting hitstun or hitlag; any knockback coded for the hitbox instead pushes or pulls opponents, which is commonly referred to as a windbox.
Hit bits Melee Determines what a hitbox is capable of interacting with. This includes damageable stage objects (floors, ceilings, or other), or multiple opponents, as well as if it can connect against enemies from the Subspace Emissary in Brawl. Most attacks can hit all specified objects, but certain others, such as Mario's Fireballs, are set to ignore damageable floors so they cannot be stopped by Skyworld's breakable platforms, for example. From Smash 4 onward, certain attacks with timing gaps between hitboxes (which would usually produce multiple hits), such as Lucas' down smash, use special hit bits so the opponent is only struck by the first hitbox to connect; in Ultimate, this property is still present on the move, but it uses a rehit rate instead to re-allow one strike per hitbox.
Rehit rate Melee If not 0, allows the hitbox to strike again after the specified amount of frames. Commonly used for multi-hit moves in later games.
Heedless Brawl If set, allows the hitbox to hit teammates even if team attack is turned off. Rarely used.
Angle flipper Brawl Causes the hitbox to always launch opponents in the direction the user is facing, or the opposite, instead of depending on the attacker's position relative to the opponent. Used for various attacks such as forward tilts, forward smashes, forward aerials, and back aerials in Ultimate. Also used by Back Slash's back hit to launch opponents with a different animation that does not turn them around.
Piercing Brawl If set, allows the hitbox to ignore invincibility. Rarely used.
Disable hitlag Brawl If set, causes the hitbox to inflict no hitlag regardless of its hitlag multiplier. No longer used in Ultimate.
Stretch Brawl Determines if a hitbox is stretched out, rather than being spherical. This allows them to cover more space right away, but prevents them from interpolating per frame.
Disable GFX Brawl Determines if a hitbox produces hit graphics if it connects. Usually disabled for "conventional" windboxes, producing a visual difference between pushing attacks such as F.L.U.D.D. and Finishing Touch.
X stretch/X2 Smash 4 Determines how far a hitbox is stretched horizontally, with the same other properties as the standard X position. Alongside the other stretch coordinates, this is essentially an extension of the stretch property from Brawl, denoting both ends of the hitbox.
Y stretch/Y2 Smash 4 Determines how far a hitbox is stretched vertically, with the same other properties as the standard Y position.
Z stretch/Z2 Smash 4 Determines how far a hitbox is stretched in the foreground/background, with the same other properties as the standard Z position.
Set weight Smash 4 If set, the hitbox calculates knockback with a weight of 100 for all opponents, effectively ignoring weight differences. This was a hitbox related flag in Smash 4, but became a property in Ultimate.
Collision part Ultimate Determines what types of hurtboxes the hitbox can connect with (such as head, body, or legs). Used for Shield Breaker's effect of dealing more damage if it hits an opponent's head.

Some other properties have been found, but their effect is currently unknown.

Hitbox related flags

These are flags used in an animation's script in order to create, alter, or remove different types of hitboxes.

Flag Introduced in Description
Hitbox Smash 64 Creates a hitbox.
Special hitbox Smash 64 Creates a special hitbox.
Collateral hitbox Smash 64 Creates a hitbox that can only strike bystanders during a throw, and not the thrown opponent. Used for moves such as Mario's back throw.
Change hitbox damage Smash 64 Changes the damage of a specific hitbox.
Change hitbox size Smash 64 Changes the size of a specific hitbox.
Remove hitbox Smash 64 Deletes a specific hitbox.
Remove all hitboxes Smash 64 Deletes all active hitboxes.
Hitbox loop Smash 64 Causes part of a move's hitbox script to execute a specified amount of times instead of only once (akin to loop functions in programming languages), usually to repeatedly create and remove hitboxes. This allows the move to hit multiple times, and is how most multi-hit moves without a rehit rate are handled, especially in earlier games.
Check front/back Melee Restricts the hitbox to only hitting opponents from the front or from behind. Used for Disable (can only hit from the front) and Back Slash (has two sets of hitboxes for the respective front and back hits).
Grab collision Brawl Creates a grabbox. In Smash 64 and Melee, grabs used a normal hitbox with a grab effect.
Grab collision 2 Brawl Creates a special grabbox. Typically used for command grabs.
Remove grab collision Brawl Deletes a specific grabbox.
Remove all grab collisions Brawl Deletes all active grabboxes.
Inert collision Brawl Creates an inert collision.
Extended hitbox Smash 4 Creates a hitbox that can be stretched.
Extended special hitbox Smash 4 Creates a special hitbox that can be stretched.
Set falling speed Smash 4 Determines whether the hitbox considers the target's falling speed when knockback is calculated. Used only in Smash 4 for Finishing Touch and Meteor Trampoline.
Set gravity Smash 4 Determines whether the hitbox considers the target's gravity when knockback is calculated. Used only in Smash 4 for Finishing Touch and Meteor Trampoline.
Hitstun modifier Ultimate Changes the amount of hitstun the hitbox does when hitting an opponent. Due to a glitch, even if specified for certain hitboxes, it applies to all of a move's hitboxes until they are changed later in the script.
Shieldstun multiplier Ultimate Changes the amount of shieldstun the hitbox does to a shielding opponent. Due to a glitch, even if specified for certain hitboxes, it applies to all of a move's hitboxes until they are changed later in the script.
Set attack height Ultimate If the attacker and target are at a (roughly) equal height, forces the target to use a specific kind of flinch animation (high, middle, or low) regardless of which of their hurtboxes is hit. Used for most down tilts and angled forward tilts.
Critical hit Ultimate Causes only certain hitboxes of a move to produce a Special Zoom on hit. Used for moves such as Ganondorf's up tilt and a fully charged Wario Waft.
No finish camera Ultimate Prevents the hitbox from producing a Finish Zoom, even if it would launch opponents far enough to do so. Generally used as a failsafe for certain multi-hit moves' linking portions.
Disable tech Ultimate Prevents opponents from teching the hitbox's knockback. Currently only used for Cross Chop's falling portion and Onslaught's meteor smashing kick. A similar effect is present since Smash 4 for certain Final Smashes such as Pair Up, but not declared in hitbox scripts.
Grab armor Ultimate If the hitbox strikes an opponent at the same time the user is grabbed by them, this property causes the opponent to armor through the hitbox and grab the user, much like in Brawl, rather than forcing a grab release. Used only for Sonic's Homing Attack, Spin Dash, and Spin Charge, as well as Banjo & Kazooie's Wonderwing. A multiplier can also be applied to the damage the grabber takes in this situation, which is set to 0.25× for Wonderwing.
Angle modifier Ultimate Changes the hitbox's launch angle depending on the attacker's momentum, making it more vertical if moving backward, and more horizontal if moving forward. Only used for the last hit of the Mii Brawler's Helicopter Kick.
Freeze multiplier Ultimate Modifies the initial amount of time a freezing hitbox freezes targets for. Used only for Hero's Kacrackle Slash, which has a 2× multiplier.

Trapbox

A hitbox stretching across interframe space.

In Melee, a trapbox is the hitbox left on the ground during Ness' yo-yo glitch. It is called a trapbox because this hitbox is not attached at all to any kind of attack but instead just sits wherever it was when the glitch occurred. Using a new attack will overwrite the hitbox with the new attack's properties and relocate it to the new attack, which due to the interframe stretching effect will cause it to hit everything between it and Ness.

Trivia

An example of recoil animations making hitboxes appear to be unexpectedly large. Here, Ryu is hitting Lucina with a Shoryuken, with the blue starburst showing where the collision occurred.
  • In SSB, grabs are normal hitboxes with no apparent mechanism for distinction from attacks. In Melee, grab hitboxes and inert hitboxes are 0%-damage hitboxes with "grab" or "inert" for an effect. Both grabs and inert hitboxes are separate objects in Brawl and SSB4, though in rare cases a 0%-damage hitbox is used as an inert one.
  • The single largest hitbox in Melee can be found when Raikou is released from a Poké Ball.
  • Because characters enter a recoil animation upon being hit, pausing the game during the freeze frames can make it appear as if the attack's hitboxes are misaligned or too large.
    • This is especially prominent in Ultimate with the addition of Special Zoom and Finish Zoom. When an attack triggers one of these effects, the resulting zoom-in and slowdown can cause this apparent discrepancy to be much more noticeable.

Gallery