Editing Twice Step Glitch

You are not logged in. While you can edit without logging in, your IP address will be recorded publicly, along with the time and date, in this page's history. It is sometimes possible for others to identify you with this information. Creating an account will conceal your IP address and provide you with many other benefits. Messages sent to your IP can be viewed on your talk page.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{MSonly}}
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 first discovered by [[David Stolp]] sometime in or before 2004<!--cityblock date 2004-05-28-->, but was not brought to public attention until December 23, 2007, when Stolp released a video of him using the glitch to add one second to the [[bold time]] on [[Skelzie]].
 
As of June 7, 2019, the Twice Step 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 8: 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]] or force floors)
## Any involuntary move by the player (a move the player does '''not''' have control over, e.g. teleporting or sliding across ice/force floors)
## [[Slide delay|Sliplist]] update (the position of all sliding [[block]]s and [[monster]]s gets updated)
## [[Sliplist]] update (the position of all sliding blocks and monsters 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 monsters move (excluding ones on the sliplist)
## All [[Monster|monsters]] move (excluding ones on the sliplist)
## Any involuntary move by the player
## Any involuntary move by the player
## Sliplist update
## [[Sliplist]] update
# (every 5th move) The in-game timer ticks down 1 second


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.
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.


==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 tile|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.
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.


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:
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:


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


At first glance, this level appears 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 one of the green doors: 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.
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.


==Other applications==
==Other applications==
Line 36: 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 behavior can save time in levels like [[Frozen Waffle]], though currently these would-be new records are not documented on the scoreboards.
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]].
 
 


[[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 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]].
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]].
 
 


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


This demonstration level has a time limit of 1, and is unsolvable under ordinary circumstances (excluding, of course, usage of the [[Long First Second Glitch]]); 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 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.


Of additional note is that this is the only example which does not actually require the mouse; if the player holds L just as Chip starts sliding and L is then released ''specifically'' on tile (1, 3), the buffered move will be able to "emulate" the effect of using the mouse. Unusually, however, using the mouse in this scenario is ''easier'' than using the keyboard, as with the mouse, the player can click while Chip is on any of the three ice tiles before (1, 3) and still finish.
== Tile World ==


This technique 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]].
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 ==
Please note that all contributions to Chip's Challenge Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Chip's Challenge Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)
Your changes will be visible immediately.
  • If you want to test editing, try the sandbox.
  • On talk pages, please sign your posts by typing four tildes (~~~~).

Template used on this page: