For those of you wondering what shanus and kupo are talking about with "leaf's latest math," this is what I posted in the broom under the title of "Hitstun: We have a problem."
---
However much I love the placebo effect, sometimes it really fricking sucks.
I'm sure you've heard me say a million times that the hitstun equation is:
h = m*l / d
Where H is hitstun in frames, M is the multiplication constant (what we edit), L is the launch speed of the move, and D is a char spec division constant where chars with faster fall accelerations (at least in normal brawl) were given higher values to reduce their stun (this value can be a whole number 32, 33, 34, 35, or 36).
So what am I trying to say with this thread? Well, let's do a little math. The hitstun we were using for a while which we have only recently said is too easy to escape is .484. The hitstun we have decided to set it at now is .4865, and apparently it "feels a lot better." But by how much did the hitstun of moves actually increase? The hitstun with this new setting lasts approximately 1.005165x as many frames as it did with the lower setting. Doesn't sound like a lot, does it? Yeah... using a move that has 3000 launch speed (for a point of reference, marth's tipper fsmash on a 0% pit has a launch speed of 2965) against a character with a 34 (average) division constant produces 43 frames of stun with .484 hitstun. The same move at .4865 produces... 43 frames of hitstun. Kupo has it down at .48, which would
also give 43 frames of stun. Notice a problem here? These small minute changes in hitstun aren't going to affect anything by more than a single frame, if that.
Now, there is another variable in the hitstun formula: the division constant. Let's try playing around with that, some. Using .485 as a multiplier, let's try a 3000 launch speed move against a character with a 32 division constant and against a character with a 36 division constant (the two extremes). The 32 character suffers 46 frames of hitstun. The 36 character suffers only 41 frames of hitstun. That's a 5 frame difference, which is considerably more than we were getting with changing the multiplier.
Can you see how we've been tricking ourselves with these values, now? We've all been under one huge placebo this entire time. We play for a while, think "oh, the hitstun is too high," try a lower value, and because we think we can escape more, we actually try to do so, and thus succeed more frequently. Or we think "hey this is too low" and turn it up slightly, and we start feeling like we can combo easier now. It doesn't help that the human mind tends to remember events that we consider to be "strange" or "out of the ordinary," and just sort of glosses over the stuff we perceive to be "common" or "insignificant." So certain things are going to stand out when we're doing these tests more than others, thus making us think we need to go higher or lower with the hitstun. It doesn't help that there can be (relatively) large variances in hitstun across different characters, which may or may not have received an appropriate amount of gravity for their division constant, thus amplifying the effect one way or the other. And this is all coming back to shape our opinions on if whatever insignificant change we made to the hitstun constant is "good."
If we want to make hitstun appropriate for all characters, we're going to need to do one of two things: 1) give all characters the same gravity modification, so that their fall speeds are still in proportion with their division constants, or 2) get a modifier for the char spec division constant allowing us to give each character their ideal division constant that correctly compensates for their gravity. We are also going to need to make more drastic changes to the multiplication constant if we want to see any significant effect.
Oh yeah, and just for the fun of it... remember when we were at "12%" hitstun (.52)? Well, a 3000 launch speed move on a 34 division constant character would deal 46 frames of hitstun; that's only 3 frames more than is dealt out with our current hitstun constant!
edit: And for those who think the formula is wrong...
I just verified that it is correct by using the frame advance debug code. I used a hitstun multiplier of 1.0 and set gravity equal to zero, so the attacked character would just float there while they were in hitstun, and you could clearly see the transition into the tumble. During the last frames of hitstun, the character is in the exact same position for that duration, and the first frame they begin to move again is when the tumble starts.
I tested luigi's upB against a 0% fox, which produces a launch speed of 4571. Fox's division constant has been shown to be 36. So using the formula, the hitstun
should come out to be 127 frames. I counted 125 frames, which I'm willing to attribute to an error in counting.
If you want to test this yourself, feel free to try it using this codeset:
Code:
RSBE01
Smash Bros Brawl (US)
Debug Pause (GCC)
* 80000000 805B8A08
* 0402E5AC 8819000B
* 4A000000 804DE470
* 38000000 EFFF1000
* 86410000 00000001
* E2000001 00000000
* 4A000000 805B8A08
* 3A000002 00FF0000
* 12000002 00000001
* E2000001 00000000
* 4A000000 804DE470
* 38000000 FFEF0010
* 4A000000 805B8A08
* 3A000002 FF000000
* 12000002 00000100
* E2000002 00000000
Frame Advance
* 041E6CD8 4BE1C128
* 041E6D1C 4BE1C114
* 06002E00 00000068
* 9421FF80 BC410008
* 7CE4402E 7CE738F8
* 7CE73039 3864FFC0
* 7CE3412E 7CC4412E
* B8410008 38210080
* 60000000 481E3EB0
* 9421FF80 BC410008
* 7C03202E 3DC01000
* 7DCE70F8 7C007039
* 740E0408 3DE00408
* 7C0E7800 40820008
* 64001000 B8410008
* 38210080 481E3EBC
Hitstun mod (1.0)
* 02B88F48 00030001
* 04B87AA8 3F800000
Grav x0
Grav x0 P1
* 4A000000 90180F20
* 140000E0 00000000
* E0000000 80008000
Grav x0 P2
* 4A000000 90180F7C
* 140000E0 00000000
* E0000000 80008000
Grav x0 P3
* 4A000000 90180FD8
* 140000E0 3DCCCCCD
* E0000000 80008000
Grav x0 P4
* 4A000000 90181034
* 140000E0 3DCCCCCD
* E0000000 80008000