Please create an account or Login! Have fun!

Twice Step Glitch: Difference between revisions

Jump to navigation Jump to search
m (removed underscores from a link)
mNo edit summary
 
(8 intermediate revisions by 3 users not shown)
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.
{{MSonly}}
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 5: Line 8:
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)
## [[Slide delay|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
# (every 5th move) The in-game timer ticks down 1 second


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


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


==Other applications==
==Other applications==
Line 32: Line 36:
[[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 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.


== Tile World ==
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.


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


== See also ==
== See also ==

Latest revision as of 16:31, 7 January 2024

Chip S.png This page describes a mechanic specific to the 1992 Microsoft port of Chip's Challenge (and anything that emulates it). It may not exist in any other Chip's Challenge game.

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, 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[edit]

In MS, the game engine normally processes events in the following order:

  1. First half of a move
    1. Any voluntary move by the player (a move the player has control over, e.g. walking or stepping off a force floor)
    2. 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)
    3. Sliplist update (the position of all sliding blocks and monsters gets updated)
  2. Second half of a move
    1. Any voluntary move by the player (only possible if a half-wait was performed)
    2. All monsters move (excluding ones on the sliplist)
    3. Any involuntary move by the player
    4. Sliplist update
  3. (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 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[edit]

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 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 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, the glitch can be used to take advantage of this teleport "skipping" behavior without any slide delay at all. Here is a demonstration level:

Tsg1.png

At first glance, this level appears unsolvable, because Chip can only ever teleport between the starting square and the squares with toggle buttons. 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.

Other applications[edit]

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.


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.


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.

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.

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.

See also[edit]