A lot of people ask me how long a frame is. I reflexively measure timings in games using frames (assuming 60fps), and I have a rather good sense of it. This comes both from being an animator, and experience with games in general.
So I had the idea, why not make a tool that helps show how long a frame can be by giving people an interactive example? So I got into flash, putz’d around for a bit, and ended up with this.
To operate it, click the Go button to start the arrow moving from left to right. Press any key, or click the stop button to stop the arrow. The goal is to stop the arrow when it’s yellow, just before it hits the end.
You can configure how long it takes to get from the beginning to the end by changing the Frame Total text box on the left. And you can change how long it turns yellow with the Frame Window text box on the right.
By changing frame total, you can give yourself more or less waiting time before it turns yellow. By changing the frame window, you make it turn yellow for longer.
If you stop it while it’s green, you did it too early. If you stop it while it’s red, you did it too late. Use the arrow getting close to the end as your visual cue.
By default I set it to 40 frames total (to give you a decent amount of reaction time before you gotta press the button) and a window of 7 frames, which is the window for parries in 3rd strike and L Cancels in Melee. Try setting it to all different periods and trying it out. Try setting it for different periods of time just to see how long they are, like 60 frames is 1 second, 30 is half a second, 20 is a third of a second, 10 is a sixth, 5 is a twentieth.
For reference, here’s some other frame windows from various games and my description of how easy/hard they are.
1 frame: Reversal window in Super Turbo and Guilty Gear. Kick Glitch Window in Mirror’s Edge. 1 frame link timing. This is the hardest possible single input in a 60FPS game. Obviously combination inputs can be harder. Coincidentally, I had to jerry rig the setup to allow this window (it would otherwise show red on the last frame), and I managed to test it was working successfully on the 3rd try.
2 frames: Reversal window in 3rd strike, power shield window in Melee, throw tech window in guilty gear. Boost Smash/DACUS window in PM. This input is almost perfect, allowing just enough leniency that people can feasibly get consistent at it.
3 frames: Smallest possible window for a link in SFV, reversal window in SFV, common window for links across fighting games. This one has a tight timing, you’ll feel that it’s really tight. It’s practically the exact moment that the thing hits, except significantly more lenient than 1 or 2 frames. I can do these consistently in SFV. Any mediocre fighting game player can do these in their sleep.
4 frames: Perfect Shield window in Brawl. Slightly less tight, but still enough to be difficult.
5 frames: Reversal Window in SFIV, parry window in DMC3/4. This is where the window becomes wide enough to let you get the input even if you mashed it (unless of course there’s a lockout period to dissuade mashers, like the DMC parry has)
7 Frames: 3s Parry Timing, L Cancel Timing in Melee. There’s a bit of wiggle room here. You’re no longer pressing the button just as you reach the end, just as the fireball is about to hit you, or you’re about to hit the ground. If you do it a bit early, you are forgiven.
15 frames: Average human reaction time. Throw Tech Window in Blazblue.
20 Frames: The Tech Roll window in Melee. This window is so wide, there should be no reason to miss it if you see it coming, it’s completely outside average human reaction time.
30 frames: Half a second. Blazblue has a 27 frame throw break window for throws during hitstun/blockstun. The Parry Window in Metal Gear Rising is this long. The parry window in Rivals of Aether is this long.
50 frames: Seth Killian once said that the counter window in Batman Arkham Whatever is like 40-50 frames. This is so long that it’s practically impossible to miss.
By the way, if anyone wants me to make a 20 fps or 30 fps version of this tool, then I can do so easily. I tried to add another box that let you change the framerate manually, but it didn’t work.