This is the GameCube version of Prince of Persia: Warrior Within, the second game in the fabled "Sands of Time Trilogy" of the Prince of Persia franchise.
Info
Emulator used:
Created using BizHawk interim with Dolphin core support, syncs on Dolphin 5.0-16426.
Objective:
Complete the game as fast as possible, without the use of the zipping glitch.
Comments
This run was originally planned as a "Zipful" run which would essentially be same until the rewind power is obtained, but once I reached that point, I got a tiny bit of curiosity about how far I can go without the menu glitch and that curiosity got the better of me as I was having quite bit of fun working with the available glitches.
About the Category
Zipping is a glitch that occurs when too many inputs are performed in a short time period and rewound, this results in memory overflow where the game accelerates the prince's actions instead of rewinding. Collision is also disabled during rewinds, allowing the prince to zoom through walls with ease. This is a powerful glitch that renders all the other cool glitches useless, hence this category was created. In this game and the sequel, the RTA runs (done on PC) extensively use the menu glitch, which is unfortunately not available in the GameCube versions. So this whole run was a puzzle solving exercise to work around this problem. Easy difficulty is selected because harder difficulties serve no purpose other than making the fights longer.
Stage by stage comments
The Boat
This section that RTA runners affectionately call "Boat" is a purely movement based section with no glitches. First we are locked in a combat arena where some number of enemies need to be defeated before the game lets us progress to the next cutscene. Amidst this, an axe dropped by one of the enemies is picked up in the middle of a roll so the pickup animation is cancelled. This game introduces a disgusting mechanic that we call autotarget where the prince is very passionate about murdering every singe enemy in the game, so he tends to take out his swords automatically when he is near them and he will keep facing them until there is a certain distance created between him and his prey. Which is why after the last required enemy I had to do some weird maneuver to get away from the remaining one. The next section is a small corridor where we do side-rolls because it avoids the said autotarget and also is the fastest movement on water. Normal rolls are tied fastest movement on land and give slightly more maneuverability but of course it depends on the room layout. In the third section we roll around some enemies and then backflip to create enough distance and then sideroll out of there into the boss fight. This boss fight has been optimized quite a bit by RTA runners. Doing a counter attack with the secondary weapon produces the fastest DPS. A small optimization over the PC runs here I use a jump kick followed by a sword attack into the phase transition. This is faster than the vault attack which although produces more DPS, in this case one of the attack's damage is cancelled by the phase transition. The next phase has a similar structure and goes into the swordlock. After that a quick spin combo does barely enough damage to finish off the fight (this would not be possible with the other 2 possible weapon drops).
The Beach
Finally we are not constantly surrounded by enemies so we can do normal rolls. The area starts with a skip right off the bat which is honestly just a oversight in level design. It will be a theme throughout this run where we can "catch" edges of platform to do a jump but in a unintended direction. After reaching the save fountain we wait for a crow to attack us and cancel the fence climb. This gives us what is called "ledge storage", and the prince will try to teleport to this spot whenever he tries to autoclimb something. Some absurd jumps later we reach the point where we normally get the spider sword, but we can do a precise vault to get over the cutscene trigger and then do the autoclimb at a specific point and this conveniently puts us exactly where we need to go although we need to do a tiny backtrack to hit a load trigger. Before the game can catch a break we quickly do another couple of sequence breaks to get to the part where you are normally supposed to be only after the first dahaka encounter. But it just happens to be a faster way to get around this room. After jumping over a cutscene trigger we drop down to the path to the portal room with some fancy jumps. We can cancel the stagger from falling heights using the first person camera.
It's Rewind Time
After getting the power that these games are famous for, there is another platforming section ahead. In PC runs, the enemies are deloaded with a menu glitch (wallrun teleport) and the cutscene skipped with another (roll teleport). But since we cannot do that we pull out one of our biggest weapons i.e. rewinding at the perfect frame to disable cutscenes. After that we do the room pretty normally just completely ignoring the enemies. After that is the biggest skip of the run which is - one wallrun. Thanks to this game's semi-open nature sometimes late game areas are just exposed and one small trick saves about 1.5 hours of gameplay. There is a conveniently placed save fountain which we can use to get a checkpoint and death abuse to load the area properly.
Foundry
After another long corridor we reach the foundry but first we rewind the load trigger at a specific frame. Even though we physically skipped progression, the game tracks a value that we call "storygate" that basically it uses to track progress as different versions of some of areas that are visited multiple times needs to be loaded. Using this rewind, "the game is tricked" (best explanation) into spawning a storygate trigger that raises the value from 3 all the way to 58 (for reference the final storygate is 67). We do another precise wallrun to skip over a cutscene and also completely skip over the intended way of completing the foundry "puzzle". We death abuse a couple of times at the next fountain to become the sandwraith, as the game expects the prince to be in this form at this storygate. This state is also convenient because sands keep regenerating in a periodic manner.
The Adventure down to get a Sword
As we continue we get more non-fastboi-friendly trap cycles. So we use the traps themselves to do a "trap fall damage cancel" which let's us survive a ridiculous height. We continue down to prison where we can take advantage of a specific gap in the archway leading to library to get out of bounds. And then we can use the open pit to drop down. We can throw our secondary weapon at the perfect frame and this state is used to negate fall damage. Perfect timing as this room has one of the most overpowered secondary weapons that the RTA community lovingly calls "the cursed axe". And then we collect the scorpion sword which the last mandatory primary weapon in the game. This weapon is need to break some walls and even if we managed to somehow glitch through the walls, the final boss fight would be longer than this entire run with the wooden stick. Ok fantastic we have the scorpion sword but now what? We are stuck in a partially loaded mess so we need to climb back up. PC runs have simple answer - just menu glitch to launch up duh. But here it's a bit more complicated. We start with jumping in place and rewinding. Every time we do it we sink a little bit into the ground, hence it is called the "quicksand" glitch. We have to do it 18 times to sink enough in the room. Thankfully we can do it at the perfect time as a sand regenerates to essentially use the sand to rewind to a point where game thinks it time for regeneration --> repeat. Then we can take advantage of our low hitbox to roll under the locked door to get into the thrall fight room (just things that happen when the game is played normally). Then we get up some janky collision and then do a rewind trick. I would love to give an in-depth explanation about this glitch if we understand it well but jist of it is, when 2 successive rewinds are performed at a very specific interval, sometime the games re-does one of the prince's previous actions but in the prince's new location resulting in more distance covered. I had to wait a little because the rewind timer needs to be in a "correct state" for this to work. Finally we catch the ladder and escape the pit.
Library
Most of this area is done without glitches but there are a couple of cheeky wallrun skips. Normally we are supposed to go to the mystic caves but we skip to the mechanical tower using another rewind trick.
Mechanical Tower
Since we skipped some progression, we need to do another storygate manipulation in this area. This time its just 60 -> 63. First we do a multi-purpose rewind that does the manipulation and also skips a cutscene. Then we can do 360 beam trick into another trick known as "Vynnwheel" named after Vynneve which is basically using the wheel ascend to the top of the area. This is practically impossible to do real time but with the help of delayed walljumps it's rather straightforward for a TAS. After that we need to rewind another load to prevent despawning the storygate and then we can just do the descend relatively normally using the platforms. A valid question is would be why not try to manipulate storygate 64 or later in similar way to cut the backtracking, the reason why we stick to 63 is that there are separate checks used for the final set of story gates that as of today we do not know a working method to manipulate. This image shows a partially decompiled code where iVar4 is the current storygate value and iVar5, iVar6, iVar7 correspond to 46, 64, 65 respectively.
Home stretch
Now we officially have everything needed to finish the game. Something interesting happens at the part where we are supposed to turn back into the prince. As we rewind the cutscene, not only it is skipped but also the prince is teleported to the point where he is supposed to be after the cutscene. The only downside is that the camera gets stuck but nothing another little rewind won't fix. Technically it's not required but it improves quality of life both in terms of entertainment and the actually being to see the prince definitely helps in better optimization. And after that we see another glitch - wallrun extension. By slashing the sword continuously and rewinding, it results in the wallrun being restarted at the point where rewind is released. This allows us to get over a trap to skip a cycle. After that one more cutscene is skipped in a similar fashion as discussed before. Sadly the long cutscene before the portal doesn't seem to be skippable this way. I assume there are some extra checks added for this cutscene trigger as it also directly goes through a load trigger.
Final Boss
After some more platforming, we reach the final boss Kaileena. We start the fight with a secondary counter and then vault over her and kick in the head. This causes some kind of stun and she is unable to block any of our hits. Then we repeat the spin combo over an over again since it has the highest damage when all of the hits land without being blocked. The mid fight cutscenes are skipped with rewinds. This is actually also done in RTA runs but TAS ofcourse does it without any kind of setup. Just before the swordlock and the final hit we use a charge attack which does a lot of damage. It is normally slow and lets her out of the stun but in these 2 scenarios the recovery part of the animation is skipped thus saving time over doing two spin combos.
Other Comments
RTA Timing
For real time runs timer starts when the prince gains control and ends when the cutscene after defeating Kaileena plays. Also, the CGI cutscene times are removed. Timing the TAS this way it clocks in at approximately 16:50, about 2.5 minutes faster than the current RTA World Record of 19:35.
Mistake(s)
At the very beginning, the "Ubisoft Montreal" part of the logos (and that part only) can be skipped for some reason and I forgot to do so and it was a bit too late to fix before I realized it. Although it was unnecessary timeloss I am not too sad about it since it makes the intro less weird in my opinion.
Thank You Note
I would like to thank CasualPokePlayer for the dolphin core support built into BizHawk, which made the process of making this run quite a bit simpler. I would also like to thank the Prince of Persia speedrun community for glitches/tricks found over the years and for just being an awesome community. I would also like to thank TASVideos staff for always being there to help with any technical issue.
Re-Record Count
Dumping the DTM from BizHawk does not transfer the rerecord count, hence here is the BK2 file as a proof of the correct count which is 6994.
ThunderAxe31: Claiming for judging.
ThunderAxe31: The goal chosen for this movie matches the definion of the Zipless category in the relative speedrunning community, which consists in avoiding using a known memory corruption glitch that allows to perform huge zips through walls. This resulted in a much more entertaining movie than how a fastest-completion one would look. On the other hand, there are still some major skip glitches used, so this movie isn't applicable for Standard either way.
Accepting as an Alternative branch.
ThunderAxe31: Intended rerecord count restored.
EZGames69: Processing...