Mechanic · input & timing · platformer
Jump buffering
A short window in which a jump press made before landing remains available to start a jump once the character is grounded.
On this page
Jump buffering keeps a jump press available briefly after the player makes it, so the game can start the jump when the character becomes grounded. Coyote time keeps a jump available for a press made just after leaving the ground.
- Update counterCeleste Classic (2015). A 4-update counter stores presses and counts down until a jump starts.1
#How it works
Celeste Classic stores a new press in jbuffer for 4 updates1 updates, then counts it down by one on each update without a new press1. A normal jump clears the counter when its grace counter is positive, and a wall jump clears it when the wall check succeeds1.
Games
| Game | Year | How | Note |
|---|---|---|---|
| Celeste Classic | 2015 | Update counter | a 4-update counter stores presses and counts down until a jump starts |
Every claim about this mechanic, by game (1)
References
- ^ abcdCeleste Classic stores a fresh jump press in
jbufferfor 4 updates, counts it down by 1 on later updates, and clears it when a normal or wall jump starts.CodeNoelFB/CelesteHow we know
223 var jump = E.btn(G.k_jump) && !p_jump; 224 p_jump = E.btn(G.k_jump); 225 if (jump) 226 jbuffer = 4; 227 else if (jbuffer > 0) 228 jbuffer--;
Source/PICO-8/Classic.cs lines 223–228 at 1b0ce45 · upstream ↗ 297 if (jbuffer > 0) ⋮ 299 if (grace > 0) ⋮ 301 // normal jump ⋮ 303 jbuffer = 0; ⋮ 308 else ⋮ 310 // wall jump ⋮ 312 if (wall_dir != 0) ⋮ 315 jbuffer = 0;
Source/PICO-8/Classic.cs lines 297–315 at 1b0ce45 · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-22.
Checked by a second AI model, 2026-10-27.
Sources
Code
- Thorson, Maddy and Noel Berry. 2021. “Celeste: released class files (NoelFB/Celeste).” Commit 1b0ce45. NoelFB/Celeste @ 1b0ce45 · licence, all uses