(The provided encode has commentary in the subtitles!)
Introduction
Chrono Trigger is one of the most beloved JRPGs ever made, done by the "Dream Team" of Hironobu Sakaguchi, Yuji Horii, and Akira Toriyama.
This run is an improvement of 3634 frames (roughly 1 minute) over the published run done by keylie. This is mainly due to improvements noted in his submission notes over the years, alongside other optimizations found by community members and myself. Certain sections of the run use keylie's input as a base, thus he's fully deserving of co-authorship credit.
Run Details
- Emulator details: Bizhawk 2.8
- Doesn't use memory corruption.
Tricks and Glitches
Confirm Framestep
When remapping the confirm button to any other button (X, B, etc.), it's possible to bypass a few cutscene and battle triggers by pressing a direction and confirm for a frame, releasing, etc. until you're past the trigger. This is used to skip the first fight in Truce Canyon a few times, a battle in the Cathedral, among other places.
De-equip glitch
It's not normally possible to de-equip characters, as the game throws a buzzer when trying to do so. However, it's possible to trick the menu by doing multiple inputs on a single frame (Down+L or Up+R), bypassing the check by using equippable items in different slots.
De-equipping armor and helms has very useful properties. Each piece of gear de-equipped increased Magic Attack by 10 and increases Shadow, Ice, and Lightning defense by about 80%. This is used to speed up quite a few fights, although it comes with extreme risk whenever dealing with enemies who are strong physically or in Fire magic.
Note that this glitch functions differently in the Japanese version, where it doesn't increase the power of Magic Attacks.
Fadeout glitch
Transitioning to a different map has a small fadeout animation before it properly completes, which can be moved to arbitrary locations in a map by opening the main menu or swap menu. This is used to bypass many fights and cutscenes, and is also necessary for Save Anywhere.
Note for the Guardian fight skip, the fadeout only works if the menu button is not assigned to X, as the game spawns enemies normally when that is pressed.
Save Anywhere
When doing the fadeout glitch on a save point, you're warped out before the game has an opportunity to unset the save flag, allowing you to save anywhere in an interior map until entering one that has a save point present. This is a core trick to skip quite a few bosses and cutscenes.
End of Time Save Anywhere
A variant of Save Anywhere, interacting with the HP/MP bucket at a specific time after closing Gaspar's text/storing a warp choicer text allows you to regain control by swapping party members as the warp sequence begins, allowing you to do Save Anywhere in many more locations. This is used to setup skipping Zombor and Forest Maze.
Lavos Shell Skip
This skip is similar to End of Time Save Anywhere, only using two warp choicers for Tyranno Fortress and Bangor Dome when interacting with the 1999AD bucket. These two buckets are necessary to delay the transfer for long enough to reach the corner of End of Time.
Once there, opening and closing the menu transfers your map coordinates into the 1999AD map, and if your map position is roughly (8,8) it automatically teleports you into the shell and skips the associated battles. This is one of the biggest skips in the run, saving about 20 minutes.
Elixer glitch
When killed and re-raised at a specific time (done in this run with the Green Dream accessory), if the entire party is dead the game gets very confused and temporarily still considers everyone to be dead until the enemy takes another turn. In this state, single-use items such as Elixers automatically cancel without displaying a cursor, but still maintains it within the game's memory.
The cursor can then be glitched out via attacking or using a tech to select an opponent instead of a party member. Since Elixers fully restore HP, if it's used on an enemy with more then 16,384 HP, their health will overflow to 0 due to reaching the max value of 32,768. Inner Lavos and Lavos Core both have more then that amount of HP, and so they're immediately killed with two consecutive elixer glitches. This saves roughly an hour in any% from not needing to prepare for Lavos via gear/items.
RNG Manipulation
Battle RNG tends to 'snap' to specific values when a battle initiates, and critical hits are determined by what the value was before the snap on a rough table. This means that critical hits will always happen after a specific amount of attacks rather then being manipulable on a frame-by-frame basis.
Somewhat granular RNG manipulation is possible in-battle, but it can be slow since it often means taking extra actions.
The RNG also increments every frame when on the file select menu, allowing for critical hits to be manipulated more easily and 'snap' values to be accessed more easily. In this run, resets are used to manipulate RNG for later sections, with only one (right before Magus) done as not part of a different trick.
NPC RNG runs on a 60 frame cycle, which can be manipulated by just entering rooms at earlier/later points. This is done to manipulate a fight in the Factory, the beetles in the Reptite Lair, and where Retinite spawns in the Sunken Desert.
ATB Manipulation
Opening and closing the tech/item menus in battle or delaying attacks allows for some control over enemy and party ATB bar increment rates. This is used extensively in the more complicated fights (Masamune, Magus, Black Tyrano, Retinite) for RNG manipulation and to avoid enemy turns, most notably to skip Magus's second Dark Matter and to stop Masamune from attacking.
Improvements shortlist
Many of the improvements I made are noted in the commentary track with the encode above, but I'll also give brief notes on improvements made here.
- Character names were reduced to one character to save time on text (adds up to about 10 or so seconds over the course of the run). This is more a style difference then anything else though.
- A Power Tab was collected after getting the Steelsaber to speed up a few early fights.
- Yakra Skip was improved by about 90 frames by pushing into him as he transforms, which forces him to update more frequently (and thus finish his animation sooner).
- The fight the second time entering Truce Canyon was skipped with a save/reset, which also lets the RNG be set to a faster value. Saves about 3 seconds.
- One jailbar animation was skipped to save half a second.
- First Guard fight and Dragon Tank were improved due to RNG manipulation (about 9 or seconds in total).
- Rats were used in Lab 16 to temporarily disable enemy triggers, saving time on movement.
- Lucca was used in the Factory instead of Marle, which results in slightly faster cutscenes.
- Leaving the Medina House was improved by a few seconds by swapping characters after interacting with the cake, which gives back control when the cutscene activates.
- First Denadoro Mts. skip was improved by a few frames by saving in a different corner.
- Bird room before Masamune was improved by dodging a camera freeze after dropping from the ladder.
- Robo is used in the Masamune fight instead of Marle ( ), which lead to a lot of complicated reroutes of the midgame that ultimately saves a few seconds from a faster Melchior shop and not needing to de-equip Marle.
- Fade-out was done on the Power Tab in the second shop to save a few frames.
- Due to the RNG being off after Masamune, a new save/reset was done to skip most of Forest Maze via End of Time Save Anywhere. Theoretically this loses about 4 seconds, but it's regained from faster Nizbel and Masamune fights.
- Melchior fade after Nizbel was improved by a few seconds doing it from the basement loading trigger instead.
- Button was avoided in Tyranno Lair that activates a save point, saves 2 seconds.
- When speaking to plant lady in Zeal Palace, I speak to a different woman first to delay her text, letting me skip one of her choicers and save about a second.
- Ayla was removed from the party when teaching Frog magic to avoid Spekkio's text about her.
- Setup for elixer glitch for the two Lavos fights was improved by removing a reset and only using Frog for it rather then splitting between Crono/Frog.
Potential improvements
- Frames could be saved on various loading screens and when entering certain rooms, as NPC RNG is based on a frame timer rather then being controlled by the battle RNG. This is very difficult to determine and would honestly require a brute forcer for every loading screen, which isn't feasible currently.
- A way to avoid the save flag being disabled would allow for a few more minor skips after Nizbel, such as the cave fight before Magus's Castle and movement in Dactyl's Nest.
- It's possible to skip the cutscenes related to the Green Dream with a fadeout, which does complete the quest and re-add Robo to the party, but sadly does not provide the Green Dream. A way to do both would save two and a half minutes.
- Fadeout can be used to avoid Marle being removed from the party before the teleporter, but it sadly softlocks the game once entering 600AD. Avoiding this softlock would theoretically allow for you to leave 600 AD once obtaining Lucca, which would save about 5 minutes.
- Relatedly, a way to avoid having Frog be removed from the party after Yakra would theoretically allow for a lot of the second visit to 600 AD to be skipped, which would save quite a lot of time. It's impossible to leave the Yakra room once entering it, however, so this is rather unlikely.
Thanks
- Thank you very much to Fortranm and ruadath for their help with routing and previous work TASing this game, keylie for doing the initial TAS in 2014, inichi for their hard work on discovering many of the glitches done in this run back in 2008, and countless community members over the years.
Suggested Screenshot
Frame 480639 (Lavos Shell Skip)
Darkman425: Replaced input file with the 1001 frame improvement.
Darkman425: I saw all your work on the TASVideos Discord and those time saves was hard fought and well worth the work!