Parallel Universe: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 13: Line 13:
* Mario bonks while in a PU
* Mario bonks while in a PU
* Mario's quarter step gets cancelled while on the ground
* Mario's quarter step gets cancelled while on the ground
* Mario collides with a wall head on with PU speed
* Mario collides with a wall head-on with PU speed


== Emulation ==
== Emulation ==
Most emulators (including the official [[Virtual Console]] version) do not correctly emulate crashing due to floating point exceptions. A specialized version of Mupen64 was created that crashes when encountering floating point exceptions in order to better test PU routes.
Most emulators (including the official [[Virtual Console]] version) do not correctly emulate crashing due to floating point exceptions. A specialized version of Mupen64 was created that crashes when encountering floating point exceptions in order to better test PU routes.

Revision as of 05:21, 14 June 2018

A diagram of Parallel Universe movement in Hazy Maze Cave, after Mario has returned to the main map.

A Parallel Universe, or PU, is an area in a Super Mario 64 map at which the game creates phantom floors despite Mario being "outside" of the level. This is because the casted position value used to check for ground below Mario doesn't have enough bits to go above 7FFFh or below -8000h, unlike Mario's actual position, which is a float.

Frame of Peter Fedak's video where he turns Parallel Universes visible using hacks; notice the lack of objects

pannenkeok2012's video "Fly Guy Size Manipulation" confirms that vertical PUs do exist as well. However, since Mario's Y position cannot exceed 20000 in most circumstances, there are only three ways to reach a positive vertical PU: Hyper Speed Flying, Platform Release Displacement, and Indefinite Owl Flight. Negative vertical PUs can be reached with Hyper Speed Flying, Platform Release Displacement, or an Overflow Jump. "Spawning a 100 Coin Star in a PU" shows that spawning a 100 Coin Star in a PU will softlock the game. Note that PUs do not have anything except floors, so there are no walls, ceilings, or objects.

Travel and movement

Mario looking to the original map from a PU

Parallel Universe movement is comparable to movement through a five-dimensional space, as Mario can be modelled as travelling along five axes: relative X, relative Y, Z, PU X, and PU Z. This is because Mario can adjust his speed and angle to move relatively around the stage regardless of how many PUs he moves in the X or Z dimensions.

Since Mario's movement is split up into 4 quarter steps, and Mario cannot move out of bounds, in the game's courses Mario must travel at least a Quadruple Parallel Universe distance, QPU for short. However, if one of Mario's quarter steps (other than the first one) ends out of bounds, the game will cut his movement short. In this case, Mario does not travel a full 4 PU, instead ending up at a quarter-step between the QPUs depending on where the movement is cut off. This is referred to as a misaligned QPU.

In "Angles" and "Floats", pannenkeok2012 demonstrated how the granularity of Mario's position and angle can affect movement in Parallel Universes, and how this granularity makes it important to stay QPU-aligned and axis-aligned where possible.

Parallel universes tend to crash on console due to floating point exceptions. There are 4 ways the crash can happen:

  • The camera leaves the main map
  • Mario bonks while in a PU
  • Mario's quarter step gets cancelled while on the ground
  • Mario collides with a wall head-on with PU speed

Emulation

Most emulators (including the official Virtual Console version) do not correctly emulate crashing due to floating point exceptions. A specialized version of Mupen64 was created that crashes when encountering floating point exceptions in order to better test PU routes.