Pause Buffering: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
m (1 revision imported: All pages from pannenkoek wiki (meme pages removed))
 
(clarify)
(13 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[File:Idontknowhowtocallthis.jpg|thumb|190x190px]]
'''Pause buffering''' is a technique characterized by strategically pausing to cause unusual effects during in-game (unpaused) [[frame]]s. Note that the process of pausing and unpausing in and of itself takes at least three frames, so typical pause buffering means that the game is being played at quarter-speed. Please note that pause buffering in SM64 is totally different from buffering inputs in OOT and similar games; inputs made on the pause screen cannot be carried over into the actual game.
'''Pause buffering''' is a technique achieved by strategically pausing to cause unusual effects during in-game (unpaused) [[frame]]s. Note that the process of pausing and unpausing in and of itself takes at least three frames, so typical pause buffering means that the game is being played at quarter-speed.


==Applications==
==Applications==
Pause buffering can be used to press inputs on two or more in-game-contiguous frames. There are three parts to a button input—[[Button press|pressing]], [[Button hold|holding]], and [[Button release|releasing]]. If the game detects that the button is being inputted on two frames in a row, it will detect that the button is being held, even if there were two separate presses. Furthermore, holding a button often does nothing.
Pause buffering can be used to press inputs on two or more in-game-contiguous frames. As [[Super Mario 64]] runs at 30 frames per second, a player can theoretically input a button press up to a maximum of 15 times per second. The button input needs to be released for a single frame before it can be pressed again. Pause buffering allows you to input button presses at a higher rate since the game world is frozen while inputs are still polled. These extra button presses come at the cost of time lost transitioning between the pause menu and gameplay.
===Pause Buffering Inputs===
In situations where it would be advantageous to press the same button for two frames in a row, those two in-game frames can be separated by opening the pause menu. This provides time for the game to recognize the release of the button, and be able to detect another press once the game is unpaused. In short, pausing allows an input to be released and pressed again without changing any in-game states. For example, a [[dive]] can be followed immediately by a [[dive recover]], which is useful while holding an object [[handsfree]] in the [[A Button Challenge]] (ABC). Notably, pause buffering is not necessary to perform this in a non-ABC setting, since B can be pressed to dive followed by A to recover.
===Pause Buffering the Global Timer===
The [[Global Timer|global timer]] is a variable that increments every frame, even paused frames. Thus, [[Objects|objects]] that depend on the global timer can be manipulated by strategically pausing. Although many objects use the global timer, the ones that are most commonly manipulated are [[Swooper]]s and the [[Lethal Lava Land]] [[drawbridge]]. Many objects use their own timer instead of the global timer, and since objects do not update while paused, cannot be affected by pause buffering.
====Pause Buffered Hitstun====
The most common use of pause buffering the global timer is Pause Buffered Hitstun, which lends itself to [[HOLP]] preservation and thus releasing objects remotely. The player can avoid updating the HOLP by taking advantage of [[Mario]]'s blinking effect after [[hitstun]], an effect that continues if Mario is inside an enemy [[Hitbox#hurtbox|hurtbox]]. After being hurt in any way but small fall damage, Mario, along with a held [[Limbo|ticket]], will become transparent on every second frame. His opacity depends on the parity of the global timer, so he is not rendered on odd frames. Since the global timer is incremented on every frame, including paused frames, by pausing for the minimum three frames and unpausing for the minimum one frame when the timer is odd, Mario and the ticket will effectively not render until the blinking effect stops. Because the ticket does not need to render, the HOLP is not updated during that time.


In situations where it would be advantageous to press the same button for two frames in a row, those two in-game frames can be separated by opening the pause menu. This provides time for the game to recognize the release of the button, and be able to detect another press once the game is unpaused. In short, pausing allows an input to be released and pressed again without changing any in-game states.


Another application of pause buffering is in [[Pause Buffered Hitstun]], which lends itself to [[HOLP Preservation]] and thus releasing objects remotely. The player can avoid updating the [[HOLP]] by taking advantage of [[Mario]]'s [[Hitstun blinking|flashing effect]] after [[hitstun]], an effect that continues if Mario is inside an enemy [[hurtbox]]. After being hurt in any way but small [[fall damage]], Mario, along with a held [[ticket]], will become transparent on every second frame. His opacity depends on the parity of a [[global timer]], so he is not rendered on odd frames. The global timer is incremented on every frame, including paused frames. By pausing for the minimum three frames and unpausing for the minimum one frame when the timer is odd, Mario and the ticket will effectively not render until the blinking effect stops. Because the ticket does not need to render, the HOLP is not updated during that time.
<!-- Category -->
[[Category:Glitches]]
[[Category:Glitches]][[Category:Action Mechanics]]
[[Category:Input glitches]]
 
[[Category:Rendering]]
{{Glitches}}

Revision as of 01:51, 17 October 2020

Pause buffering is a technique characterized by strategically pausing to cause unusual effects during in-game (unpaused) frames. Note that the process of pausing and unpausing in and of itself takes at least three frames, so typical pause buffering means that the game is being played at quarter-speed. Please note that pause buffering in SM64 is totally different from buffering inputs in OOT and similar games; inputs made on the pause screen cannot be carried over into the actual game.

Applications

Pause buffering can be used to press inputs on two or more in-game-contiguous frames. As Super Mario 64 runs at 30 frames per second, a player can theoretically input a button press up to a maximum of 15 times per second. The button input needs to be released for a single frame before it can be pressed again. Pause buffering allows you to input button presses at a higher rate since the game world is frozen while inputs are still polled. These extra button presses come at the cost of time lost transitioning between the pause menu and gameplay.

Pause Buffering Inputs

In situations where it would be advantageous to press the same button for two frames in a row, those two in-game frames can be separated by opening the pause menu. This provides time for the game to recognize the release of the button, and be able to detect another press once the game is unpaused. In short, pausing allows an input to be released and pressed again without changing any in-game states. For example, a dive can be followed immediately by a dive recover, which is useful while holding an object handsfree in the A Button Challenge (ABC). Notably, pause buffering is not necessary to perform this in a non-ABC setting, since B can be pressed to dive followed by A to recover.

Pause Buffering the Global Timer

The global timer is a variable that increments every frame, even paused frames. Thus, objects that depend on the global timer can be manipulated by strategically pausing. Although many objects use the global timer, the ones that are most commonly manipulated are Swoopers and the Lethal Lava Land drawbridge. Many objects use their own timer instead of the global timer, and since objects do not update while paused, cannot be affected by pause buffering.

Pause Buffered Hitstun

The most common use of pause buffering the global timer is Pause Buffered Hitstun, which lends itself to HOLP preservation and thus releasing objects remotely. The player can avoid updating the HOLP by taking advantage of Mario's blinking effect after hitstun, an effect that continues if Mario is inside an enemy hurtbox. After being hurt in any way but small fall damage, Mario, along with a held ticket, will become transparent on every second frame. His opacity depends on the parity of the global timer, so he is not rendered on odd frames. Since the global timer is incremented on every frame, including paused frames, by pausing for the minimum three frames and unpausing for the minimum one frame when the timer is odd, Mario and the ticket will effectively not render until the blinking effect stops. Because the ticket does not need to render, the HOLP is not updated during that time.