Cloning: Difference between revisions

1,665 bytes added ,  21 November 2021
m
→‎Delayed grab: removed the timecode in the science of cloning source
(added glitch nav)
m (→‎Delayed grab: removed the timecode in the science of cloning source)
 
(8 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[File:Mario holding a coin clone.png|thumb|242x242px|Mario holding a Coin Clone]]
[[File:Mario holding a coin clone.png|thumb|242x242px|Mario holding a Coin Clone]]
'''Cloning''' refers to a number of glitches that allow Mario to hold [[object]]s that were not intended to be held. Typically, this happens when Mario continues to hold an [[object slot]] after the object in it has unloaded. When a new object loads into this slot, Mario will hold a reference to this new object. The name "cloning" comes from one of its main applications, which is to duplicate objects such as [[coin]]s or [[Goomba]]s. This name is a misnomer, as the duplication behavior is a property of those specific objects, and not the technique itself.  
'''Cloning''' refers to a number of glitches that allow Mario to hold [[object]]s that were not intended to be held. Typically, this happens when Mario continues to hold an [[object slot]] after the object in it has unloaded. When a new object loads into this slot, Mario will hold a reference to this new object. The name "cloning" comes from one of its main applications, which is to duplicate objects such as [[coin]]s or [[Goomba|goombas]]. This name is a misnomer, as the duplication behavior is a property of those specific objects, and not the technique itself.  


[[File:Holding Objects.png|frame|right|How holding objects works]]
[[File:Holding Objects.png|frame|right|How holding objects works]]
Line 10: Line 10:
For example, if Mario begins to pick up a [[Bob-omb]] just before it explodes and unloads, Mario will hold the object slot that the Bob-omb originally occupied.
For example, if Mario begins to pick up a [[Bob-omb]] just before it explodes and unloads, Mario will hold the object slot that the Bob-omb originally occupied.


This can be performed using the following objects:
This can be performed using the following objects:<ref>[https://www.youtube.com/watch?v=9xE2otZ-9os "SM64 - The Science of Cloning" by pannenkoek2012]</ref>
*[[Bob-omb]]
{| class="wikitable"
*[[Cork Box]]
! Object
*[[Chuckya]]
! Circumstances
*[[Crazy Box]]<ref>[https://www.youtube.com/watch?v=BEiRksVS3aw "SM64 - Fake Crazy Box" by pannenkoek2012]</ref>
! Before coins despawn
! After coins despawn
|-
| rowspan="3" | Bob-omb
              | No fuse
              | VS2
              | VS3
              |-
              | Early fuse
              | VS4/VS5
              | VS5/VS6
              |-
              | Full fuse
              | VS2
              | VS3
|-
              | [[Chuckya]]
              | All
              | VS21
|-
| rowspan="3" | [[Cork Box]]
              | Breaking
              | VS42
              | VS45
              |-
              | Disappearing within no-spawn radius
              | VS1
              |-
              | Disappearing outside no-spawn radius
              | VS2
|-
              | [[Crazy Box]]<ref>[https://www.youtube.com/watch?v=BEiRksVS3aw "SM64 - Fake Crazy Box" by pannenkoek2012]</ref>
              | All
              | VS21
|}


=== Loading zones ===
=== Loading zones ===
Line 51: Line 85:
*[[Blue Coin|Blue coin]]s by reaching a loading zone before the [[Blue Coin Switch]] runs out
*[[Blue Coin|Blue coin]]s by reaching a loading zone before the [[Blue Coin Switch]] runs out
<!--Finish this list-->
<!--Finish this list-->
Because cloned objects never unload, they gradually fill up the available [[object slots]] and continue to be rendered on screen. This can cause lag, [[game corruption]], and eventually a [[game freeze]] when the object slots run out.
Because cloned objects never unload, they gradually fill up the available [[object slot]]s and continue to be rendered on screen. This can cause lag, [[game corruption]], and eventually a [[Crash|game freeze]] when the object slots run out.
 
=== Infinite shell ===
=== Infinite shell ===
When Mario rides on a [[Koopa Shell]] or [[Shiny Shell]], although the latter is impossible to clone, the shell object stays spawned until he runs into a [[wall]] or presses Z, which causes the shell to break. At this point, Mario sets a flag on the shell, and when the shell next updates, it unloads itself. Because a cloned shell does not update, it does not unload, allowing Mario to repeatedly ride and break a shell after cloning it.  
When Mario rides on a [[Koopa Shell]] or [[Shiny Shell]], although the latter is impossible to clone, the shell object stays spawned until he runs into a [[wall]] or presses Z, which causes the shell to break. At this point, Mario sets a flag on the shell, and when the shell next updates, it unloads itself. Because a cloned shell does not update, it does not unload, allowing Mario to repeatedly ride and break a shell after cloning it.  
Line 100: Line 135:
*Unload 2 coins: coin#2=VS1
*Unload 2 coins: coin#2=VS1
*Open [[Cap Block#Metal Cap|Metal Cap block]]: VS1=Metal Cap
*Open [[Cap Block#Metal Cap|Metal Cap block]]: VS1=Metal Cap
==Premature Cloning==
A '''premature clone''' is a cloned object that has some of its properties not fully loaded yet. This occurs on the first frame a nearby spawner spawns objects that can be cloned, and on that frame, the object would temporarily be placed at the origin of the course (0, 0, 0) while many of the properties are missing.
A clone of such an object mimics many of the same traits. Therefore, a premature clone would, if released, be placed at the origin of the course while missing some effects. For example, a coin released prematurely will not be collected while the object is released, unlike the standard steps of cloning a coin. Using this technique, Pannenkoek2012 could complete some stages without collecting any coins where it may seem inevitable, notably in [[Mario Wings to the Sky]].
==See also==
==See also==
*[[Premature clone|Premature Clone]]
*[[Premature clone|Premature Clone]]
17

edits