Tool-assisted game movies
When human skills are just not enough

Game Resources / Windows / Celeste

This page gathers general tricks about Celeste. All speed values are represented in pixels/s.

Table of contents [expand all] [collapse all]

Basic movements

These are the list of movements that are part of the intended gameplay.


Walking has a cap horizontal speed of 90. If you happen to go faster than 90, speed will decrease by ~4.33 per frame (considering you move forward) in the air, and more on ground.


Jumping gives you a vertical speed of -105 (negative means upward). You can hold jump to keep this vertical velocity. It will start decreasing when you release jump or after 12 frames. Moreover, holding the jump button when you start falling will reduce the fall a bit. Jumping also gives you an horizontal speed boost of +40. Jumping is still possible for a few frames after you leave a ledge (coyote time).

Wall Jump

Wall jump gives an initial horizontal speed of 130 and vertical speed of -105. By doing a neutral wall jump, you can decelerate faster, which makes it possible to climb on a single wall.

Wall Climb

You have an initial stamina count of 110, which decreases when you climb up, and slowly decreases when you stand still on a wall. Jumping with the grab button decreases stamina by 27.5, so you can perform a maximum of four wall climb jumps. Stamina is refilled when you land or collect a Crystal.

Fast fall

The maximum fall speed is 160. It can be increased by holding down, to a maximum of 240.


The dash lasts 14 frames. The first 4 frames of the dash are freeze frames (the entire stage and the in-game timer also freeze for 3 frames), then you are moving toward the direction with an absolute speed of 240 (so ~169.7 in each direction for a diagonal dash) during the 10 last frames.

At the end of the dash, your speed is reset to an absolute value of 160, except if you performed a diagonal-down dash and that the dash ended in the air (very important for later techniques).

The recovery period is 15 frames after the beginning of the dash, meaning that you can start another dash 1 frame after the previous dash ended (if you got the dashable state back). You can get back the dashable state 10 frames after the beginning of a dash if you are on the floor.

If you start a dash with a horizontal speed higher than the speed that the dash would give, then the dash will inherit your horizontal speed. For example, if you dash down-forward while having an horizontal speed of 200, your dash will have an horizontal speed of 200 and a vertical speed of ~169.7.

Dash Jump

When jumping during an horizontal dash, the dash is canceled and you gain a speed of 260 and a normal jump height (vertical speed of -105).

Hyper Dash

When doing a dash in crouched state (diagonal down-forward dash) and jumping during the dash, the dash is canceled and you gain a speed of 325, and a lower jump height (vertical speed of -55).

Wall Bounce

When dashing upward and doing a walljump during or shortly after the dash, you will perform an improved wall jump called wall bounce, with an horizontal speed of 170 and a vertical speed of -160.


Your absolute speed while in feather form is 190 (after a short transition at the beginning). It can be controlled by the analog stick for finer precision. Changing the direction of your movement too abruptly will decrease your speed. You generally want to keep the angle difference between two frames below 17 degrees.

Advanced techs

Double bind

By default, the game allows you to bind multiple buttons/keys to the same action. Having two buttons for the jump action is helpful in several situations. The most remarkable one is on water surfaces. When you are partially under water, you can jump. By alternating the two jump buttons, you can jump every frame. As you get a speed boost of +40 for every jump, you can gain massive speed in a short amount of time (if doing properly, you can get around 8 times the boost before leaving the water).

Corner boost

When you move toward a wall and get close enough to be able to walljump (within 4 pixels), but not against the wall, you can press forward+jump+grab to get an horizontal boost of +40. If you manage to go over the wall within 4 frames, you will keep your speed. This is why it is called corner boost, as it is almost always performed at the top of walls.

Dash cancel

The same method can be used when getting close to a corner with a dash. Pressing forward+jump+grab will cancel the dash but keep the speed (with the added +40 speed if you didn't touch the wall when jumping). This is very convenient to cancel dashes that would reset your speed, such as forward or up-forward dashes. As a side note, it is only available since v1.2.2.4. Before that, a standard wall jump would trigger even if the climb button was held.

Reverse corner boost

It is also possible to do a corner "boost" when going away from the wall. If you are going right and getting close to a wall on your left, you can press left+jump+grab. You will get the speed boost but toward the wall, meaning that you will loose 40 speed. It doesn't sound like a good tech, but it still allows you to cancel dashes (mostly diagonal up-forward dashes in this case) while keeping most of the speed.

There is another way to cancel dashes using neutral jump+grab. You must turn around during the dash to face the wall, and when you get near the wall, press jump+grab without any direction. It will cancel the dash and keep the speed without the -40 penalty above. The drawback is that if you press forward during the next 10 frames, the game will register your inputs as a standard wall jump and will reset your speed to 130. Not holding forward means that you will loose speed about twice as fast than if you hold forward.

Double corner boost

If your speed is low enough (around 100 or less), it is possible that after doing a corner boost, you are still not touching the wall. You can then press again forward+jump+grab (using double bind) for another +40 boost. This is mostly used on stages where the dash is unavailable (Prologue and Core stages).

Ultra dash

When dashing down-forward, you gain the "slide" state. When having this state, the next time you land on the ground, your horizontal speed will be increased by 120%. This mechanics is the main method to gain very high speeds in TASes.

Grounded ultra dash

This is the fastest method to travel on plain ground. If you perform an hyper dash and jump at the latest possible frame, you can immediately start another dash. By dashing down-forward, you will keep your speed of 325 from the previous hyper dash, and get the 120% speed boost from sliding, resulting in a dash with 390 speed. This speed is still lost at the end of the dash, so it must be repeated.

Air ultra dash

This method is based on the fact that the slide state is not lost when the dash ends. By doing a down-forward dash that ends in the air, your speed is not reset, as mentioned before. Then upon landing, you gain the 120% boost and you can continue building up more speed. This method however requires a specific level design to be effective.

Delayed ultra dash

If you don't have enough room to perform a full diagonal down-forward dash in the air, it is also possible to cancel this dash with a corner boost. You will keep the slide state, and still get the boost on the next landing.

Crouched dash (aka Demodash)

This technique allows you to dash in crouched state toward any direction. First, input a down or diagonal down dash, and during the dash freeze, change the direction to the one you want to go. There are multiple advantages of crouched dash:

  • your hitbox will be smaller (4 pixels height), allowing you to go through some obstacles
  • you can perform a hyper dash, even when dashing forward

Stamina-less climb

The basic method was mentioned above: it consists on doing a neutral walljump and immediately going toward the wall. There is an improvement of this method: by doing a neutral wall climb jump, we consume the expected 27.5 stamina and stay against the wall. After 9 frames, we press the opposite direction, and the game will re-register our jump as a walljump, giving us back the stamina. We then hold direction toward the wall until we reach it, and do the whole process again.

Moving blocks

The speed of moving blocks is added to our speed when we perform a jump, a walljump or a dash from a moving block. Also, when we leave the block, we are still getting this boost for 10 frames if we jump, walljump or dash. In TAS, it can be used by jumping multiple times and dash from moving blocks.

Cutscene skip

There are two tricks regarding cutscene skip. First, when a cutscene triggers, you quickly loose speed. However, if you go to the menu and skip the cutscene on the first frame, you will keep your speed, but it will also cancel your dash. You can take advantage of that by entering the cutscene with a grounded ultra, so that you keep the ultra speed without the dash state.

The second trick uses the fact that after skipping some cutscenes, the game will teleport you to a new position, but only along the X axis. You will keep your Y coordinate. By entering the cutscene with unusual Y position, you can be teleport to unexpected places. This trick is used in several places like chapters 3A and 5A.

Menu storage

By going into a submenu and pressing two cancel buttons at the same time, you regain control of the character while still having the main menu opened. This was patched in v1.2.4.0. This has (at least) two applications:

  • Unskippable cutscenes can be skipped, by doing the menu storage before triggering the cutscene, and entering/leaving a submenu to make the "Skip cutscene" option to appear
  • By choosing "Save and Quit" during a screen transition from screen A to screen B, and loading the save, you will be placed on screen A, but the game will show screen B. You can then move on screen A, and all entities are disabled because they are offscreen. The game will refocus on you as soon as you are going airborne


See also

Combined RSS Feed
GameResources/Windows/Celeste last edited by keylie on 2019-01-03 17:59:00
Page info and history | Latest diff | List referrers | View Source