Skip to content
Kalobi edited this page Sep 23, 2024 · 9 revisions

Ultras are one of the main ways to gain high horizontal speed in Celeste and are therefore ubiquitous in TASes. However, a lot of terminology surrounding ultras is quite vague and inconsistent. Therefore, this page aims to give a comprehensive overview of ultras and various mechanics related to them.

Landing an ultra

Whenever the player dashes or uses a red booster, once the dash direction is determined, the player's DashDir variable is set to that direction. This will be preserved until another dash is initiated or it is modified by the following process:

If the player collides with the ground while DashDir is set to a down diagonal direction and the player has downward speed, or if the player performs a down diagonal dash while already on the ground, the following things happen:

  • DashDir is changed to horizontal
  • the player's horizontal speed is multiplied by 1.2
  • the player crouches

This is referred to as landing an ultra, or simply as an ultra. In a TASing context, the term "ultra" almost always refers to this specific mechanic, although in an RTA context, the term is sometimes applied more broadly to some of the things in the upcoming sections.

Note

Colliding with the ground is not the same as simply being on the ground. Colliding happens if the game tries to move the player into the ground (e.g. if the player is 2 pixels above the ground and has enough downward speed to be moved down by 3 pixels in the current frame). Simply being on the pixel directly above the ground is not colliding and does not result in landing an ultra. Since jumping/coyote, dash refreshing, and stamina refreshing are based on being on the ground, it is possible to touch the ground, regain resources, and jump without ever landing an ultra even if DashDir is down diagonal. (Particularly in an RTA context, this often occurs when buffering a jump after a down diagonal dash, but buffering is neither necessary nor sufficient for this to happen.)

Grounded ultras

If the player collides with the ground during a down diagonal dash or performs a down diagonal dash while already grounded, the ultra boost is applied while the dash is still ongoing. This is known as a grounded ultra, sometimes abbreviated to gultra. Because landing an ultra changes DashDir to horizontal, the horizontal speed will be lost once the dash ends (see Speed preservation from down diagonal dashes). Therefore, grounded ultras usually cannot be used to build speed.

Flat ground movement

Repeated grounded ultras are the fastest way to move along completely flat ground if dashes are available. From a standstill, the optimal sequence for large distances is

6,R,Z
1,R,J
7,R
1,R,J
# repeat the following lines as often as necessary
14,R,D,X
1,R,J

The main repeated movement here does a hyper on the very last frame of the dash to get 325 speed, then immediately performs a down diagonal dash to land a grounded ultra, giving 390 speed for the remainder of the dash before hypering again to complete the loop. To accelerate to high speed quickly at the start, a hyper bunnyhop is performed. The hyper at the start is delayed enough that dash cooldown runs out immediately after the bunnyhop, giving maximum speed into the first grounded ultra (which will be faster than the subsequent ones). However, this sacrifices a small amount of distance at the start. If only a single grounded ultra will be performed and will last at most 12 frames, the optimal sequence is

4,R,Z
2,R,J
8,R
1,R,J
12,R,D,X

This gets to hyper speed as early as possible, but loses slightly more speed to friction before the grounded ultra.

Note

If the ground is not perfectly flat, it is often possible to make use of height differences and corners to set up an ultra chain instead.

Grounded ultra cancels

Under certain circumstances, it is possible to cancel the dash state early after a grounded ultra to preserve the high horizontal speed after the dash ends. This is known as a grounded ultra cancel or gultra cancel. See Cancelling the dash for some possible methods of achieving this.

Door ultras

Using a wall that is about to disappear (most commonly a key door/lock block), retained speed can be abused to "smuggle" the speed out of a grounded ultra. This is known as a door ultra. To do this, collide with the door within the last 4 frames of the dash, and time this collision such that the door will disappear immediately after the dash ends. The high horizontal speed will be stored as retained speed when colliding with the door. The player's speed is then reset as normal once the dash ends, but once the door disappears, there is no wall next to the player anymore and the retained speed will be refunded.

High speed dashes

When the player initiates a dash, the current liftboost is added to the current speed. Then, the current speed is briefly stored as beforeDashSpeed while the player's speed is set to 0 for the initial dash frame (this is also when DashDir is reset to 0). Once the dash direction is determined, the player then gets their speed set to the dash speed. However, if the dash has a horizontal component (i.e. if the dash is horizontal or diagonal) and the horizontal speed that the player would get from the dash (240 for horizontal dashes, 169.71 for diagonal dashes) is lower than the horizontal beforeDashSpeed, the horizontal speed will be set to the stored horizontal beforeDashSpeed. This allows preserving high horizontal speed into dashes. A diagonal dash performed this way will have a shallower angle than normal because the vertical component is not affected. Such a high speed dash, particularly if performed down diagonally, is sometimes referred to as an ultra by RTA players.

Speed preservation from down diagonal dashes

When a dash ends naturally, if DashDir has no downwards component, the player's speed is set to a fixed value. This happens if the dash was horizontal or upward to begin with, or if a down diagonal dash was performed on the ground or collided with the ground during the dash (see Grounded ultras). However, if DashDir is still down diagonal (or straight down) when a dash ends, the player's speed is unchanged.

The stereotypical ultra

The previous three points combined result in the stereotypical sequence most commonly referred to as an ultra:

  1. Obtain a large amount of horizontal speed (e.g. from a hyper).
  2. Dash down diagonally in the appropriate horizontal direction, preserving the high speed into the dash.
  3. Wait for the dash to end, preserving the high speed because DashDir is down diagonal.
  4. Collide with the ground to land the ultra, multiplying the horizontal speed by 1.2.
  5. Jump to get in the air for the lower friction and to add an extra 40 speed from the jump.

An optimal ultra from a hyper uses the following inputs:

14,R,Z
# hyper on the last possible frame to be able to dash immediately
1,R,J
15,R,D,X
# collide with the ground here
1,R,J

If the ground that the player will land on is too high, the down diagonal dash has to be delayed, losing some speed to friction, to allow the player to gain enough height that the dash will end before colliding with the ground. If the ground is too low, the player will have to fall for a few frames after the end of the dash, also losing some speed to friction. Fastfalling helps to hit the ground as soon as possible.

Delayed ultras

The term delayed ultra, or dultra for short, is used somewhat imprecisely to refer to certain situations that deviate from the stereotypical ultra pattern. There are two main cases that are often referred to as such, which may coincide:

Cancelling the dash

Instead of waiting for the dash to end naturally before colliding with the ground, the player can cancel the dash early. Anything that sets the player's state can potentially be used. The following are some commonly used methods:

  • Cornerboosts (these are the most common method, and often the term "delayed ultra" is used to refer to this scenario specifically)
  • grabbing a holdable
  • bouncing on a pufferfish, ice ball, snowball etc.
  • passing through a horizontal screen transition with bino interaction storage
  • skipping a cutscene (this is also known as a cutscene ultra)

Landing the ultra late

Sometimes, the term "delayed ultra" simply refers to keeping DashDir down diagonal for a long time after a dash ends, regardless of how the dash ended. This is sometimes referred to as having a delayed ultra "stored". To do this, the player must avoid colliding with the ground (though as mentioned above, it is possible to be grounded and thus regain stamina and jump without ever colliding). Since only dashing, red boosters, and landing an ultra change DashDir, an ultra can be stored for a long time (including through room transitions). This can be useful e.g. in minimum dashes TASes, where if a required dash can be done down diagonally, the stored ultra can be taken advantage of later to gain some extra horizontal speed where another dash would otherwise be required.

Ultra chains

Because ultras provide a multiplicative speed boost, repeated ultras without anything that sets speed to a fixed value (like hypers) in between can be used to build very large amounts of horizontal speed. Cornerboosts are also helpful in ultra chains, both to gain additional speed and to cancel dashes.

Tooling Documentation

Celeste TAS

TASing Reference

General Gameplay Techniques

Mechanics and Engine Functionality

Entity Interactions

Clone this wiki locally