Twice Step Glitch: Difference between revisions

2,936 bytes added ,  27 April 2019
no edit summary
m (Tylersontag moved page teleport Skip Glitch to Teleport Skip Glitch over redirect: revert)
No edit summary
Line 1: Line 1:
The '''Teleport Skip Glitch''' is a glitch in the MS version of [[Chip's Challenge]], found sometime before December 23, 2007 by [[David Stolp]] and used to add one second to the [[bold time]] of [[Skelzie]].
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.


== Mechanics ==
== Mechanics ==


In the MS ruleset, moving objects in a given move are processed in the following order:
In MS, the game engine normally processes events in the following order:
# [[Sliplist]]
# First half of a move
# Player movement
## Any voluntary move by the player (a move the player has control over, e.g. walking or stepping off a force floor)
# [[Sliplist]]
## Any involuntary move by the player (a move the player does '''not''' have control over, e.g. teleporting or sliding across ice/force floors)
# Player movement
## [[Sliplist]] update (the position of all sliding blocks and monsters gets updated)
# [[Monster]] movement
# Second half of a move
However, MSCC allows for mouse [[Boosting]] which can give Chip a move before the sliplist at the start of a new move but '''after''' monsters have moved at the end of the previous move. Any teleports a monster entered are on the lower layer for Chip's move and as such are ignored when choosing the destination teleport. Interestingly, for the monster choosing a destination the teleport Chip is in is also considered blocked and this monster will skip a teleport as well.
## Any voluntary move by the player (only possible if a half-wait was performed)
## All [[Monster|monsters]] move (excluding ones on the sliplist)
## Any involuntary move by the player
## [[Sliplist]] update


For the glitch to occur, Chip has to have just left a [[sliding tile]] such that he can enter the teleport before the monster leaves the [[sliplist]]. <!---? Graduation doesn't require that. But this explanation is the best I can get from David's post to my talk page.-
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.


-Graduation works because Chip enters the teleport, and slides out on the left as the teeth enters that one and the mouse boost places Chip in the lower teleport before the teeth slides out of the upper teleport. It's weird to explain, being two tricks in one. --->
==Teleport application==


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


[[File:TeleportSkip.png]]
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.


To get to the [[exit]] in the fastest way possible, Chip clicks the square UL from where he is standing, such that he first moves [1/2] *[-U >L]. This utilizes a special property of mouse clicks in that if the primary direction of the mouse click is blocked, the other is immediately selected on the next turn.  <!---My best description...--->
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:


Chip enters teleport 2 on the second half of the first move, and emerges from teleport 1. The ball then moves at the move boundary into teleport 1 and beginning to emerge from teleport 4. As the sliplist as not occurred yet, the ball occupies this tile for Chip's mouse boost immediately on the second move (an attempted primary direction of right, secondary of down) and so Chip emerges from teleport 3, directly into the exit.
[[File:tsg1.png]]


If there was one object stuck on the sliplist elsewhere in the level in this example, the resultant [[slide delay]] would allow this same route to be executed in [[Tile World]] with L [1/2] R.
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 uses ==
==Other applications==


In [[Graduation]] from [[CCLP1]], Chip must enter a teleport towards the end in a room with [[teeth]]. The designer intended for Chip to walk around the corridor to the other side of the second teleport so as to teleport U into the exit area, but if Chip releases a teeth, enters the first teleport, and then clicks on the second teleport at the moment the teeth is scheduled to enter the first teleport, Chip will teleport back to the first teleport and then immediately slide across it (there are no other teleports in the level) instead of teleporting back to the teeth room. This saves two seconds relative to solutions which do not use the glitch.
[[File:tsg2.png]]


In [[Suburban Legend]] from [[CCLP4]], a teeth can again be used to skip the partial post to the chip to the left of the exit. The exact workings of the route are not public, though the glitch is known to save one second over the best non-mouse route.
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]].


== Using the glitch ==
[[File:tsg3.png]]


At this writing, [[Tile World]] does not recognize the Teleport Skip 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 different timing makes it impossible to enter an occupied teleport without slide delay.
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]]
 
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.
 
== 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 ==
trusted-editors
16

edits