Cloning: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
mNo edit summary
m (→‎Delayed grab: removed the timecode in the science of cloning source)
 
(19 intermediate revisions by 11 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 objects 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 coins or goombas. 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 6: Line 6:


=== Delayed grab ===
=== Delayed grab ===
When Mario picks up an object by punching (as opposed to diving or water grab), there is a two frame window of time in which the object is not held, yet Mario has committed to picking up the object. At the end of this window, Mario will hold the object slot that this object is in, even if the original object has since despawned.
When Mario picks up an object by [[punch]]ing (as opposed to [[dive|diving]] or [[water grab]]bing), there is a two-[[frame]] window of time in which the object is not placed into [[limbo]], yet Mario has committed to picking up the object. At the end of this window, Mario will hold the object slot that this object is in, even if the original object has since unloaded.


For example, if Mario begins to pick up a bob-omb just before it explodes and despawns, 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</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 ===
[[Loading zones]] cause all objects to despawn, and new objects to spawn in their place. If Mario is holding an object while passing through a loading zone, he will continue to hold the object slot, even though the object has unloaded.
[[Loading zone]]s cause all objects to unload, and new objects to spawn in their place. If Mario is holding an object while passing through a loading zone, he will continue to hold the object slot, even though the object has unloaded.


This can be performed in [[Wet-Dry World]] by carrying a [[chuckya]] or [[heave ho]] through the loading zone, and in [[Dire, Dire Docks]] using the [[water shell holding]] glitch.
This can be performed in [[Wet-Dry World]] by carrying a [[chuckya]] or [[Heave-Ho]] through the loading zone, and in [[Dire, Dire Docks]] using the [[water shell holding]] glitch.


== Properties of clones ==
== Properties of clones ==
The term "clone" generally refers to an object that was not meant to be held that nevertheless is or was being held in Mario's hand
The term "clone" generally refers to an object that was not meant to be held that nevertheless is or was being held by Mario.


When Mario releases a clone, it stops updating and becomes unable to send signals to other objects. Mario can still [[Interaction|interact]] with it, since interaction is part of Mario's behavior, not the object's. For example, while Mario can still collect a coin after it has been cloned, the coin no longer spins.
When Mario releases a clone, it stops updating and becomes unable to send signals to other objects. Mario can still [[Interaction|interact]] with it, since interaction is part of Mario's behavior, not the object's. For example, while Mario can still collect a coin after it has been cloned, the coin no longer spins.
Line 29: Line 63:
*Collecting a coin
*Collecting a coin
*Taking damage from an enemy
*Taking damage from an enemy
*Touching a water ring
*Touching a [[water ring]]
*Getting knocked back by a bully
*Getting knocked back by a [[Bully]]
*Touching a [[Warps|warp object]]
*Touching a [[warp]] object
*Getting grabbed by an object
*Getting grabbed by [[Chuckya]] (or [[King Bob-omb]], who is impossible to clone)


Some notable interactions that do ''not'' cause the object to become intangible are:
Some notable interactions that do ''not'' cause the object to become intangible are:
*Touching a [[Koopa Shell]]
*Touching a [[Koopa Shell]]
*Knocking back a bully
*Knocking back a Bully
*Warping using a [[Teleporter]]
*Warping using a [[Teleporter]]
 
The behavior of clones is identical to that of objects during [[Time Stop]]. If an object that is meant to be held, like a Bob-omb or cork box, is cloned, it will act normally when released. It is not usually considered a clone and has behavior separate from its behavior during time stop.
The behavior of clones is identical to that of objects during [[Time_Stop|time stop]].


== Applications ==
== Applications ==
=== Duplication ===
=== Duplication ===
Some objects such as coins and goombas use spawners, whose purpose is to ensure that these objects are loaded when necessary. For example, when Mario moves far away from a line of coins, they despawn. When Mario again moves toward the coins, the coin line's spawner is responsible for respawning the coins in the line that have not yet been collected.
Some objects such as [[coin]]s and [[Goomba]]s use [[spawner]]s, whose purpose is to ensure that these objects are loaded when necessary. For example, when Mario moves far away from a line of coins, they unload. When Mario again moves toward the coins, the [[Coin Spawner|coin line's spawner]] is responsible for respawning the coins, and only those coins, in the line that have not yet been collected.


When Mario interacts with a coin, he collects it and sets a flag on the coin to inform it that it has been collected. When the coin next updates, it despawns itself and informs the coin spawner that it should not be respawned when Mario moves away and comes back. However, if this coin was cloned, then it does not update, and so cannot inform the spawner that it has been collected. Thus, if Mario collects a cloned coin, and then moves away and returns, the original coin will respawn, effectively duplicating the coin.
When Mario interacts with a coin, he collects it and sets a flag on the coin spawner to inform it that it has been collected. When the coin next updates, it despawns itself and informs the coin spawner that it should not be respawned when Mario moves away and comes back. However, if this coin was cloned, then it does not update, and so cannot inform the spawner that it has been collected. Thus, if Mario collects a cloned coin, and then moves away and returns, the original coin will respawn, effectively duplicating the coin. This does not occur with coins that do not come from spawners, as they cannot load during the level.


The following objects can be duplicated in this manner:
The following objects can be duplicated in this manner:
*[[Goomba|Goombas]]
*[[Goomba]]s
*[[Yellow Coin|Yellow coins]] (not [[Red Coin|red coins]], as these do not have spawners)
*[[Yellow Coin|Yellow coin]]s (not [[Red Coin|red coins]], as these do not have spawners)
*[[Blue Coin|Blue coins]] 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 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.


Because the cloned objects do not despawn, 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.
=== 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.
=== Remote star collection ===
Stars that spawn during the course of gameplay can be cloned. For example, this can be done with red coin stars, 100 coin stars, and stars contained in item boxes. Even if a star is spawned at the start of a level, it can still be cloned if that level contains a [[loading zone]], such as [[Board Bowser's Sub]] and [[Collect the Caps...|Collect the Caps]] in [[Dire, Dire Docks]].


=== Infinite shell ===
==Manipulating clones==
When Mario rides on a [[koopa shell]], 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 despawns itself. Because a cloned shell does not update, it does not despawn, allowing Mario to repeatedly ride and break a shell after cloning it.
These are commonly used methods to get Mario to hold the correct [[object slot]] to clone a desired [[object]].
===Coin in [[BoB]]===
*Grab fake cork box outside radius: box=VS2
*Load 8 coins: VS2=coin#2
===Coin in [[BitFS]]===
*Grab fake Bob-omb: Bob-omb=VS9
*Flame:VS9=VS4
*Load 5 coins: VS4=coin#4
===Top coin of a ring (AKA coin#3)===
*Open a [[Cap Block]]: (no effect)
*Grab fake cork box outside radius: box=VS2
*Unload [[Wing Cap]]: VS2=VS3
*Load 8 coins: VS3=coin#3
(Used to collect [[secret]]s coinless)
 
===Bob-omb===
*Explode a Bob-omb: (no effect)
*Grab a fake cork box inside radius: box=VS1
*Respawn Bob-omb: VS1=Bob-omb
===[[Chain Chomp's Pivot]]===
*Grab fake cork box inside it radius: box=VS1
*Load [[Chain Chomp]]: VS1=pivot
===Red Coin Star===
*Grab fake cork box outside radius: box=VS2
*Collect a yellow coin: VS2=VS3
*Collect a yellow coin: VS3=VS4
*Collect 8th red coin: VS1=[[Red Coin Star|red coin star]]
===100 coin star===
*Grab fake Bob-omb: bob-omb=VS9
*Load 8 coins: VS9=VS1
*Collect 100th coin: VS1=[[100 Coin Star|100 coin star]]
===[[Koopa Shell]]===
*Grab fake cork box outside radius: box=VS2
*Load Chain Chomp: VS2=chain#1
*Unload Chain Chomp: chain#1=VS4
*Load 3 [[Goomba]]s: VS4=VS1
*Knock off [[Koopa]]'s shell: VS1=shell
===[[Metal Cap]]===
*Grab fake cork box outside radius: box=VS2
*Load 2 coins: VS2=coin#2
*Unload 2 coins: coin#2=VS1
*Open [[Cap Block#Metal Cap|Metal Cap block]]: VS1=Metal Cap


=== Remote star collection ===
==Premature Cloning==
Stars that spawn during the course of gameplay can be cloned. For example, this can be done with red coin stars, 100 coin stars, and stars contained in item boxes.
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.


Even if a star is spawned at the start of a level, it can still be cloned if that level contains a loading zone, such as Board Bowser's Sub and Collect the Caps in [[Dire, Dire Docks]].
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==
Line 70: Line 147:
[[Category:Glitches]]
[[Category:Glitches]]
[[Category:Memory glitches]]
[[Category:Memory glitches]]
== References ==
<references />


== References ==
{{Glitches}}

Latest revision as of 07:24, 21 November 2021

Mario holding a Coin Clone

Cloning refers to a number of glitches that allow Mario to hold objects 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 coins or goombas. This name is a misnomer, as the duplication behavior is a property of those specific objects, and not the technique itself.

How holding objects works

Methods

Delayed grab

When Mario picks up an object by punching (as opposed to diving or water grabbing), there is a two-frame window of time in which the object is not placed into limbo, yet Mario has committed to picking up the object. At the end of this window, Mario will hold the object slot that this object is in, even if the original object has since unloaded.

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:[1]

Object Circumstances Before coins despawn After coins despawn
Bob-omb No fuse VS2 VS3
Early fuse VS4/VS5 VS5/VS6
Full fuse VS2 VS3
Chuckya All VS21
Cork Box Breaking VS42 VS45
Disappearing within no-spawn radius VS1
Disappearing outside no-spawn radius VS2
Crazy Box[2] All VS21

Loading zones

Loading zones cause all objects to unload, and new objects to spawn in their place. If Mario is holding an object while passing through a loading zone, he will continue to hold the object slot, even though the object has unloaded.

This can be performed in Wet-Dry World by carrying a chuckya or Heave-Ho through the loading zone, and in Dire, Dire Docks using the water shell holding glitch.

Properties of clones

The term "clone" generally refers to an object that was not meant to be held that nevertheless is or was being held by Mario.

When Mario releases a clone, it stops updating and becomes unable to send signals to other objects. Mario can still interact with it, since interaction is part of Mario's behavior, not the object's. For example, while Mario can still collect a coin after it has been cloned, the coin no longer spins.

Though Mario can still interact with objects, certain types of interactions will cause the object to become intangible, and thus he will no longer be able to interact with it in any way. These include:

  • Collecting a coin
  • Taking damage from an enemy
  • Touching a water ring
  • Getting knocked back by a Bully
  • Touching a warp object
  • Getting grabbed by Chuckya (or King Bob-omb, who is impossible to clone)

Some notable interactions that do not cause the object to become intangible are:

The behavior of clones is identical to that of objects during Time Stop. If an object that is meant to be held, like a Bob-omb or cork box, is cloned, it will act normally when released. It is not usually considered a clone and has behavior separate from its behavior during time stop.

Applications

Duplication

Some objects such as coins and Goombas use spawners, whose purpose is to ensure that these objects are loaded when necessary. For example, when Mario moves far away from a line of coins, they unload. When Mario again moves toward the coins, the coin line's spawner is responsible for respawning the coins, and only those coins, in the line that have not yet been collected.

When Mario interacts with a coin, he collects it and sets a flag on the coin spawner to inform it that it has been collected. When the coin next updates, it despawns itself and informs the coin spawner that it should not be respawned when Mario moves away and comes back. However, if this coin was cloned, then it does not update, and so cannot inform the spawner that it has been collected. Thus, if Mario collects a cloned coin, and then moves away and returns, the original coin will respawn, effectively duplicating the coin. This does not occur with coins that do not come from spawners, as they cannot load during the level.

The following objects can be duplicated in this manner:

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.

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.

Remote star collection

Stars that spawn during the course of gameplay can be cloned. For example, this can be done with red coin stars, 100 coin stars, and stars contained in item boxes. Even if a star is spawned at the start of a level, it can still be cloned if that level contains a loading zone, such as Board Bowser's Sub and Collect the Caps in Dire, Dire Docks.

Manipulating clones

These are commonly used methods to get Mario to hold the correct object slot to clone a desired object.

Coin in BoB

  • Grab fake cork box outside radius: box=VS2
  • Load 8 coins: VS2=coin#2

Coin in BitFS

  • Grab fake Bob-omb: Bob-omb=VS9
  • Flame:VS9=VS4
  • Load 5 coins: VS4=coin#4

Top coin of a ring (AKA coin#3)

  • Open a Cap Block: (no effect)
  • Grab fake cork box outside radius: box=VS2
  • Unload Wing Cap: VS2=VS3
  • Load 8 coins: VS3=coin#3

(Used to collect secrets coinless)

Bob-omb

  • Explode a Bob-omb: (no effect)
  • Grab a fake cork box inside radius: box=VS1
  • Respawn Bob-omb: VS1=Bob-omb

Chain Chomp's Pivot

  • Grab fake cork box inside it radius: box=VS1
  • Load Chain Chomp: VS1=pivot

Red Coin Star

  • Grab fake cork box outside radius: box=VS2
  • Collect a yellow coin: VS2=VS3
  • Collect a yellow coin: VS3=VS4
  • Collect 8th red coin: VS1=red coin star

100 coin star

  • Grab fake Bob-omb: bob-omb=VS9
  • Load 8 coins: VS9=VS1
  • Collect 100th coin: VS1=100 coin star

Koopa Shell

  • Grab fake cork box outside radius: box=VS2
  • Load Chain Chomp: VS2=chain#1
  • Unload Chain Chomp: chain#1=VS4
  • Load 3 Goombas: VS4=VS1
  • Knock off Koopa's shell: VS1=shell

Metal Cap

  • Grab fake cork box outside radius: box=VS2
  • Load 2 coins: VS2=coin#2
  • Unload 2 coins: coin#2=VS1
  • Open 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

References