The jump is the whole contract
15 min read
By Eduardo Orellana ·
Celeste, Maddy Makes Games, 2018. Nothing else in the mountain matters until the jump is short, steerable, and willing to assume you meant the ledge.
Feel is the first system
In a platformer, nothing else works until the body feels honest. Celeste, Maddy Makes Games, 2018, is a hard game people call fair, and the fairness starts in the jump, not in the assist menu. Acceleration, a short hop you can cut off, a camera that does not lie about the ledge. The numbers came from play, not from a formula copied off a wiki.
Hidden grace is the other half. A window of a few frames where the game assumes you meant the ledge, or meant the dash, and gives it to you. Players call this responsive. It is actually generous, in a way they are not supposed to notice. Without it, a precise game feels cruel. With too much of it, the precision is fake. Celeste tunes the generosity until death feels like your mistake. That is the contract. The mountain is content. The contract is the game.
Player feel comes before anything else in a platformer
In a platformer, nothing else works until the character feels good. Every room asks the player to trust the hero, so sloppy physics, laggy inputs, floaty jumps and vague positioning poison the genre. When a player cannot land where they aimed, even a clever layout starts to read as unfair.
Celeste is one of the clearest modern demonstrations of that trust. Madeline, the climber the game is built around, is tight, precise and responsive. She pings between platforms with fluidity and accuracy, and she does not only hold up in the calm rooms. The hardest challenges in the game demand sequences that looser movement could never support.
Which is why character feel belongs to design, not just to implementation. A platformer player is running constant small predictions: how far the run will carry, how fast the jump will rise, whether the wall grab will catch, whether a dash can still be steered after it starts. Celeste answers those predictions consistently enough that attention stays on the room rather than on arguing with the controls.
No single magic number produces that. It comes out of run curves, jump shape, air control, camera framing, climbing, dashing, animation, sound, tiny pauses, hidden forgiveness, and a willingness to keep reshaping the character as the levels reveal what the game needs. Celeste is worth studying because it treats feel as one whole system instead of a stack of variables tuned in isolation.
Acceleration and deceleration set the first impression
A run breaks into three parts: acceleration, top speed and deceleration. Acceleration is the time between the player pushing the stick and the character hitting full speed. Deceleration is the time between letting go and coming to rest. Those two curves are what a player judges within seconds.
Cut them too short and the character reads as stiff and robotic; Mega Man 11 moves very directly but can feel mechanical. Stretch them too long and the character feels heavy setting off, as in Super Meat Boy, or slippery coming to rest, as in Super Mario Bros. 3. Mario generally feels excellent, yet the long stop can still make him seem to be running on ice.
Madeline sits at the short end. She hits full speed in roughly six frames, about four times quicker than Meat Boy, and stops in roughly three, around nine times quicker than Mario in New Super Mario Bros. U. Those curves are long enough to keep her animated and human, short enough that she does what she is told almost at once.
The balance matters in both directions. Instant acceleration and instant stopping would strip the movement of body and turn Madeline into a cursor. Much longer curves would leave the player compensating for inertia instead of reading the level. Celeste threads the narrow gap where motion is still visible but never becomes the challenge on its own.
That is why sliding off a ledge in Celeste seldom feels like the character wandered away from the input. The game is hard; the basic run is not the thing fighting you. Madeline's top speed is also low, and there is no run button waiting to shove her into a faster state. She is quick enough to feel fluid and slow enough to stay governable at every moment.
A short jump keeps control in the player hands
The jump takes the same treatment. One handy measure is height relative to the character's own body. Mario clears about four times his height in New Super Mario Bros. U. Meat Boy clears about six. That number decides how much space a single input covers and how long the player spends waiting in the air.
Shape counts as much as height: the rise, the hang, the fall and the total duration. Meat Boy's tall, long jump can feel floaty. Yarny in Unravel jumps short with barely any hang, which makes a bundle of yarn feel oddly heavy. Neither is correct on its own. Each one sets a different expectation.
Madeline stays short and sharp again. She rises and drops fast, with just enough hang to line up the landing, and tops out around three times her own height, which is modest next to a lot of platformer heroes. Like the run, the jump is springy without being floaty, and very little of it is spent waiting for gravity to hand control back.
Celeste pairs that with quick direction changes and heavy air friction. Release the stick mid-jump and Madeline drops almost straight down. Canceling horizontal drift on demand is what makes exact landings practical, instead of watching the character coast past the spot you wanted.
A steady camera is part of the control scheme
Good movement numbers still need a camera that lets the player use them. Celeste sits zoomed out, and plenty of rooms are framed by a fixed viewpoint that never chases, recenters or lurches while a jump is in progress. When Madeline is the only thing moving on screen, placing her precisely gets easier.
The choice costs something. Zooming out leaves less space for detail in the character and the environment, which bites hardest in pixel art. The trade pays for itself here, because Celeste is more interested in reading a room, planning a route and trusting the character than in showing off large close-up animation. The camera is control design, not decoration.
Any platformer can take that lesson. Movement code can be excellent and still feel worse behind a camera that competes with it. A jump that reads as fair on a stable screen turns sloppy once the camera adds motion of its own, hides the landing spot, or shifts the player's visual reference. Celeste's framing lets the controls be judged on their own merits.
The values came from playtesting, not from a formula
Madeline's movement is hand-written rather than handed off to stock gravity and physics defaults. That bought the developers exact authority over input, acceleration, collision, friction and every special case. Simulating a real body was never the goal. Building a character who reacts the way a platformer player expects was.
The actual values came out of experience, instinct, experimentation and testing with players. The team tried something, watched people play, and moved the numbers whenever the movement failed to produce the rhythm they wanted. Some changes were tiny and some were sweeping, and the character and the levels kept shifting together the whole way through.
Graphs and frame counts explain the result afterward; they do not substitute for the process. A curve that looks elegant on paper can still feel wrong to a player salvaging a missed landing, stringing wall jumps together, or trying to stop short of a spike. Celeste's movement was never tuned to be mathematically tidy. It was tuned so that intent turned into response, over and over.
That is the part theory cannot supply. Run speed and jump height are easy to plot, but the verdict comes from whether a player feels in command while solving real rooms. Celeste works because its numbers serve the game it turned into, not because they are a universal recipe waiting to be copied.
More on this: Godot platformer templates: three different things go by that name
Climbing and dashing solve the same space differently
Run and jump are only the base layer. Celeste stacks two more verbs on top for getting up the mountain, climb and dash, and each one rewrites how the player reads a room.
Holding the trigger snaps Madeline onto a wall. From there she can climb, hold station, or spring off with a wall jump. She does not slide loosely against surfaces the way many characters do; she sticks with confidence. The limit is stamina, a hidden pool of 110 points that drains at different rates depending on whether she is hanging still, climbing, or firing off a climb jump.
Dash is the explosive option. Hit the button and Madeline shoots off in whatever direction is held. She only gets one dash in the air until she touches ground or grabs a crystal, and the game states that plainly by recoloring her hair. The dash does take control away, since she launches at maximum speed, but only for about 0.15 seconds. Control returns in time to kill the momentum before it carries her into something lethal.
Handing control back is what gives the dash nuance. It is not a fixed hop from A to B. It is a risky, expressive tool with an uncontrolled opening and a steerable ending. Set against the blunter dash in Celeste's PICO-8 forerunner, the shipped version leaves far more room to shape the move after committing to it.
The contrast between the two verbs carries the game. Climbing is stable, legible and deliberate; dashing is fast, forceful and slightly dangerous. Since both can answer some of the same spatial questions, the player is repeatedly picking between safety and speed. Rooms get their rhythm from that choice: hold, release, burst, correct, recover, go again.
Jump, climb and dash together turn Celeste into a fast resource puzzle about vertical space. Jump, dash, catch a wall, let go to recover stamina, touch ground or crystal to reload the dash, launch again. Every move has its own speed, texture and degree of control, with the dash as the chaotic answer and the climb as the methodical one. Because the tools overlap without duplicating each other, plenty of rooms have more than one solution.
Art, sound and screen shake make the motion legible
Numbers are only half the feel. Art, animation, sound, rumble and timing are what let a player read movement as physical action. Madeline squashes and stretches through her jump so the motion registers in her body, dust sprays up on landing, and the controller thumps to sell the impact.
The dash gets its own punctuation: a four-frame freeze and a tiny screen shake to heighten the burst, plus a shadow trail and a bright contrail marking speed and direction. None of it lasts long, and all of it works hard. It makes inputs visible, and tells the player that something happened, which way it went, and how hard it hit.
Keeping the effects brief is the trick. A longer freeze would break flow. A bigger shake would make precision harder. A trail that hung around would clutter the room. Celeste uses these as punctuation rather than ornament, sharpening the read on timing and direction and then clearing out before the next decision.
This is not a juice showcase where every input detonates. The restraint keeps the room readable, which is the whole point in a game about precision, but there is still enough of it that Madeline never feels like a collision box sliding over tiles. The feedback is the wire between the player's hands and the character's body.
Hidden grace windows read what the player meant
Celeste gets brutally hard once you start chasing strawberries, cassette tapes, B-Side levels and the deeper optional content. It is also unusually generous. Buried in the code sit a pile of hacks and special cases that quietly make the game less punishing than its reputation suggests.
Coyote time is the famous one: a short window in which a jump still counts a few frames after the character has left the platform. The name comes from the old cartoon bit where a character runs off a ledge and hovers a moment before dropping. What it does in practice is honor the player's intent when the jump button lands slightly late.
The list runs long. Dashing into a corner can slide Madeline around the edge instead of stopping her dead. Spike hitboxes are a touch forgiving, so brushing the very tip is not automatically fatal. Some blocks still hand over momentum when the input arrives a little behind. Start a climb jump and immediately push away from the wall and the game can convert it into a wall jump and refund the stamina. Press jump just before touching down and the input is remembered and fired on landing.
None of this is about making the game easy. It is about making a failure feel like the player's failure rather than the controller's. Hitting jump one frame early and getting nothing feels like the game swallowed the input. Celeste chooses to read that press as intent, so the player stays focused on solving and executing rather than feeling cheated by a frame.
That distinction sits at the heart of good action design. A strict simulation asks whether the button landed on the legal frame. A player-facing control system asks the more useful question: what was obviously being attempted? When the answer is unambiguous, a small window can preserve the intended action without softening the challenge. Celeste is demanding because its rooms demand skill, not because its input parser refuses to meet you halfway.
Those same windows also lift the ceiling. Newer players just register that the game is responsive and fair. Experts learn exactly how wide each window is and exploit it on purpose to cross gaps, chain moves and cut faster routes. Forgiveness and mastery are not opposed; a well-sized grace window makes a game warmer at the start and deeper at the top.
Chained tricks give the movement a long ceiling
The same movement code supports advanced techniques that turn the hardest stages into something closer to dance. A forward dash canceled into a jump becomes a huge leap that carries the dash momentum through the air. Do it crouched and you get the hyperdash, lower but faster. Space the dash and jump inputs slightly further apart and players can extend those moves and recover the dash in midair.
Momentum chains from there. After an extended hyperdash, a diagonal down-forward dash can preserve and multiply speed in the right conditions, producing the ultradash. Canceling a dash upward along a wall produces extra height and vertical speed, known as an up-hyper or wallbounce.
What makes these worth noting is how neatly they sit inside the level design. Many are deliberate, and some are taught inside the game itself. They are not glitches bolted onto a finished controller; they fall out of the same rules that make the ordinary game responsive. A new player runs, jumps, climbs and dashes along the main path. An expert reads those identical verbs at much higher resolution.
That is what gives the controls staying power. A movement system with no advanced expression can feel great for an hour and then go flat. Celeste keeps opening up because its verbs can be timed, canceled, extended and chained. There is no separate expert game hiding inside the main one. The main game simply keeps paying out for sharper understanding.
Test the character with nothing to do
The sharpest takeaway from Celeste is that the character should be enjoyable with no objective at all. Drop someone into a bare room with a controller and moving around ought to be fun by itself. Before any mountain of content arrives, the player character needs enough responsiveness, rhythm and expressiveness to carry the moment on its own.
The idea is easy to undervalue, because platformers get reviewed on their levels. But levels only amplify what the character already is. A mushy run, floaty jumps and an unpredictable dash get exposed by the first interesting room. Get the character right and levels can start posing real questions instead of papering over the basics.
Super Mario Sunshine makes the point. Wandering Delfino Plaza is entertaining before any objective shows up, because Mario's movement has texture, responsiveness and playful options in it. Celeste's style is nothing alike, and the principle still holds: enjoy being the character first, master the character second. It is not a thing you can settle in a spreadsheet either. Get a build running, hold the stick, and judge it yourself.
Rooms and physics keep rewriting each other
Movement does not get finished before level design starts. Adding pinball bumpers, trampoline clouds, moving blocks, wind and aggressive hazards to Celeste sent the team back into the movement code repeatedly. A level idea could prove the character needed a different value, and a controller change could force a pile of rooms to be reworked in reply.
The loop can hurt. You tune the player character until it feels right, build a batch of levels, test them, and find out the character still has to change, which means the levels have to change again. None of that is wasted effort. It is the mechanism by which the game tells you what it wants to be.
Throwing work away is part of the deal. A promising idea can turn out not to belong once the thing is playable, and cutting it still advances the project, because the attempt leaves knowledge behind. The team ends up understanding the character, the rhythm, the room size, the difficulty and the set of moves that earn their place.
So polishing movement before adding content does not mean locking it down early. The controller has to be good enough for levels to test it honestly and loose enough to move when the levels find a weak spot. Celeste's final feel is the residue of that loop: movement suggests levels, levels stress movement, and both keep changing until the game coheres.
Other platformers make other trades on purpose
Celeste is one excellent answer to platformer feel, not the only one. Shift the curves and you get a different game. Playdead's Inside leans on realistic animation and weight. N+ pushes air control to an extreme. Sonic is about gathering and keeping momentum, so his long acceleration curve and reluctance to stop are features serving a different fantasy.
The lesson is not to copy Madeline's numbers. It is that the numbers have to serve the play you intend. Acceleration, deceleration, top speed, jump height, hang time, air friction, camera, feedback, forgiveness and skill ceiling all pull on each other, and a player notices immediately when one of them contradicts the rest.
Madeline is still a good starting point for thinking about platformer characters, because her movement lays the questions out so plainly. Get the base curves right. Add mechanics that make navigating space meaningfully different, not merely faster. Use feedback to emphasize motion. Forgive small timing and collision errors whenever intent is obvious. Leave headroom for mastery. Keep testing, tweaking and cutting while the levels teach you what the game actually needs.
That is the answer to why Celeste feels so good to play. The controls are not merely precise. They are precise in service of intent, readable in motion, generous at the edges, expressive at the ceiling, and flexible enough to keep growing alongside the levels built around them.
Build it in Flockbay
In the Flockbay app, do not build the mountain. Build one jump onto one ledge, and play it until missing feels like you. Add a few frames of forgiveness only if the miss feels like the game. Then, and only then, ask for a second room.
An AI platformer maker and a precision platformer template will try to give you a level. Refuse the level.
More on this: Puzzle platformers fail in the seam between the two halves
Keep reading
- A puzzle is two rules in conflict
- Tough is not the same as smart
- A guard must show what he knows
- Tune a jump until it feels right with the AI platformer maker
Build your character until moving around an empty room is already fun, get it running in front of real players, and let what you see there tell you what to change.
More notes on designing game feel