Demodash: Difference between revisions

From Celeste Wiki
Jump to navigation Jump to search
Content added Content deleted
(changed usefulness cornerkick paragraph)
m (→‎Trivia: renamed category, replaced: Category:Techniques → Category:Tech)
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
A '''Demodash''' (known in-game as a '''crouch dash''') is a technique that enables [[Madeline]] to dash with a smaller hitbox, squeezing between [[spinners]], [[dust bunnies]], and other obstacles. Its name originates from [[Community:DemoJameson|DemoJameson]] – the player who originally discovered it on October 14, 2018.
{{stub}}

A '''Demodash''' is a technique which enables [[Madeline]] to dash with a smaller hitbox- squeezing between [[spinners]], [[dust bunnies]] and other obstacles. The name "Demodash" originates from the player who originally discovered it: [[Community:DemoJameson|DemoJameson]], who found it out on October 14, 2018. A less commonly used generic name for the demodash is "'''crouch dash'''".


== Functionality ==
== Functionality ==
Demodashes are in short, dashes with a crouched hitbox. If a player is inputting the down direction when they press the dash key, Madeline's hitbox will be crouched during the dash. (However, if she has ''any'' downward velocity, Madeline will uncrouch automatically). Her normal hurtbox is 9 pixels tall, while her crouched state lowers this to 4 pixels.
Demodashes are, in a nutshell, dashes with a crouched hitbox. If a player is inputting the down direction when they press the dash key, Madeline's hitbox will be crouched during the dash. However, if she has ''any'' downward velocity, Madeline will uncrouch automatically. Her normal hurtbox is 9 pixels tall, while her crouched state lowers it to 4 pixels.


The game does not determine the direction of a dash until its 5th frame, which is a leniency mechanic to prevent casual players from accidentally pressing dash before the direction and getting a neutral dash. Demodashes exploit that mechanic- by holding down on the first frame of the dash (when the game checks whether Madeline is crouching) but pressing a different direction before the fifth frame of the dash. This will cause Madeline to dash with a crouched hitbox, which has numerous applications including going through smaller gaps than would otherwise be possible. When the dash ends, Madeline's crouch state will end as well.
The game does not set the direction of a dash until its 5th frame, being a leniency mechanic to prevent casual players from getting a {{Tooltip|neutral dash|dash in the direction Madeline is facing}} by accidentally pressing the dash button before the directional one. Demodashes exploit that mechanic holding down on the first frame of the dash (when the game checks whether Madeline is crouching) but pressing a different direction before the fifth frame of the dash will cause Madeline to dash with a crouched hitbox. This has numerous applications like going through smaller gaps which are otherwise impossible to cross. When the dash ends, Madeline will uncrouch.


== Demo buttons ==
Demodash binds, or "demo buttons" are, put simply, down and dash bound to a single key, which allows the player to perform Demodashes without having to do a manual dash redirect. On patch 1.3.1.2 this method functions by making sure the "demo button" has a lower ''input priority'' than the directional inputs the player is using. The d-pad on a controller has the highest input priority, followed by analog inputs, the keyboard's arrow keys and finally non-arrow keyboard directional inputs. When determining dash direction, the game will check these inputs in order, and when it encounters a directional input, it will stop checking there. However, when the game checks for crouch state on the first frame of the dash, it only checks whether 'down' is being held at all. So, if you input a direction, and press a demo button that is a ''lower priority input,'' it will cause Madeline to crouch but not affect the direction of the dash.


Demodash binds, or "demo buttons" are, in short, down and dash inputs bound to a single key, which allows the player to perform Demodashes without having to do a manual dash redirect. On [[Version history|patch 1.3.1.2]], this method functions by making sure the "demo button" has a lower ''input priority'' than the directional inputs the player is using. The dpad on a controller has the highest input priority, followed by analog inputs, the keyboard's arrow keys, and, finally, non-arrow keyboard directional inputs. When determining dash direction, the game will check these inputs in order, and when it encounters a directional input, it will stop checking there. However, when the game checks for crouch state on the first frame of the dash, it only checks whether 'down' is being held at all. So, if you input a direction, and press a demo button that is a ''lower priority input,'' it will cause Madeline to crouch but not affect the direction of the dash.
Notably, this input priority method can be used by console players to make demodashes easier- they can input down with the analog stick and a direction on the dpad to avoid having to use the manual dash redirect method.


Notably, this input priority method can be used by console players to make demodashes easier - they can input down with the analog stick and a direction on the dpad to avoid having to use the manual dash redirect method.
During the 1.3.3.x beta releases, EXOK overhauled the way the game handles inputs and keybindings, and introduced an in-game "crouch dash" keybind. This option instantly makes Madeline dash in her crouched state, allowing both PC and console players to freely bind a demo button without using external software.


During the 1.3.3.x beta releases, EXOK overhauled the way the game handles inputs and keybindings, and introduced an in-game "crouch dash" keybind. Pressing this key instantly makes Madeline dash in her crouched state, allowing both PC and console players to freely bind a demo button without using external software.
== Creating a demo button ==
As discussed above, a demo button is essentially a down+dash bind which is lower priority than your primary directional input method.
* Editing the settings.celeste file and finding the <Down>(key)</Down> line which may have a "None" value written in it. Changing it to a key of the player's preference will make them able to use the down key in a different button. After that, searching for the "Dash" line will have a "Key" line right below it, which is the keybind it's assigned to. Copying and pasting the same line, and then editing the value to anything else will assign the key to two keys.
* Using [[Everest]]'s option to assign multiple keys which can be shown when a key configuration is selected.
* Using external software such as Joy2Key to assign a controller button to a keyboard key- which is itself bound to down+dash. This is currently the only way to bind a demo button to a controller, and unfortunately it's not possible on console versions of the game.


=== Creating a demo button (1.4) ===
In the 1.3.3.x beta versions of Celeste, players can simply assign a key to the "crouch dash" bind ingame.
The Demodash is officially known as a ''crouch dash'' in Celeste 1.4.0.0. Assigning that to any unused button can enable it to function as a Demodash button.

=== Creating a demo button (pre-1.4) ===
As discussed above, a demo button is essentially a down+dash bind which is of lower priority than your primary directional input method. You can set it by either:
* Editing the <code>settings.celeste</code> file and finding the <code><Down>(key)</Down></code> line that may have a "None" value written in it. Changing it to a key the player prefers will make them able to use the down key in a different button. After that, searching for the "Dash" line will have a "Key" line right below it, indicating the keybind it is assigned to. Copying and pasting the same line and then editing the value to anything else will assign the key to two keys.
* Using [[Everest]]'s option to assign multiple keys, which can be shown when a key configuration is selected.
* Using external software such as Joy2Key to assign a controller button to a keyboard key which is itself bound to down+dash. This is currently the only way to bind a demo button to a controller, and unfortunately it is not possible on console versions of the game.


== Usefulness ==
== Usefulness ==
Demodashes were a massive discovery for the speedrunning community, allowing them to pass in between certain obstacles to save a significant amount of time. Since spinners and dust bunnies leave small gaps between them, it's possible to pass through them with a good setup. There are a few 'intended demos' through spinners in the game- three in Event Horizon, one in Remembered, and one which was unintended but patched to be significantly easier in Reflection (the [[6B]] falling checkpoint).
Demodashes were a massive discovery for the speedrunning community, allowing them to pass in-between certain obstacles to save a lot of time. Since spinners and dust bunnies leave small gaps between them, you can pass through them with a good setup. There are a few 'intended demos' through spinners in the game three in Event Horizon, one in Remembered, and one which was unintended but patched to be significantly easier in the {{ch|6B}} falling checkpoint.


Another use for Demodashes is using the shorter hitbox to make certain tricks more forgiving. For instance, the corner kick performed at the end of [[First Blockless]] in [[4A]] is two frames more lenient if the up-right dash is a diagonal demodash. This is because Madeline will uncrouch at the end of the dash, and if the top of her hitbox is touching a wall after she uncrouches, she can jump off the wall. Horizontal demodashes allow you to perform mid-air [[Hyperdashes]], referred to as Demohypers.
Another use for Demodashes is using the shorter hitbox to make certain tricks more forgiving. For instance, the corner kick performed at the end of First Blockless in {{ch|4A}} is two frames more lenient if the up-right dash is a diagonal demodash. This is because Madeline will uncrouch at the end of the dash, and if the top of her hitbox is touching a wall after she uncrouches, she can jump off the wall. Horizontal demodashes allow you to perform mid-air [[Hyperdashes]], referred to as Demohypers.


Apart from speedrunning, Demodashes are also a situational life saver due to the player being able to squeeze through tight gaps with a smaller hitbox. They can be used to dash through tight, but very short tunnels, such as a few areas in [[Farewell]].
Apart from speedrunning, Demodashes are also a situational life saver due to the player being able to squeeze through tight gaps with a smaller hitbox. They can be used to dash through tight but very short tunnels, such as a few areas in {{ch|9|lf=1}}.


== Other variants ==
== Other variants ==


=== Diagonal demodashes ===
=== Diagonal demodashes ===
It is possible to redirect Demodashes into a diagonal demo, however due to its input density, it's usually not done without the use of a keybind that allows performing the trick in a much safer way. In order to do it, the player has to be holding the directional keys in a diagonal position (up-right, up-left for example), press the keybind and then release it within a window of 5 frames. These demodashes are mostly just used at high level speedrunning, due to the trick being rather risky and it giving very little timesave. It's also sometimes used to activate Archies from bubbles.
It is possible to redirect Demodashes into a diagonal demo, however, due to its input density, it is usually not done without the use of a keybind that allows performing the trick in a much safer way. To do it, the player has to be holding the directional keys in a diagonal position (, for example), press the keybind, and then release it within a window of 5 frames. These demodashes are mostly used only in high-level speedrunning due to the trick being rather risky and giving little timesave. It is also sometimes used to activate Archies from bubbles.


=== Archie ===
=== Archie ===
Demodashes are a very common way to activate an Archie, which is a quirk in the game that raises bubbles that the player enters with a crouched hitbox by 2 pixels. This is notably used to avoid spinners in the first key coin room in [[Golden Ridge|4A]]- "Archie", or to skip two red bubbles in [[Mirror Temple|5A]]- "Archimedes". In order to do an Archie, the player has to enter a bubble with a crouched hitbox, which can be done with a demodash. Archies can also be activated by simply crouch jumping into the bubble if it's close enough to the ground, or by dashing into the ground and then buffering a dash upwards into the bubble, which maintains the crouched state from the downward dash.
Demodashes are a very common way to activate an Archie, which is a quirk in the game that raises bubbles that the player enters with a crouched hitbox by 2 pixels. This is notably used to avoid spinners in the first key coin room in {{ch|4A}} - "Archie", or to skip two red bubbles in {{ch|5A}} - "Archimedes". To do an Archie, the player has to enter a bubble with a crouched hitbox, which can be done with a demodash. Archies can also be activated by simply crouch jumping into the bubble if it is close enough to the ground, or by dashing into the ground and then buffering a dash upwards into the bubble, which maintains the crouched state from the downward dash.


=== Demohypers ===
=== Demohypers ===
Because a hyperdash is simply a 'super jump' performed while in crouch-state, it is possible to do a hyperdash from a horizontal dash by using a demodash. This sometimes allows for the original dash to be faster- if you have less than 200 [[speed]] when starting the dash, a horizontal dash is faster than a down-diagonal dash on the ground, and will cover more distance (especially useful when using [[Coyote time|coyote frames]]). It also allows a hyperdash to be started from midair directly parallel to a platform, instead of needing to be above it in order to wavedash.
Because a hyperdash is simply a 'super jump' performed in a crouch state, it is possible to do a hyperdash from a horizontal dash by using a demodash. This sometimes allows for the original dash to be faster - if you have less than 200 [[speed]] when starting the dash, a horizontal dash is faster than a down-diagonal dash on the ground and will cover more distance (especially useful when using [[Coyote time|coyote frames]]). It also allows a hyperdash to be started from mid-air directly parallel to a platform, instead of needing to be above it to wavedash.
* Check: [[Hyperdashes#Demohypers|Hyperdashes]]
* Check: [[Hyperdashes#Demohypers|Hyperdashes]]


== Trivia ==
== Trivia ==
* It is possible to distinguish a normal dash from a Demodash by looking closely at the line Madeline's sprite makes upon dashing. It's normally closer to the middle of her body, but if a Demodash is done, it appears at the bottom of her sprite.
* It is possible to distinguish a normal dash from a Demodash by looking closely at the line Madeline's sprite makes upon dashing. It is normally closer to the middle of her body, but if a Demodash is done, it appears at the bottom of her sprite.
** In the 1.3.3.x beta releases, they became even easier to notice, as Madeline's sprite will appear crouched in mid-air when the dash is performed.
** In the 1.3.3.x beta releases, they became even easier to notice, as Madeline's sprite will appear crouched in mid-air when the dash is performed.
* Demodashes were originally an unintended side effect caused by the game's dash redirection mechanic, but it was later endorsed by the developers, as multiple demo gaps have been created in the Farewell release.
* Demodashes were originally an unintended side effect caused by the game's dash redirection mechanic. Demodashing was later endorsed by the developers, and multiple demo gaps have been created in {{ch|9|lf=1}}.

[[Category:Tech]]

Latest revision as of 16:53, 11 April 2024

A Demodash (known in-game as a crouch dash) is a technique that enables Madeline to dash with a smaller hitbox, squeezing between spinners, dust bunnies, and other obstacles. Its name originates from DemoJameson – the player who originally discovered it on October 14, 2018.

Functionality[edit | edit source]

Demodashes are, in a nutshell, dashes with a crouched hitbox. If a player is inputting the down direction when they press the dash key, Madeline's hitbox will be crouched during the dash. However, if she has any downward velocity, Madeline will uncrouch automatically. Her normal hurtbox is 9 pixels tall, while her crouched state lowers it to 4 pixels.

The game does not set the direction of a dash until its 5th frame, being a leniency mechanic to prevent casual players from getting a neutral dash by accidentally pressing the dash button before the directional one. Demodashes exploit that mechanic — holding down on the first frame of the dash (when the game checks whether Madeline is crouching) but pressing a different direction before the fifth frame of the dash will cause Madeline to dash with a crouched hitbox. This has numerous applications like going through smaller gaps which are otherwise impossible to cross. When the dash ends, Madeline will uncrouch.

Demo buttons[edit | edit source]

Demodash binds, or "demo buttons" are, in short, down and dash inputs bound to a single key, which allows the player to perform Demodashes without having to do a manual dash redirect. On patch 1.3.1.2, this method functions by making sure the "demo button" has a lower input priority than the directional inputs the player is using. The dpad on a controller has the highest input priority, followed by analog inputs, the keyboard's arrow keys, and, finally, non-arrow keyboard directional inputs. When determining dash direction, the game will check these inputs in order, and when it encounters a directional input, it will stop checking there. However, when the game checks for crouch state on the first frame of the dash, it only checks whether 'down' is being held at all. So, if you input a direction, and press a demo button that is a lower priority input, it will cause Madeline to crouch but not affect the direction of the dash.

Notably, this input priority method can be used by console players to make demodashes easier - they can input down with the analog stick and a direction on the dpad to avoid having to use the manual dash redirect method.

During the 1.3.3.x beta releases, EXOK overhauled the way the game handles inputs and keybindings, and introduced an in-game "crouch dash" keybind. Pressing this key instantly makes Madeline dash in her crouched state, allowing both PC and console players to freely bind a demo button without using external software.

Creating a demo button (1.4)[edit | edit source]

The Demodash is officially known as a crouch dash in Celeste 1.4.0.0. Assigning that to any unused button can enable it to function as a Demodash button.

Creating a demo button (pre-1.4)[edit | edit source]

As discussed above, a demo button is essentially a down+dash bind which is of lower priority than your primary directional input method. You can set it by either:

  • Editing the settings.celeste file and finding the <Down>(key)</Down> line that may have a "None" value written in it. Changing it to a key the player prefers will make them able to use the down key in a different button. After that, searching for the "Dash" line will have a "Key" line right below it, indicating the keybind it is assigned to. Copying and pasting the same line and then editing the value to anything else will assign the key to two keys.
  • Using Everest's option to assign multiple keys, which can be shown when a key configuration is selected.
  • Using external software such as Joy2Key to assign a controller button to a keyboard key which is itself bound to down+dash. This is currently the only way to bind a demo button to a controller, and unfortunately it is not possible on console versions of the game.

Usefulness[edit | edit source]

Demodashes were a massive discovery for the speedrunning community, allowing them to pass in-between certain obstacles to save a lot of time. Since spinners and dust bunnies leave small gaps between them, you can pass through them with a good setup. There are a few 'intended demos' through spinners in the game — three in Event Horizon, one in Remembered, and one which was unintended but patched to be significantly easier in the 6B falling checkpoint.

Another use for Demodashes is using the shorter hitbox to make certain tricks more forgiving. For instance, the corner kick performed at the end of First Blockless in 4A is two frames more lenient if the up-right dash is a diagonal demodash. This is because Madeline will uncrouch at the end of the dash, and if the top of her hitbox is touching a wall after she uncrouches, she can jump off the wall. Horizontal demodashes allow you to perform mid-air Hyperdashes, referred to as Demohypers.

Apart from speedrunning, Demodashes are also a situational life saver due to the player being able to squeeze through tight gaps with a smaller hitbox. They can be used to dash through tight but very short tunnels, such as a few areas in Farewell.

Other variants[edit | edit source]

Diagonal demodashes[edit | edit source]

It is possible to redirect Demodashes into a diagonal demo, however, due to its input density, it is usually not done without the use of a keybind that allows performing the trick in a much safer way. To do it, the player has to be holding the directional keys in a diagonal position (↗, for example), press the keybind, and then release it within a window of 5 frames. These demodashes are mostly used only in high-level speedrunning due to the trick being rather risky and giving little timesave. It is also sometimes used to activate Archies from bubbles.

Archie[edit | edit source]

Demodashes are a very common way to activate an Archie, which is a quirk in the game that raises bubbles that the player enters with a crouched hitbox by 2 pixels. This is notably used to avoid spinners in the first key coin room in 4A - "Archie", or to skip two red bubbles in 5A - "Archimedes". To do an Archie, the player has to enter a bubble with a crouched hitbox, which can be done with a demodash. Archies can also be activated by simply crouch jumping into the bubble if it is close enough to the ground, or by dashing into the ground and then buffering a dash upwards into the bubble, which maintains the crouched state from the downward dash.

Demohypers[edit | edit source]

Because a hyperdash is simply a 'super jump' performed in a crouch state, it is possible to do a hyperdash from a horizontal dash by using a demodash. This sometimes allows for the original dash to be faster - if you have less than 200 speed when starting the dash, a horizontal dash is faster than a down-diagonal dash on the ground and will cover more distance (especially useful when using coyote frames). It also allows a hyperdash to be started from mid-air directly parallel to a platform, instead of needing to be above it to wavedash.

Trivia[edit | edit source]

  • It is possible to distinguish a normal dash from a Demodash by looking closely at the line Madeline's sprite makes upon dashing. It is normally closer to the middle of her body, but if a Demodash is done, it appears at the bottom of her sprite.
    • In the 1.3.3.x beta releases, they became even easier to notice, as Madeline's sprite will appear crouched in mid-air when the dash is performed.
  • Demodashes were originally an unintended side effect caused by the game's dash redirection mechanic. Demodashing was later endorsed by the developers, and multiple demo gaps have been created in Farewell.