Twice Step Glitch: Difference between revisions

193 bytes removed ,  27 April 2019
m
no edit summary
m (MilkyWayWishes moved page Teleport Skip Glitch to Twice Step Glitch: We changed its name might as well change its actual page)
mNo edit summary
Line 1: Line 1:
The '''Twice Step Glitch''' (formerly known as the ''Teleport Skip Glitch'') is an obscure glitch in the [[Ruleset#Microsoft_ruleset|MS ruleset]] relating to the timing of when buffered mouse moves are processed. It was brought to public attention for the first time on December 23, 2007 <!--cityblock date 2004-05-28-->, when [[David Stolp]] released a video of him using the glitch to add one second to the bold time on [[Skelzie]]. As of April 26, 2019, the glitch has not been implemented into [[Tile World]] and its legality for [[optimization]] <!-- that word still sucks--> on the official scoreboards is pending the results of a community discussion.
The '''Twice Step Glitch''', formerly known as the ''[[Teleport]] Skip Glitch'', is an obscure glitch in [[Microsoft's version of Chip's Challenge]] relating to the timing of when buffered mouse moves are processed. It was brought to public attention for the first time on December 23, 2007<!--cityblock date 2014-05-28-->, when [[David Stolp]] released a video of him using the glitch to add one second to the [[bold time]] on [[Skelzie]]. As of April 26, 2019, the glitch has not been implemented into [[Tile World]] and its legality for [[optimization]] on the official scoreboards is pending the results of a community discussion.


== Mechanics ==
== Mechanics ==
Line 5: Line 5:
In MS, the game engine normally processes events in the following order:
In MS, the game engine normally processes events in the following order:
# First half of a move
# First half of a move
## Any voluntary move by the player (a move the player has control over, e.g. walking or stepping off a force floor)
## Any voluntary move by the player (a move the player has control over, e.g. walking or stepping off a [[force floor]])
## Any involuntary move by the player (a move the player does '''not''' have control over, e.g. teleporting or sliding across ice/force floors)
## Any involuntary move by the player (a move the player does ''not'' have control over, e.g. teleporting or sliding across [[ice]] or force floors)
## [[Sliplist]] update (the position of all sliding blocks and monsters gets updated)
## [[Sliplist]] update (the position of all sliding [[block]]s and [[monster]]s gets updated)
# Second half of a move
# Second half of a move
## Any voluntary move by the player (only possible if a half-wait was performed)
## Any voluntary move by the player (only possible if a half-wait was performed)
## All [[Monster|monsters]] move (excluding ones on the sliplist)
## All monsters move (excluding ones on the sliplist)
## Any involuntary move by the player
## Any involuntary move by the player
## [[Sliplist]] update
## Sliplist update


However, if Chip prepares a mouse input in advance of when it is executed (either by making multiple moves with a single mouse click, or by clicking the mouse in advance while Chip is sliding) and a [[Boosting|boost]] is performed as a result of said mouse click, then MSCC will process the events out-of-order. Specifically, the game will process the voluntary boost '''immediately''' after the involuntary slide, instead of at its usual place in the list. The most notable effect of this is that Chip will move ''before'' the sliplist updates instead of ''after'', which can have significant consequences in certain situations.
However, if a mouse input is prepared in advance of when it is executed - either by making multiple moves with a single mouse click, or by clicking the mouse in advance while [[Chip]] is sliding - and a [[Boosting|boost]] is performed as a result of said mouse click, then MSCC will process the events out of order. Specifically, the game will process the voluntary boost ''immediately'' after the involuntary slide, instead of at its usual place in the list. The most notable effect of this is that Chip will move ''before'' the sliplist updates instead of ''after'', which can have significant consequences in certain situations.


==Teleport application==
==Teleport application==


The most famous application of the Twice Step Glitch is to "skip" teleports. This application of the glitch has been used to set new records on [[Skelzie]], [[Graduation]], and [[Suburban Legend]], and it inspired the former "Teleport Skip Glitch" name back when it was not widely understood.
The most famous application of the Twice Step Glitch is to "skip" teleports. This application of the glitch has been used to set new records on Skelzie, [[Graduation]], and [[Suburban Legend]], and it inspired the former ''Teleport Skip Glitch'' name back when it was not widely understood.


Any monster or block that goes into a teleport will instantly appear on top of its destination teleport. However, because teleportation is a type of sliding move, the object must wait for the sliplist to be updated before it can step off the new teleport. If a teleport is "occupied" with something on top of it, the game will not consider it a valid teleport destination; if Chip (or another creature/block) attempts to teleport and the would-be destination teleport is occupied, the game will "skip" to the next teleport and choose that as the destination instead. Chip can take advantage of this mechanic to teleport to unintended destinations (such as in the famous bust to [[Yet_Another_Yet_Another_Puzzle|Yet Another Yet Another Puzzle]]), but normally this requires [[Slide Delay|slide delay]]; if Chip pushes a block into a teleport or a monster enters a teleport, the sliplist will get updated before Chip himself can teleport, so the only way an object will ''still'' be on top of a teleport by that time is if the object stalls on the sliplist due to slide delay.
Any monster or block that goes into a teleport will instantly appear on top of its destination teleport. However, because teleportation is a type of sliding move, the object must wait for the sliplist to be updated before it can step off the new teleport. If a teleport is "occupied" with something on top of it, the game will not consider it a valid teleport destination; if Chip or another creature or block attempts to teleport and the would-be destination teleport is occupied, the game will "skip" to the next teleport and choose that as the destination instead. This mechanic can be taken advantage of to teleport to unintended destinations, such as in the famous [[Busted level|bust]] in [[Yet Another Yet Another Puzzle]], but normally this requires [[slide delay]]; if Chip pushes a block into a teleport or a monster enters a teleport, the sliplist will get updated before Chip himself can teleport, so the only way an object will ''still'' be on top of a teleport by that time is if the object stalls on the sliplist due to slide delay.


However, because the Twice Step Glitch allows Chip to sneak in a voluntary move ''after'' monsters move but ''before'' the sliplist updates, Chip can use the glitch to take advantage of this teleport "skipping" behavior without any slide delay at all. Here is a demonstration level:
However, because the Twice Step Glitch allows Chip to sneak in a voluntary move ''after'' monsters move but ''before'' the sliplist updates, the glitch can be used to take advantage of this teleport "skipping" behavior without any slide delay at all. Here is a demonstration level:


[[File:tsg1.png]]
[[File:tsg1.png]]


At first glance the level is unsolvable, because Chip can only ever teleport between the starting square and the squares with green buttons. However, the presence of the pink ball means Chip can use the Twice Step Glitch to his advantage and "skip" a teleport and wind up in the exit. To trigger the glitch, the player must click anywhere on the second row: this will cause Chip to enter the first teleport, exit out of the second teleport, then immediately re-enter the second teleport again. (This second teleportation will trigger the Twice Step Glitch, as it is a buffered mouse boost.) Meanwhile, the [[pink ball]] will independently enter the second teleport and exit the third teleport. Since the Twice Step Glitch was triggered, the game will process Chip's second teleportation '''before''' the sliplist updates instead of afterwards, so Chip will teleport while the ball is still on top of the third teleport. Since the third teleport is now considered "occupied" by the game, Chip will exit out of the fourth teleport and exit the level.
At first glance the level is unsolvable, because Chip can only ever teleport between the starting square and the squares with [[toggle button]]s. However, the presence of the [[pink ball]] means the Twice Step Glitch can be used to the player's advantage to "skip" a teleport and wind up in the [[exit]]. To trigger the glitch, the player must click anywhere on the second row: this will cause Chip to enter the first teleport, exit out of the second teleport, then immediately re-enter the second teleport again. This second teleportation will trigger the Twice Step Glitch, as it is a buffered mouse boost. Meanwhile, the pink ball will independently enter the second teleport and exit the third teleport. Since the Twice Step Glitch was triggered, the game will process Chip's second teleportation ''before'' the sliplist updates instead of afterwards, so Chip will teleport while the ball is still on top of the third teleport. Since the third teleport is now considered "occupied" by the game, Chip will exit out of the fourth teleport and complete the level.


==Other applications==
==Other applications==
Line 32: Line 32:
[[File:tsg2.png]]
[[File:tsg2.png]]


This demonstration level also appears unsolvable at first glance, as the block is guaranteed to kill you when it rebounds. However, if the mouse is used to repeatedly boost against the bottom ice tile - which will trigger the Twice Step Glitch - then Chip will step down onto the ice ''before'' the block slides to kill him, and ''then'' the sliplist will update, causing the block to land above Chip while he is sliding, in turn allowing him to push it up into the bomb. (Note that in this specific example, a half-wait is necessary before pushing the block, or else you will die before the initial mouse click takes effect due to the timing of mouse moves.) This behaviour can save time in levels like [[Nightmare]] and [[Frozen Waffle]].
This demonstration level also appears unsolvable at first glance, as the block is guaranteed to kill you when it rebounds. However, if the mouse is used to repeatedly boost against the bottom ice tile, which will trigger the Twice Step Glitch, then Chip will step down onto the ice ''before'' the block slides to kill him, and ''then'' the sliplist will update, causing the block to land above Chip while he is sliding, in turn allowing him to push it up into the bomb. (Note that in this specific example, a half-wait is necessary before pushing the block, or else you will die before the initial mouse click takes effect due to the timing of mouse moves.) This behavior can save time in levels like [[Frozen Waffle]], though currently these would-be new records are not documented on the scoreboards.
 
 


[[File:tsg3.png]]
[[File:tsg3.png]]


In this demonstration level, the glider is normally guaranteed to kill you, as the sliplist will update before Chip has any chance of voluntarily boosting into the exit. However, if Chip uses the mouse to slide and boost into the exit, the Twice Step Glitch will allow him to beat the level before the glider moves. This behaviour can be used in levels like [[Lean Thinking]] and [[They%27re_Not_Called_Blocks_for_Nothing|They're Not Called Blocks for Nothing]].
In this demonstration level, the [[glider]] is normally guaranteed to kill you, as the sliplist will update before Chip has any chance of voluntarily boosting into the exit. However, if the mouse is used to slide and boost into the exit, the Twice Step Glitch will allow the level to be beaten before the glider moves. This behavior can theoretically be used to save time in levels like [[Lean Thinking]] and [[They're Not Called Blocks for Nothing]].
 
 


[[File:tsg4.png]]
[[File:tsg4.png]]


This demonstration level has a time limit of 1, and is unsolvable with the keyboard: Chip will die on the square before the exit before he can boost. However, if Chip clicks on the exit while sliding to buffer a mouse boost in advance, the boost will occur ''before'' the end of the move, allowing him to exit before the timer ticks down. This can save 0.1s on any level featuring a boost into an exit.
This demonstration level has a time limit of 1, and is unsolvable with the keyboard: Chip will die on the square before the exit before he can boost. However, if the player clicks on the exit while sliding to buffer a mouse boost in advance, the boost will occur ''before'' the end of the move, allowing him to exit before the timer ticks down. This can save 0.1 seconds on any level featuring a boost into an exit, and in some cases can be used to save a full second on levels such as [[Sudden Death]] and [[Abandoned Mines]].
<!--== Tile World ==


At this writing, [[Tile World]] does not recognize the Twice Step Glitch....due to an inaccuracy in when mouse moves are handled. Tile World (as of versions 1.3.2 and 2.2) will always process a mouse click on the second half of a move, which prevents both mouse boosting and moving twice between sliplist updates.-->
== See also ==
== See also ==


* [[Convergence Glitch]]
* [[Convergence Glitch]]
[[Category:Glitches]]
[[Category:Glitches]]
Administrators, trusted-editors
1,422

edits