(edited: ) |
Any% by eien86 (May 5th 2021) In this timeless classic, the tyrant Jaffar has seized power and has forced Sultan's daughter to marry him. You, the brave youth who is a prisoner in Jaffar's dungeons must rescue her within 60 minutes. Little does poor Jaffar know that he will be defeated in a fifth of the intended time. - Total IGT: 12m 09s 333ms - Level Skip IGT: 08m 58s (Estimated) - Total RT: 12m 59s 666ms Game objectives A potential level Skip run IGT can be obtained by subtracting the time for the first 3 levels. In this case, it results in an estimate of 08:58m which a notable improvement compared to 12:20.58 of the previous level-skip TAS produced by David Newton ( video here ) . In general, this run abides by the same rules as the RTA runs. Only difference is that we use the Prince of Persia 1.0 version as emulation for newer versions does not handle sounds well. Here some guard reaction times and probabilities are changed, but overall the gameplay is the same. Comments - Frame by Frame Analysis / Memory Debugging Thanks to the use of emulators (JPC-RR) and memory debuggers (Cheat Engine), the discovery new tricks (e.g., level 7 and level 8 skips) that would have not been otherwise possible, as their discovery required a frame-perfect input and RNG-heavy setups. Fortunately, more human-friendly versions of these skips have been developed after their discovery. - Routing by Exhaustive Seach The development of an open-source version of the game (SDLPop) allowed the development of a high-performance parallel breadth-first search bot, called Jaffar that exhaustively explores all possible movements in each possible frame. The search is made possible by constraining the exploration space to that of a pre-determined route, requiring a few trillion states per level. As a result, the bot found the most efficient way to traverse the community-established route. We've applied Jaffar repeatedly on a supercomputer to solve for every level. Following strict definitions, the re-Record count is: 836,877,925,474. Stage by stage comments Level 2: A long level. No changes to the route here compared to RTA, but a lot of RNG optimization by the bot to skip all guards faster. Level 3: The bot-optimized movement here played a big role in shaving those last few frames. Movement, especially while ascending/descending the way to the exit door open tile has been highly optimized. An RNG-induced hit by the skeleton saves a few backward steps with the sword. Level 4: Here a few known skips are used, most notably using the guard to open the first door. The bot's contribution is minimal here, optimizing a few movements before/after the mirror. Level 5: Here the door skip is employed to skip a big part of the level. This is performed by luring the guard to the left and then clipping through the door while on-guard. The rest of the level includes the normal route, optimized via the bot. Level 6: Here we used the normal route. A nice jump over the hole in the second-to-last screen was found by the bot Level 7: Perhaps the most broken of all levels, we employed the newly discovered level 7 skip which contains a whole array of glitches all working in unison. First, we 'moonwalk' the guard through the chomper, then we make him fall 2 stories without dying by exiting and reentering the room. Then we use the guard to perform a 'Yolo skip' through the door. This route was exhaustively optimized by the bot. Level 8: Another spectacularly broken level. We lure the guard towards the 'useless' bad potion room and use him to make us clip through the wall and the floor towards the end of the level. This marks the return of the mouse who comes to save the day. Level 9: Definitely the longest and hardest to crack level. Here, the only skip found was the damage clip through the last door that allows us to skip making the loose tile fall, saving a few seconds. Other than that, it is still ripe for skips. Here the movements were highly optimized by the bot. Level 10: Here we make use of a few tricks, including 'guard jump', 'overflow teleport', 'yolo skip', 'fall damage cancel', and RNG manip. It would be very hard to improve level 10 any further. Level 11: This level remains skipless, mainly because of it's layout (all horizontal) it is still hard to crack. However, all moments were optimized by the bot, shaving many frames in the way. Level 12: An climbing level, here we use the 'overflow teleport' trick to skip to the shadow screen. Here, we grab the sword and immediately merge with the shadow to exit the level. Level 13: Here we used the bot to manipulate RNG to guarantee a fast Jaffar kill. As soon as Jaffar dies, the IGT clock stops. Level 14: This level only requires running a few screens, and IGT does not count anymore. Other comments - Improvements to Jaffar's memory management can allow for 10-100x wider searches, and perhaps discover new unknown skips. - Many ideas for skips on later levels are still under research. - A more robust RNG manipulation throughout the game (not only per-level). Emulation Issues: - Sound Blaster emulation seems to cause jittering in this emulator and game version. This is the best setup we've found, as the only other option is using PC Speaker emulation which, besides sounding horrible and ruining the entertainment factor, it affects the way RNG operates and thus also that of the gameplay. |
uvq3tsauvq3tsa, VelCheranVelCheran and 4 others |