Paper Mario: The Thousand Year Door any% in 2:00:58.23 by Malleo
Game Overview:
Paper Mario: The Thousand-Year Door is an RPG developed by Intelligent Systems and is the second game in the Paper Mario series following Paper Mario for the Nintendo 64. It incorporates a world made of paper and turn-based battles, much like its predecessor. In it, Peach asks Mario to help find a treasure hidden in Rogueport. When he arrives, she is missing as usual, and he must collect 7 Crystal Stars to save her and open the Thousand-Year Door to collect the treasure.
With the introduction of the next holy grail of timesavers, I have managed to bring down the any% TAS time by 15 minutes and 54.4 seconds, or 57,264 frames.
To sync the run:
- Emulator used: Dolphin 5.0
- Idle Skipping Off
- Dual Core Off
- DSP LLE Recompiler
- Memory Card in Slot A
- 2x internal resolution, no anti-aliasing, no antisotropic filtering
- Requires an AMD GPU running with OpenGL
Objectives:
- Aims for fastest time
- Manipulates luck
- Takes damage to save time
- Uses death to save time
- Major skip glitch
- Abuses programming errors in the game
- Genre: RPG
I use the Japanese ISO with the MD5 checksum: bec52fb8c1912bc6f8014801b6281422
Notable Improvements:
Fence Skip (Found by SolidifiedGaming, developed by Masterjun)
Fence Skip allows me to skip the sequence of talking to Frankly after reaching East Rogueport.
Outside of Professor Frankly’s house is a Goomba NPC named Goomfrey, who normally walks within a circle of a set radius. Upon reaching the boundary of this circle, Goomfrey will turn around to face the center. However, the game actually checks to see if he CROSSES this boundary, rather than detect if he is going to hit it. By this I mean that Goomfrey actually steps outside of his boundary for one frame. Goomfrey has an address that we call his stop timer, which dictates how long Goomfrey will walk for. This address counts down from a randomly determined value towards 0, decrementing by 1 per frame. This address normally freezes when Mario stands next to Goomfrey such that the “...” appears over Goomfrey’s head. However, pausing and unpausing causes this stop timer to continue decrementing towards 0. On the frame that Goomfrey steps outside of his boundary, I can walk up next to him, pause and unpause, and let the stop timer go to 0. When Goomfrey begins walking again, the game will never detect that he crosses the boundary since he’s already past it. From there I can manipulate Goomfrey to walk up towards Merlon’s door. When Goomfrey is close enough to the door, I will be blocked from entering the building and remain in the black void outside. In this void, certain object hitboxes are unloaded, allowing me to pass straight through the fence in front of the sewer pipe.
Zess T. Skip
Zess T. Skip allows me to circumvent the need to talk to Zess T., order her contact lens, pick it up, and give it to her.
We discovered that it was close to a minute faster to avoid the Zess T. sequence. Zess T. roams in the upper-left corner of Central Rogueport, guarding the loading zone to West Rogueport. Normally I need to give her a new contact lens in order to access West Rogueport. However, because I never return to the surface after Chapter 2 (since I never complete Chapter 2) AND because I will end up reaching North Rogueport for Glitzville an alternative way (in order to set up for Blimp Ticket Skip) it is faster to remain in the sewers. I can use the Hazard Respawn Glitch to pass through the warp pipe rooms in the sewers. This trick allows Mario to respawn in the center of a room by jumping first frame when entering a room. By jumping first frame, the game fails to set Mario’s respawn position, allowing him to spawn on top of the center block. From there, I can simply make my way left towards the West sewers.
Jabbi Hive Skip
Jabbi Hive Skip allows me to reach the Super Boots room in a post-Chapter 2 state, during which the Jabbis do not spawn but their hive still obstructs the loading zone.
I can perform a Goombella Buffer to bypass the left loading zone. From there, I can go into paper mode and walk up against the back wall. On the same frame, I pause, jump, and unspin from paper mode. As a result, the game will actually allow me to get out-of-bounds through the wall of the loading zone. From there, I can simply maneuver along the perimeter of the room and reach the loading zone behind the Jabbi hive.
Blimp Ticket Skip
Part 1: Jump Storage
Jump Storage is a state in which the game sets a flag that Mario has jumped, but does not unset this flag.
Jump Storage can be set up a few different ways. In the case of the Blimp Ticket Skip, I can use the post-Chapter 6 email cutscene. I first need to get Koops’s animation to occur one frame later than normal, which can be done by activating him a certain distance away from him. By entering the email cutscene while beginning to hop on Koops for one frame, I obtain Jump Storage. In this state, the game has flagged that Mario is in the process of jumping but fails to reset it when he lands on the ground. Attempting to jump in this state will result in Mario jumping for one frame and then landing on the ground, affecting removing the Jump Storage state.
Part 2: Super Jump
Super Jumps allow Mario to jump infinitely high in the air.
When in this Jump Storage state, I now need to walk up a step. To clarify, I don’t mean a regular staircase, as that would require jumping. Instead, I mean a small step, such as the ones found at the Rogueport dock. After stepping up to higher ground, pressing and holding A allows Mario to rise infinitely upwards until he hits a ceiling.
Part 3: Put it all together!
We’ve been aware of a method to get out-of-bounds onto the train tracks in North Rogueport, and these tracks have steps in them, which means I could get Y-velocity to perform a Super Jump. SolidifiedGaming discovered a way to get out-of-bounds without jumping through the use of paper mode’s smaller hitbox. I first walk up to the edge in paper mode. From there, I begin unspinning, and then pause and unpause. After I unpause, Mario is instantly unspun from Paper Mode, HOWEVER his hitbox hasn’t reset yet. As a result, I can temporarily walk up along the rail, just long enough to begin falling after I get past the invisible wall in front of the train tracks. From there, I can step up onto the train tracks to gain Y-velocity, and simply Super Jump towards the blimp.
Gloomtail Warp
Through the use of a Super Jump, I am able to reach Gloomtail’s Room after fighting Grodus and Bowser. As a result, this warps me to the end of the first Shadow Queen cutscene sequence.
After defeating Bowser I head back to the left until I reach the same room that I performed Palace Skip in. After using the spring to get back up top, I hop on Yoshi and hit the spring twice. On the second fall, the spring is still oscillating up and down long enough for me to perform a Jump Storage. Hopping off of Yoshi a frame before I hit the spring results in Jump Storage. I’ll need to land on the door arch all the way to the right. In order to remain on the arch without falling off, I need to be in paper mode after leaving airplane mode. It’s actually possible to enter airplane mode while in paper mode, and I will remain in paper mode after. I can go into paper mode, land on the spring, and then land on the plane panel immediately after. As a result, I can continue holding R and activate the plane panel.
After landing on the door frame, my main goal is to get to a region of the door such that I can step up to perform a Super Jump. The method we found is as follows. First I need to begin unspinning from paper mode. I then begin spinning back into paper mode and pause and unpause to immediately transform in order to skip the animation. This animation will cause Mario to fall off the doorframe, so pausing and unpausing eliminates this hazard. From there, I can maneuver onto a lower portion of the door frame, step up onto the higher portion and Super Jump up towards Gloomtail’s room. Gloomtail’s room in this state in Chapter 8 is used for a cutscene with Frankly right before the first phase of the Shadow Queen battle. As a result, the cutscene will start playing and warp me to the end of the first Shadow Queen cutscene.
Possible Improvements
When using an item after leaving Flurrie's house for the first time, I did not correctly unspin from Paper Mode. I failed to realize this at the time.
Showstopper can immediately kill Bowser and Kammy Koopa, though in order for this to be faster I have to miss the first set of action commands. Failing Showstopper immediately results in a 1 in 4000 chance that it will kill Bowser and Kammy Koopa. Without an easy way to calculate RNG values that will produce this scenario, I was not able to successfully perform this. Plus it would only save a few seconds at best.
Theoretical Timesavers
Blimp Ticket Skip Revision
The setup for Blimp Ticket Skip (creating the save file, dying at Flurrie’s house, completing Chapter 6, and the intermissions that follow) is much more lengthy than we’d like. If a better method for Blimp Ticket Skip was found, we could definitely shave off a few more minutes. We don’t currently have any significant leads as to how this may be possible, though if we found a way to obtain Jump Storage in Poshley Heights rather than use a file at Flurrie’s house, that in itself may save a minute.
Palace Skip without Yoshi
If we were able to perform Palace Skip without Yoshi, we could cut out the entirety of Glitzville.
Teleporter Room Early without Flurrie
If we were able to perform TRE without Flurrie, then we would not need to finish Chapter 1. After obtaining Paper Mode, I could advance immediately to Chapter 7 via TRE, get the Super Boots from the Great Tree, go to Poshley Heights and finish Chapter 6, Blimp Ticket Skip, Glitzville, Chapter 7, and end with Chapter 8.
Suggested Screenshot
Special Thanks
SolidifiedGaming - Discovered Fence Skip, Palace Skip, Gloomtail Warp
Jdaster - Reverse-engineered the battle system to calculate Mega Rush drops and audience events
trivial171 - Developed a lua script for monitoring the index values and rate of advancement for RNG
Masterjun - Deduced and explained the mechanics behind the Prologue Fence Skip, a trick I never thought I’d be able to include in this TAS!
Vynneve - Routing
MuzYoshi - Routing and the intro image in my Youtube encode
Masterjun:
Malleoz finished the TAS again? Time to find another big timesave! I mean, judging!
Masterjun: There is not a lot I can say here. The obsoletion chain leading up to this movie speaks for itself. The amount of dedication to this game is apparent.