Wii VC Round-to-Zero: Difference between revisions

m
add dolphin bug reference + other small edits
(added a picture of the original discovery)
m (add dolphin bug reference + other small edits)
Line 15: Line 15:
The example given above is taken from the code controlling the oscillation of the platforms at the beginning of [[Bowser in the Fire Sea]]. Using the N64's rounding mode, the <code>y</code> variable, which represents the platform's height, will repeatedly return to its original value and continue oscillating with fixed maximum height. Even though each double to single conversion produces a small amount of error, this error balances out over the course of the platform's cycle. On the Wii VC, however, the error always accumulates in the same direction (upward if the platform is below ''y'' = 0, and downward if the platform is above ''y'' = 0), and so the platform slowly drifts in the vertical direction. This is known as '''Wii VC platform drift'''.
The example given above is taken from the code controlling the oscillation of the platforms at the beginning of [[Bowser in the Fire Sea]]. Using the N64's rounding mode, the <code>y</code> variable, which represents the platform's height, will repeatedly return to its original value and continue oscillating with fixed maximum height. Even though each double to single conversion produces a small amount of error, this error balances out over the course of the platform's cycle. On the Wii VC, however, the error always accumulates in the same direction (upward if the platform is below ''y'' = 0, and downward if the platform is above ''y'' = 0), and so the platform slowly drifts in the vertical direction. This is known as '''Wii VC platform drift'''.


The platforms at the beginning of the level are below ''y'' = 0, and so they gradually rise upward. Over the course of several days, they become high enough that they can be used to reach the elevator past the pole, which previously required one A press to get past. It takes eight days for the platform to get high enough to dive recover into the elevator shaft, but using [[Vertical Speed Conservation|VSC]] with a lava boost, this time is reduced to just under three days.
The platforms at the beginning of the level are below ''y'' = 0, and so they gradually rise upward. Over the course of several days, they are high enough they can be used to reach the elevator past the pole, which previously required one A press to get past. It takes eight days for the platform to reach high enough for a dive recover to land in the elevator shaft, but using [[Vertical Speed Conservation|VSC]] with a lava boost requires only three days.


The glitch was discovered by '''[[User:Andru!|Andru!]]''' when he left his Wii powered on overnight while in Bowser in the Fire Sea, and noticed that the oscillating platforms had left their original positions.<ref>https://www.youtube.com/watch?v=MFxJuq3FRgI</ref>
The glitch was discovered by '''[[User:Andru!|Andru!]]''' when he left his Wii powered on overnight while in Bowser in the Fire Sea and noticed that the oscillating platforms had risen above their original positions.<ref>https://www.youtube.com/watch?v=MFxJuq3FRgI</ref>


==Applications==
==Applications==
After several failed attempts by various players, the A press save in Bowser in the Fire Sea was console verified RTA on 20 Jun 2018 by ethanwhitesm64,<ref>[https://youtu.be/B1m-5LWOxW0]https://youtu.be/B1m-5LWOxW0</ref>. Six days later, pannenkoek2012 TASed the red coin star in zero A presses using a modified N64 emulator that replicated the rounding error.<ref>[https://youtu.be/Aa_CciaM4aM]https://youtu.be/Aa_CciaM4aM</ref>
After several failed attempts by various players, the A press save in Bowser in the Fire Sea was console verified RTA on 20 Jun 2018 by ethanwhitesm64.<ref>[https://youtu.be/B1m-5LWOxW0]https://youtu.be/B1m-5LWOxW0</ref> Six days later, pannenkoek2012 TASed the red coin star in zero A presses using a modified N64 emulator that replicated the rounding error.<ref>[https://youtu.be/Aa_CciaM4aM]https://youtu.be/Aa_CciaM4aM</ref>


No other console or emulator is known to reproduce this rounding inaccuracy, including the Wii U VC. At the time of its discovery, the bug did not occur on the Dolphin emulator, but has since been corrected.
No other console or emulator is known to reproduce this rounding inaccuracy, including the Wii U VC. At the time of its discovery, the bug did not occur on the Dolphin emulator, but has since been corrected.<ref>[https://dolphin-emu.org/blog/2018/07/06/dolphin-progress-report-june-2018/]Dolphin Progress Report: June 2018</ref>


No other objects are known to have similarly exploitable behavior, though the rounding bug does cause many discrepancies between the original and Wii VC versions of the game, including slightly different surface normals.
No other objects are known to have similarly exploitable behavior, though the rounding bug does cause many discrepancies between the original and Wii VC versions of the game, including slightly different surface normals.
28

edits