Timing Windows

Overview #

“Timing windows” relates to moments of time where user input is required to correctly accomplish a task. This might be related to making a job, performing a quick time event, hitting a note in a music/beat oriented game, etc. Rather than requiring perfect timing of the input (which may be near impossible in some cases), it’s important to allow for a small buffer, or window of forgiveness, in which early or delayed input will still be accepted.

Common Solutions #

Coyote Time #

This feature is most commonly seen in platformers, but may be useful in other game genres as well. For example, if you are making Doom: Eternal style FPS with a lot of platformer, support Coyote Time can help make tricky leaps less frustrating.

Coyote Time, sometimes referred to as “Coyote Frames”, is an invisible feature that gives the player a small, extra window to make crucial jump, both for taking off and landing. It was comically named after cartoon character Wile E. Coyote, who routinely had issues with the laws of physics while trying to catch the Road Runner. Games without Coyote Time are often dismissed as “too hard” or “not fun.” Developers who managed to get it right would end up with games that are still beloved today.

Paraphrased from Coding Imprecise Controls to Make Them Feel More Precise

Example: Celeste #

https://twitter.com/MaddyThorson/status/1238338574220546049
https://twitter.com/MaddyThorson/status/1238338574220546049

Additional Resources #

Input Buffering #

Input buffering is allowing the player (or any source of input) to input commands into the game and allow those commands to be effective for a short window of time after they are inputted. In the case of jump input buffering, the goal is to allow the player to input the jump button and still have a successful jump even if they mistimed their input by a tiny amount.

Paraphrased from Jump Input Buffering.

Example: Celeste #

https://twitter.com/MaddyThorson/status/1238338575545978880
https://twitter.com/MaddyThorson/status/1238338575545978880

Additional Resources #