Spielerando

Coyote Time

Coyote time lets the player still jump for a split second after running off a ledge. A late press then counts as a normal jump instead of doing nothing, so the game feels fair. Start at about 0.09 seconds: long enough to catch late presses, short enough not to feel like an extra jump.

Also called: Ledge forgiveness, Late jump, Ghost jump, Edge tolerance.

A small armoured pangolin with a magenta satchel runs one stride past the edge of a turquoise stone ledge, nothing under its feet, as a dotted arc curves across a pink canyon to the far ledge.
Ledgeway Parcels, an invented canyon delivery platformer. Invented game, image generated with AI.

Paste this to your AI

Copy it into Claude, Cursor or ChatGPT. It already has good values and the usual mistakes in it.

Add "Coyote Time" to my game.

What it should do: Players judge a ledge by eye and often press jump a moment too late. Without coyote time they fall and feel the game ignored them. With it, they get the jump they meant.

Build it exactly as this state machine. First check that it fits my game, then build it like this:

```mermaid
stateDiagram-v2
  [*] --> ground
  ground: On the ground
  rising: Rising
  grace: Extra moment
  falling: Falling
  ground --> rising: press
  ground --> grace: walks off the edge
  grace --> rising: press in time
  grace --> falling: extra moment runs out
  grace --> ground: lands
  rising --> falling: reaches the top
  falling --> falling: late press does nothing
  falling --> ground: lands
```

Use these starting values:
- coyoteTime: 0.09 s
- jumpSpeed: 12 units/s
- gravity: 32 units/s²
- maxFallSpeed: 20 units/s

Watch out for these common mistakes:
- The player can jump twice: Tell your AI: end the extra moment as soon as a jump starts, and treat the character as in the air from then on.
- The extra moment is sometimes a little longer: Tell your AI: treat a tiny bit of time left as none, or count whole game steps at a fixed rate.
- Being thrown is not walking off: Tell your AI: end the extra moment whenever anything other than walking takes the character off the ground.
- The late press uses up the wrong jump: Tell your AI: look at the extra moment before the air jump, so a late press counts as the ground jump.
- Landing right at an edge: Tell your AI: fill the extra moment on the step the character lands, not on the step after it.

Do not change anything else in the game. Do not claim anything without proof: model what it takes, and show me what your solution rests on and how I can see that it works. If you cannot show something, say you do not know. When you are done, tell me in plain words how to try it.

Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP

What it does

Players judge a ledge by eye and often press jump a moment too late. Without coyote time they fall and feel the game ignored them. With it, they get the jump they meant.

How it runs, as a diagram

Everything it can be in, and what moves it on. Your AI builds from exactly this.

presswalks off the edgepress in timeextra moment runs outlandsreaches the toplate press does nothinglandsOn the groundRisingExtra momentFalling
How it runs, as a diagram
  • On the ground → Rising: press
  • On the ground → Extra moment: walks off the edge
  • Extra moment → Rising: press in time
  • Extra moment → Falling: extra moment runs out
  • Extra moment → On the ground: lands
  • Rising → Falling: reaches the top
  • Falling → Falling: late press does nothing
  • Falling → On the ground: lands

Good starting values

ValueStart withWhat it changes
coyoteTime0.09 sHow long after leaving the ground a jump still works. Longer feels more forgiving, too long feels like an extra jump. Zero turns it off.
jumpSpeed12 units/sHow hard the character pushes off. Together with gravity it sets how high the jump goes.
gravity32 units/s²How fast the character drops away from the ledge during that split second.
maxFallSpeed20 units/sThe fastest the character can fall. It stops a fall from getting so fast that the character slips through the floor.

What usually goes wrong

The player can jump twice

The character jumps, and a second press in mid-air makes it jump again. The extra moment was still open after the first jump.

Fix: Tell your AI: end the extra moment as soon as a jump starts, and treat the character as in the air from then on.

The extra moment is sometimes a little longer

Computers do not add up small bits of time exactly. At some frame rates the extra moment can last one step longer.

Fix: Tell your AI: treat a tiny bit of time left as none, or count whole game steps at a fixed rate.

Being thrown is not walking off

A knockback or a launcher also lifts the character off the ground, and a surprise jump right after it can look like a bug.

Fix: Tell your AI: end the extra moment whenever anything other than walking takes the character off the ground.

The late press uses up the wrong jump

If your game also has an air jump, a late press uses up the air jump instead of counting as the normal jump.

Fix: Tell your AI: look at the extra moment before the air jump, so a late press counts as the ground jump.

Landing right at an edge

The character lands at the very edge of a platform and runs off the next moment. If the extra moment only fills up a step after the landing, it is still empty, and the late press does nothing.

Fix: Tell your AI: fill the extra moment on the step the character lands, not on the step after it.

How to check it works

Works well with

Common questions

what is coyote time in games

A split second after running off a ledge in which the jump still works. It makes up for presses that come a moment too late, so the game does not seem to ignore them.

how long should coyote time be

Start at about 0.09 seconds, five to six frames at 60 frames per second. Go longer for fast or floaty movement and shorter for strict platforming. If players notice it as an extra jump, it is too long.

what do i tell my ai to add coyote time

Paste this: Add coyote time: the player can still jump for 0.09 seconds after running off a ledge, that time ends as soon as a jump starts, and it only fills up again on the ground, from the moment of landing.

why can my character jump twice with coyote time

The extra moment is probably still open after the jump. Tell your AI to end it the moment the jump starts and not to fill it up again until the character is back on the ground.

Where it comes from

Earliest example we could find: Canabalt (Adam Saltsman), Flash version, described in his article 'Tuning Canabalt' (2009). Saltsman's September 2010 write-up of the Flash version explains that collision areas are extended so a runner who leaves a building edge can still leap, and frames this as forgiveness for late presses. The game year comes from the survey's bibliography and from the article's mention of the game's birthday. This is a spatial version of the idea, not a timer. Saltsman does not use the name; Pichlmair and Johansen later present it as Coyote Time.

  1. 2009 Canabalt (Adam Saltsman), Flash version, described in his article 'Tuning Canabalt': Saltsman's September 2010 write-up of the Flash version explains that collision areas are extended so a runner who leaves a building edge can still leap, and frames this as forgiveness for late presses. The game year comes from the survey's bibliography and from the article's mention of the game's birthday. This is a spatial version of the idea, not a timer. Saltsman does not use the name; Pichlmair and Johansen later present it as Coyote Time. [Tuning Canabalt (Adam Saltsman, Game Developer/Gamasutra blog, 2010-09-29)][Designing Game Feel. A Survey (Pichlmair and Johansen, arXiv 2011.09201, 2020-11-18)]
  2. 2011 Limbo (Playdead), as measured in Fasterholdt, Pichlmair and Holmgard (2016): A peer-reviewed study that recorded and measured play reports a short delay after running over an edge during which a jump still works. The authors call it an edge jump and link it to Venturelli's and Pignole's descriptions. The year is the one the paper cites for the game; other platform dates were not checked. [You Say Jump, I Say How High? Operationalising the Game Feel of Jumping (Fasterholdt, Pichlmair, Holmgard, DiGRA/FDG 2016)]
  3. 2013 Kyle Pulver, 'Platforming Ledge Forgiveness' (blog post): A developer post on this technique. The original page could not be opened, so its title and year come from the survey's bibliography, and Lisa Brown's 2017 tutorial confirms it covers ledge forgiveness. Its content was not read. [Designing Game Feel. A Survey (bibliography entry 192)][GameMaker Platformer Jumping Tips (Lisa Brown, Game Developer, 2017-10-05)]
  4. 2014 Yoann Pignole, 'Platformer controls: how to avoid limpness and rigidity feelings'; Mark Venturelli, 'Game Feel Tips I: The Ghost Jump': Two developer blog posts describe a timed grace period. Pignole (January) proposes a delay after falling from a platform, without giving it a name. Venturelli (August) gives it the name Ghost Jump, a label he presents as his own. Neither uses the word coyote. [Platformer controls: how to avoid limpness and rigidity feelings (Yoann Pignole, Game Developer, 2014-01-03)][Game Feel Tips I: The Ghost Jump (Mark Venturelli, Game Developer, 2014-08-10)]
  5. 2017 The term 'Coyote Time' in Jennifer Scheurle's Twitter conversation on hidden mechanics: Earliest dated appearance of the name in a source opened here. WinFuture (5 September 2017), citing Polygon, reports developer Chevy Ray describing the trick by this name. Lisa Brown lists the name in October 2017 as one of several for the technique. Scheurle used it again in her GDC talk, covered in March 2018. This dates usage, not coinage. [Entwickler plaudern aus dem Naehkaestchen: So wird bei Games getrickst (Witold Pryjda, WinFuture, 2017-09-05)][GameMaker Platformer Jumping Tips (Lisa Brown, Game Developer, 2017-10-05)][Appreciating the magic (and power) of hidden game mechanics (Alex Wawro, Game Developer, 2018-03-19)]
  6. 2020 Celeste; Maddy Thorson's game-feel thread and essay 'Celeste & Forgiveness': Thorson lists Coyote Time as a Celeste technique in a thread reported on 13 March 2020, later expanded into an essay on the developer's site. Thorson says the techniques were not invented for Celeste. The survey published in November 2020 uses the name as the standard academic label. [Celeste & Forgiveness (Maddy Thorson)][Developers have been subtly cheating to help us win (Cory Taylor, Blizzard Watch, 2020-03-13)][Designing Game Feel. A Survey (Pichlmair and Johansen, arXiv 2011.09201, 2020-11-18)]

Who coined the term is undocumented: no source opened here names a coiner or a date of coinage. The earliest dated appearance found is WinFuture on 5 September 2017, a German paraphrase saying Chevy Ray described a trick that is called Coyote Time. That wording suggests the name already existed, but it is a paraphrase, and Chevy Ray's own post could not be read. The same article cites a Polygon piece that could not be opened. Earlier use on Twitter, forums or in studios is plausible but could not be searched. Etymology: the Wile E. Coyote reference is given by WinFuture, Wawro and the Pichlmair and Johansen survey (and Wiktionary, whose entry has no dated quotations), but none of these explains who chose the name. Definition dispute: Canabalt's forgiveness is an extended collision area, while most later descriptions use a timer. The survey treats Canabalt as Coyote Time; a stricter reader could start at the 2014 timed descriptions, or at Pulver's 2013 post if its content proves to be timed. Earlier games probably did this without documentation: Venturelli calls the advice old, and Thorson disclaims invention, but neither names an earlier game. Scheurle named Rayman as a user of the technique without giving a version, so it is not dated here. Names found: ledge forgiveness, grace period jumping, ghost jump, coyote jump, edge jump, edge tolerance. Source strength: Saltsman, Pignole, Venturelli, Brown and Thorson are developers writing about their own or their field's practice; the two papers are academic; WinFuture is general tech press relaying Polygon. Limitation on the Limbo event: the same 2016 paper uses memory-inspection data for its Mario figures, but says Limbo was recorded and measured directly, so only the Limbo statement is used.

Games are named only as references. Names and marks belong to their owners, and nothing here is endorsed by them.

What was checked

This is what separates the blueprint from a catalogue entry: the values on this page come from code that runs.

Your AI gets the code

Tested example code comes through the Spielerando connection, so your AI can use it right away. How to connect it