User:CanvasK/Sandbox: Difference between revisions

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
m (Still need to work out the player multiplier, so just copying the hitlag page to here. I may be able to work out a smoother curve to work with using 1/4 speed, but that means I need to record then frame count and assumes it works cleanly)
m (Undid edit by CanvasK: )
Tags: Undo Disambiguation links
 
(2 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 (<code>&lfloor;x&rfloor;</code> means to round down):
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.]]'', it is <code>&lfloor;&lfloor;&lfloor;d/3 + 4&rfloor; * e&rfloor; * c&rfloor;</code> (NTSC-J) / <code>&lfloor;&lfloor;&lfloor;d/3 + 5&rfloor; * e&rfloor; * c&rfloor;</code> (International)
*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. Melee]]'', it is <code>&lfloor;&lfloor;&lfloor;d/3 + 3&rfloor; * e&rfloor; * c&rfloor;</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. 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>
*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 <code>&lfloor;&lfloor;&lfloor;(d * 0.65 + 6) * h * e * s&rfloor; * p&rfloor; * c&rfloor;</code>
*In ''[[Super Smash Bros. Ultimate]]'', it is more complicated. Number of frames is assigned to '''f''' for simplicity:
**When [[spirit]]s are enabled in the [[Rules]] and the above formula exceeds 15 frames (10 when crouch cancelling), it is <code>&lfloor;&lfloor;&lfloor;&lfloor;(d * 0.65 + 6) * h * e * s&rfloor; * 0.3 + 10.5&rfloor; * p&rfloor; * c&rfloor;</code><ref group="note">This formula 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.</ref>
*#<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>


The values correspond to the following (all apply to both the attacker and victim unless stated otherwise):
The values correspond to the following (all apply to both the attacker and victim unless stated otherwise):
Line 17: Line 18:
***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 ''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 ''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 ''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.
*'''s''', shielding; 0.67×
*'''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.
**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.
*'''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.
**Does not affect fighters hit with projectiles.
Line 35: Line 37:
|}
|}


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 (20 for the victim if crouch cancelling) 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.
 
A peculiar aspect of hitlag is how it is handled for [[throw]]s. In ''Smash 64'' and ''Melee'', throws inflict no hitlag when releasing the opponent, but their pre-release hitboxes still do, such as those in [[Captain Falcon]] and [[Link]]'s throws. From ''Brawl'' onward, throws can inflict hitlag on release, which only affects the opponent, effectively adding to their [[hitstun]] and giving the user more time to follow up; this is noticeable for throws such as {{SSB4|Luigi}}'s down throw in ''Smash 4'', and {{SSBU|Pikachu}}'s down throw in ''Ultimate''. However, hitlag remains manually disabled for the vast majority of throws' releases, especially in latter games (to the point ''Ultimate'' only has it on {{SSBU|Mythra}}, Pikachu, and {{SSBU|Pyra}}'s down throws), leaving it as an uncommon advantage. In ''Ultimate'', certain throws that lack hitboxes use an effect similar to hitlag before releasing the opponent, such as {{SSBU|Marth}}'s forward, back, and down throws; however, this effect has a set duration specific to each throw, and affects both the user and victim and makes the victim [[invincible]] alongside the user's natural throw invincibility.
 
===Notes===
<references group="note"/>

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.