User:CanvasK/Sandbox: Difference between revisions

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
m (Going to try and rewrite this later)
m (Undid edit by CanvasK: )
Tags: Undo Disambiguation links
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Formula==
==Formula==
The formula for calculating the number of frames of hitlag experienced by both the attacker and victim has been different for most of the games:
The formula for calculating the number of frames of hitlag experienced by both the attacker and victim has been different for most of the games (<code>&lfloor;x&rfloor;</code> means to round down):
*In ''[[Super Smash Bros. Melee]]'', it is <code>(d/3 + 3) * m</code>.
*In ''[[Super Smash Bros.]]'', it is <code>&lfloor;&lfloor;&lfloor;d/3 + 4&rfloor; * e&rfloor; * c&rfloor;</code> in the Japanese version, and <code>&lfloor;&lfloor;&lfloor;d/3 + 5&rfloor; * e&rfloor; * c&rfloor;</code> in international versions.
*In ''[[Super Smash Bros. Brawl]]'' and ''[[Super Smash Bros. 4]]'', it is <code>(d * 0.3846154<!--it is stored as a 0.3846154 multiplier in battle_object.bin; it does not divide by 2.6--> + 4) * m</code>
*In ''[[Super Smash Bros. Melee]]'', it is <code>&lfloor;&lfloor;&lfloor;d/3 + 3&rfloor; * e&rfloor; * c&rfloor;</code>
*In ''[[Super Smash Bros. Ultimate]]'', it is <code>(d * 0.65 + 6) * m</code>.
*In ''[[Super Smash Bros. Brawl]]'' and ''[[Super Smash Bros. 4]]'', it is <code>&lfloor;&lfloor;(d * 0.3846154<!--it is stored as a 0.3846154 multiplier in battle_object.bin; it does not divide by 2.6--> + 5) * h * e&rfloor; * c&rfloor;</code>, where the last frame is interruptible.<!--See the Sm4sh calculator; the result is 1 frame less than what the formula gives-->
*In ''[[Super Smash Bros. Ultimate]]'', it is more complicated. Number of frames is assigned to '''f''' for simplicity:
*#<code>f = &lfloor;(d * 0.65 + 6) * h * e * sh&rfloor; * sp&rfloor;</code>, '''f''' is capped at 30 frames after this step
*#<code>f = &lfloor;&lfloor;f + ((p-1)/30)f^2&rfloor; * c&rfloor;</code>


For all these cases, the final result is rounded down. '''d''' is the amount of damage an attack would deal rounded down, while '''m''' is a series of multipliers based on certain factors, including:
The values correspond to the following (all apply to both the attacker and victim unless stated otherwise):
*[[Electric]] effect (1.5× for the victim only in ''Melee'', and for both the attacker and victim in every other game)
*'''d''', the amount of [[damage]] an attack would deal (rounded up in ''Smash 64'')
*[[Crouch cancel]]ing (0.666667× in ''Melee'' and 0.67× in ''Brawl'' onward, applied to the victim only in all games)
**[[Stale move negation|Stale/fresh]] damage, [[equipment]], spirits, etc. are factored. The [[1v1 multiplier]] and [[shield damage]] are not factored.
*In ''Melee'', the intermediate result is rounded down before applying the electric modifier and before applying the crouch cancel modifier. If both modifiers apply, the electric modifier is applied first.
*'''e''', [[electric]] effect; 1.5× (for the victim only in ''Melee'', and for both the attacker and victim in every other game)
**Similarly in ''Ultimate'', the intermediate result isn't rounded down but gets rounded down after applying each modifier.
*'''c''', [[crouch cancel]]ing; 0.666667× in ''Melee'' and 0.67× in ''Brawl'' onward (for the victim only in every game except ''Ultimate'', where it is applied to both the attacker and victim)
*From ''Brawl'' onward, every [[hitbox]] has its own hitlag multiplier, with the default being . For example, the majority of [[Marth]]'s attacks have a hitlag multiplier of 1.25× if the [[tipper]] connects, and 0.7× otherwise. These multipliers apply to both the attacker and victim.
*'''h''', hitlag multiplier; defined by every hitbox and defaults to
**In ''Brawl'' and ''Smash 4'' prior to version [[1.1.0]], [[shield]]ing opponents were not affected by these hitlag multipliers; therefore, moves with below-average multipliers were safer on shield, while those with above-average multipliers were less safe, as the attacker experienced less or more hitlag (respectively) than the shield user. Beginning in version 1.1.0 of ''Smash 4'', shields are properly affected by hitlag multipliers, therefore removing the difference in shield safety caused by them.
**For example, the majority of [[Marth]]'s attacks have a hitlag multiplier of 1.25× if the [[tipper]] connects, and 0.7× otherwise.
***In ''Smash 4'', starting in version 1.1.0, if the hitlag multiplier of a move is higher than 1×, it is multiplied by 0.8× if it hits a shield, though without dropping below 1×. For example, the 1.25× hitlag multiplier of Marth's tippers is reduced to 1× if they are shielded. This applies only to the attacker in 1.1.0, and to both the attacker and victim from [[1.1.1]] onward. As a result, in the former case, moves with above-average hitlag are effectively safer on shield, while in the latter case, shielding them merely reduces the usual hitlag period.
**Some moves are coded to deal no hitlag at all, either by being given a hitlag multiplier of 0×, or in ''Brawl'' and ''Smash 4'', using a special parameter that disables hitlag when turned on. Examples of such moves are [[Bowser Bomb]] in ''Brawl'' and {{SSB4|Falco}}'s {{b|Reflector|Falco}} in ''Smash 4''.
*Some moves are coded to deal no hitlag at all, either by being given a hitlag multiplier of 0×, or using a special parameter that disables hitlag when turned on. Examples of such moves are [[Bowser Bomb]] in ''Brawl'' and {{SSB4|Falco}}'s {{b|Reflector|Falco}} in ''Smash 4''.
***In ''Brawl'' and ''Smash 4'' prior to version [[1.1.0]], [[shield]]ing opponents were not affected by these hitlag multipliers; therefore, moves with below-average multipliers were safer on shield, while those with above-average multipliers were less safe, as the attacker experienced less or more hitlag (respectively) than the shield user. Beginning in version 1.1.0 of ''Smash 4'', shields are properly affected by hitlag multipliers, therefore removing the difference in shield safety caused by them.
*In ''Ultimate'', if [[Spirit]]s are turned on in the [[Rules]], regardless of if any spirits are used in the match, hitlag growth beyond 15 frames is reduced to about a third of its usual rate (0.65→~0.2‎), likely to prevent moves from dealing excessive hitlag due to damage increases.
****In ''Smash 4'', starting in version 1.1.0, if the hitlag multiplier of a move is higher than 1×, it is multiplied by 0.8× if it hits a shield, though without dropping below 1×. For example, the 1.25× hitlag multiplier of Marth's tippers is reduced to 1× if they are shielded. This applies only to the attacker in 1.1.0, and to both the attacker and victim from [[1.1.1]] onward. As a result, in the former case, moves with above-average hitlag are effectively safer on shield, while in the latter case, shielding them merely reduces the usual hitlag period.
*In ''Ultimate'', if a move is shielded, hitlag is multiplied by 0.67× for both the attacker and victim, and the move's hitlag multiplier is ignored if it is lower than 1×. This is especially noticeable for moves such as {{SSBU|Cloud}}'s [[Limit Break|Limit]] [[Cross Slash]], which normally uses a hitlag multiplier of 0.3× for its linking hits; the move's hits transition considerably slower if it hits a shield. Additionally, in battles with more than two players, there is another multiplier that reduces all hitlag proportionally to the amount of players:
*'''sh''', shielding; 0.67×
**Hitlag multipliers less than 1× are ignored if shielding. This is especially noticeable for moves such as {{SSBU|Cloud}}'s [[Limit Break|Limit]] [[Cross Slash]], which normally uses a hitlag multiplier of 0.3× for its linking hits; the move's hits transition considerably slower if it hits a shield. However, the electric effect's multiplier is still taken into account, which effectively raises the final multiplier to 1.005×, causing projectiles such as [[Thunder Jolt]] to be safer on shield than usual.
*'''sp''', spirits; <code>* 0.3 + 10.5</code> if spirits are enabled, otherwise is ignored. This is used even if no spirits are used. In [[Training Mode]], after version {{SSBU|3.0.0}}, this formula is only applied when a spirit is used.
*'''p''', based on player count; values are listed in the table below. The exact value is based on the prior hitlag frames, scaling from almost no change below 10 frames to the listed values at 30 frames. The formula for scaling is currently unknown.
**Does not affect fighters hit with projectiles.
**Based on the number of players at the start of the match.
:{|class="wikitable"
:{|class="wikitable"
!Players (''Ultimate'')!!Multiplier
!Players||style="width:4em"|2||style="width:4em"|3||style="width:4em"|4||style="width:4em"|5||style="width:4em"|6||style="width:4em"|7||style="width:4em"|8
|-
|-
|2||1.0
!''Ultimate''
|-
|1.0
|3||0.925
|0.925
|-
|0.862
|4||0.862
|0.8116
|-
|0.77464
|5||0.8116
|0.752464
|-
|0.75
|6||0.77464
|-
|7||0.752464
|-
|8||0.75
|}
|}


As shown by the formulas, the general amount of hitlag on moves is at its lowest in ''Melee'', and has since increased throughout the series, with ''Ultimate'' having the most hitlag. In all games, hitlag is higher the more damage a move deals. For example, weak attacks such as [[Mario]]'s [[jab]] have minimal hitlag, but the hitlag of strong or {{b|sweetspot|hitbox}}ed attacks can last much longer; up to a maximum of 20 frames in ''Melee'', and 30 frames from ''Brawl'' onward. In addition, ''Brawl'' introduced the mechanic of hitlag modifiers, causing variance in the hitlag duration of attacks; this is in contrast to ''Melee'' and ''Smash 64'', where the duration of hitlag was predictable.
As shown by the formulas, the general amount of hitlag on moves is at its lowest in ''Melee'', and has since increased throughout the series, with ''Ultimate'' having the most hitlag. In all games, hitlag is higher the more damage a move deals; weak attacks such as [[Mario]]'s [[jab]] have minimal hitlag, but the hitlag of strong or {{b|sweetspot|hitbox}}ted attacks can last much longer. For example, a move that deals 15% damage with no other factors would inflict hitlag of 10 frames in ''Smash 64'' (9 in the Japanese version), 8 frames in ''Melee'', 9 frames in ''Brawl'' and ''Smash 4'', and 15 frames in ''Ultimate''. In addition, ''Brawl'' introduced the mechanic of hitlag multipliers, causing variance in the hitlag duration of attacks; this is in contrast to ''Melee'' and ''Smash 64'', where the duration of hitlag was predictable.
 
Hitlag only affects the object that deals the [[damage]]; all other game elements (including, interestingly enough, any particle effects the attack generated) are uninterrupted. For example, both [[Captain Falcon]] and his opponent sustain hitlag upon a sweetspotted [[Knee Smash]], while [[Samus]]' movement is not interrupted by a [[Charge Shot]] hitting someone, since it is a projectile not attached to her. Hitlag affects the attacker as long as the attack connects, even if it deals no [[damage]] as a result of hitting opponents with [[invincibility]]. Hitlag is also exaggerated if two attacks clash, or if an attack is [[perfect shield]]ed; in the latter case, the attacker suffers from hitlag while the defender receives none. Additionally, if an attack deals no knockback, the target does not experience any hitlag.
 
Attacks with the [[electric]] effect are unique in that they increase the amount of hitlag, multiplying the number of frames by 1.5 (rounded down), which stacks with the hitlag multiplier that the move otherwise has (for example, an electric attack with a hitlag multiplier of 1.2 deals 1.8 times the amount of hitlag). Interestingly, in ''Smash 4'' if a character is hit by an electric attack from another, and either character is affected by slowdown (such as the [[Timer]] item), then the target receives additional hitlag, while the attacker does not. This phenomenon does not occur with non-electric attacks, even those that have a hitlag multiplier.

Latest revision as of 07:24, January 10, 2024

Formula[edit]

The formula for calculating the number of frames of hitlag experienced by both the attacker and victim has been different for most of the games (⌊x⌋ means to round down):

  • In Super Smash Bros., it is ⌊⌊⌊d/3 + 4⌋ * e⌋ * c⌋ in the Japanese version, and ⌊⌊⌊d/3 + 5⌋ * e⌋ * c⌋ in international versions.
  • In Super Smash Bros. Melee, it is ⌊⌊⌊d/3 + 3⌋ * e⌋ * c⌋
  • In Super Smash Bros. Brawl and Super Smash Bros. 4, it is ⌊⌊(d * 0.3846154 + 5) * h * e⌋ * c⌋, where the last frame is interruptible.
  • In Super Smash Bros. Ultimate, it is more complicated. Number of frames is assigned to f for simplicity:
    1. f = ⌊(d * 0.65 + 6) * h * e * sh⌋ * sp⌋, f is capped at 30 frames after this step
    2. f = ⌊⌊f + ((p-1)/30)f^2⌋ * c⌋

The values correspond to the following (all apply to both the attacker and victim unless stated otherwise):

  • d, the amount of damage an attack would deal (rounded up in Smash 64)
  • e, electric effect; 1.5× (for the victim only in Melee, and for both the attacker and victim in every other game)
  • c, crouch canceling; 0.666667× in Melee and 0.67× in Brawl onward (for the victim only in every game except Ultimate, where it is applied to both the attacker and victim)
  • h, hitlag multiplier; defined by every hitbox and defaults to 1×
    • For example, the majority of Marth's attacks have a hitlag multiplier of 1.25× if the tipper connects, and 0.7× otherwise.
    • Some moves are coded to deal no hitlag at all, either by being given a hitlag multiplier of 0×, or in Brawl and Smash 4, using a special parameter that disables hitlag when turned on. Examples of such moves are Bowser Bomb in Brawl and Falco's Reflector in Smash 4.
      • In Brawl and Smash 4 prior to version 1.1.0, shielding opponents were not affected by these hitlag multipliers; therefore, moves with below-average multipliers were safer on shield, while those with above-average multipliers were less safe, as the attacker experienced less or more hitlag (respectively) than the shield user. Beginning in version 1.1.0 of Smash 4, shields are properly affected by hitlag multipliers, therefore removing the difference in shield safety caused by them.
        • In Smash 4, starting in version 1.1.0, if the hitlag multiplier of a move is higher than 1×, it is multiplied by 0.8× if it hits a shield, though without dropping below 1×. For example, the 1.25× hitlag multiplier of Marth's tippers is reduced to 1× if they are shielded. This applies only to the attacker in 1.1.0, and to both the attacker and victim from 1.1.1 onward. As a result, in the former case, moves with above-average hitlag are effectively safer on shield, while in the latter case, shielding them merely reduces the usual hitlag period.
  • sh, shielding; 0.67×
    • Hitlag multipliers less than 1× are ignored if shielding. This is especially noticeable for moves such as Cloud's Limit Cross Slash, which normally uses a hitlag multiplier of 0.3× for its linking hits; the move's hits transition considerably slower if it hits a shield. However, the electric effect's multiplier is still taken into account, which effectively raises the final multiplier to 1.005×, causing projectiles such as Thunder Jolt to be safer on shield than usual.
  • sp, spirits; * 0.3 + 10.5 if spirits are enabled, otherwise is ignored. This is used even if no spirits are used. In Training Mode, after version 3.0.0, this formula is only applied when a spirit is used.
  • p, based on player count; values are listed in the table below. The exact value is based on the prior hitlag frames, scaling from almost no change below 10 frames to the listed values at 30 frames. The formula for scaling is currently unknown.
    • Does not affect fighters hit with projectiles.
    • Based on the number of players at the start of the match.
Players 2 3 4 5 6 7 8
Ultimate 1.0 0.925 0.862 0.8116 0.77464 0.752464 0.75

As shown by the formulas, the general amount of hitlag on moves is at its lowest in Melee, and has since increased throughout the series, with Ultimate having the most hitlag. In all games, hitlag is higher the more damage a move deals; weak attacks such as Mario's jab have minimal hitlag, but the hitlag of strong or sweetspotted attacks can last much longer. For example, a move that deals 15% damage with no other factors would inflict hitlag of 10 frames in Smash 64 (9 in the Japanese version), 8 frames in Melee, 9 frames in Brawl and Smash 4, and 15 frames in Ultimate. In addition, Brawl introduced the mechanic of hitlag multipliers, causing variance in the hitlag duration of attacks; this is in contrast to Melee and Smash 64, where the duration of hitlag was predictable.