Skip to content
Molly edited this page Oct 12, 2024 · 4 revisions

"Retention tech" is a broadly applied term involving interactions with entities or other mechanics that set Madeline's speed but leave her retained speed untouched. The name seems to have been coined by Firethief's "Retention Tech Gym", which was the first showcase of many of these interactions.

Note

The term "retention tech" is often mistakenly applied to entity interactions that "store" a state of either Madeline (especially her state machine) or another entity she interacts with, such as cutscene storage and dashless dashes. This page is intended only to cover interactions involving retained speed.

Retained speed

When Madeline horizontally collides with a solid while her speed retention timer is 0, the horizontal component of her speed is stored as retained speed (wallSpeedRetained), and the speed retention timer (wallSpeedRetentionTimer) is set to 4 frames. On subsequent frames, if Madeline has retained speed and there is not a solid one pixel in the retained speed's direction, Madeline's speed's horizontal component is set to that retained speed.

When the speed retention timer reaches 0, Madeline's retained speed is set to 0. This can happen when the timer naturally runs out, or it can be triggered immediately by Madeline doing any of the following:

  • getting her retained speed restored
  • exiting StNormal or StClimb
  • having speed in the opposite direction of the retained speed

Thus, interactions considered "retention tech" typically involve colliding with a wall while in a state other than StNormal or StClimb, then interacting with an entity and/or changing Madeline's state, then getting out from behind the wall. (Using retained speed to keep grounded ultra speed is rarely labeled as retention tech despite falling under this definition.)

Extending the duration

It's impossible to literally extend Madeline's speed retention timer, but in some situations it's possible for Madeline to move away from the wall in front of her without having speed in the opposite direction when that check occurs. This results in a similar effect created by the following events:

  1. Madeline moves away from the wall. After this movement but still in the same frame, Madeline's horizontal speed is 0 or towards the wall.
  2. The next frame, since the wall is no longer one pixel in front of Madeline, her retained speed is restored. Friction is then applied to her speed, then she moves -- this is repeated on subsequent frames until she collides with the wall again.

This process can be repeated continuously to clear tall walls with retained speed, at the cost of some friction between when Madeline moves away from the wall and when she collides with it again. The process may even be used to slowly gain speed if Madeline is able to climbjump while she is away from the wall.

If the technique used to move Madeline away from the wall gives her horizontal speed away from the wall, something will have to occur between this movement and the speed-vs-retained-speed check that sets Madeline's horizontal speed back to 0 or towards the wall. The following are some things Madeline can do to achieve this:

  • horizontally collide with another wall opposite the wall that gave her retained speed
  • collide with an entity that sets her speed -- if her state is StNormal or StClimb, this entity must not set her state, only her speed
  • enter an upwards screen transition

It is also possible to move Madeline away from the wall in ways that do not involve speed. The following are some things Madeline can do to achieve this:

  • be pushed away from a wall by a moving solid, then clear that moving solid and return to the wall
  • be moved away from a wall by a climbhop cancel
  • use booster retention tech to dash from a booster with retained speed

Related terminology

9-pixel gap

When used as a tech name, refers to getting retained speed, then neutralling away from a wall and colliding with an opposite wall on the same frame (see Extending the duration) such that the retained speed is restored on the next frame. A cornerboost is often performed while Madeline is away from the wall she has retained speed towards in order to add to that speed. This tech is not possible in 8-pixel gaps because there's no room for Madeline to be more than one pixel away from the wall she has retained speed towards.

Colliding puts Madeline in the center of a pixel, but she can collide with a solid from anywhere in a pixel. Because of this and of Madeline's hitbox being 8 pixels wide, to collide with the opposite wall of an N-pixel gap in one frame requires Madeline to move at least N - 7.5 pixels in that frame. Under normal circumstances, the first frame of a neutral moves Madeline 2.1666 pixels, so this tech is only possible in a 9-pixel gap (i.e. where there are 9 pixels between two opposite walls), which is where the tech gets its name. However, it's possible to use this tech in wider gaps if Madeline is able to move farther in a single frame -- for example, in an 11-pixel gap using a climbhop cancel, or a 14-pixel gap with at least 200 liftboost towards the opposite wall.

Booster/Bubble retention tech

Refers to getting retained speed, colliding with a booster, then clearing the wall such that the retained speed is restored while Madeline is in StBoost. Boosters still move Madeline to their center when she dashes out of them, no matter how far away her retained speed carries her beforehand, but as always, this movement cannot go through solids.

Since being moved to a booster's center is independent of Madeline's speed, booster retention tech can be used to perform high speed dashes from boosters.

Note

Be careful not to confuse this term with "booster/bubble storage", a.k.a. "dashless dashes". Booster retention tech does not involve changing Madeline's state before she dashes out of a booster.

Cornerglide

Refers to high speed up-diagonal dashes in which Madeline collides with the wall, then StDash ends, then she clears the wall quickly enough to get that retained speed restored.

Saying that specific retention tech starts with a cornerglide often gets the point across, but is rarely accurate, as many such interactions involve entities that cancel StDash whereas cornerglides rely on the dash naturally ending.

Launch dash redirect

Refers to getting retained speed while in StLaunch, then dashing (usually vertically) such that the retained speed will be restored while Madeline is in StDash. Note that changing speed during a dash does not affect its DashDir.

Upwards transition retention tech

Refers to getting retained speed, then neutralling away from the wall and entering an upwards screen transition on the same frame (see Extending the duration), which results in the retained speed being restored in the next room because Madeline does not Update (so her speed retention timer does not decrease) during screen transitions.

This tech currently does not have a widely used name, and verbose explanations are often required to convey the meaning of any name assigned to it. One of the most commonly used names (though still not widespread) is "transition cornerboost", used because most applications of this tech perform a cornerboost after the screen transition to gain speed. However, that term is ambiguous, as it could also describe the unrelated tech involving keeping horizontal speed through transitions in other directions (which does not require retained speed being restored) and cornerboosting soon after those transitions.

Tooling Documentation

Celeste TAS

TASing Reference

General Gameplay Techniques

Mechanics and Engine Functionality

Entity Interactions

Clone this wiki locally