Submission #7318: Darkman425's GB Final Fantasy Legend II "game end glitch" in 08:50.24

Game Boy
game end glitch
(Submitted: game end glitch)
(Submitted: Sa-Ga 2 - Hihou Densetsu (Japan).gb unknown)
BizHawk 2.7.0
31670
59.7275005696058
4154
PowerOn
Submitted by Darkman425 on 1/31/2022 11:11 PM
Submission Comments
Final Fantasy Legend II, the second game in the SaGa series, expands upon its predecessor with a much more expansive story, rebalanced character types, and adding the new robot character type. Also like it's predecessor there are bugs to completely shatter the game and skip most of the content.

Run Notes

  • Emulator used: BizHawk version 2.7
  • GBHawk core, GBC mode
  • Heavy RNG manipulation
  • Uses several soft resets and a single hard reset
  • Major skip glitch to skip most of the game and the final boss

Background Info

First of all I mostly did this since I wanted a much shorter movie to do after Wily Wars. Also of note is that during my research for The Final Fantasy Legend, I came across SRC runs that were faster than the currently published TAS of Final Fantasy Legend II. Once I started to tackle this seriously I did some more research on how this is done. catklaw's run talked about how someone known as cheap had a route that flipped the flags to get to the credits quickly which is what I pretty much did for the TAS with a few adjustments. However this will differ from the RTA runs that I will explain later in the submission.

Helpful Technical Resources

Techniques and Glitches Used

Version Choice
I used the Japanese version of the game, SaGa 2: Hihou Densetsu, due to certain aspects of the poison bug only possible with the expanded katakana and hiragana character set that can't be done with the international versions.
Game RAM and RNG
Unlike The Final Fantasy Legend, this game doesn't rescramble the RAM upon a soft reset, opting to instead keep track of it between soft resets. This makes messing with the RNG normally harder since that means the only way to quickly skip a battle that the RNG says isn't immediately escapable from is to save before taking the next step then soft resetting once the RAM updates. When the soft reset is initiated affects which RAM values get updated once back in the game. However there is one incredibly strange way to actually mess with the initial RAM values for RNG manipulation...
Game Boy Color BIOS and RNG Manipulation
The Game Boy Color BIOS screen is where it's possible to change the palette for Game Boy games. This can adjust what the initial RNG values by roughly 1-2 compared to not adjusting the palette. This is confirmed as possible with The Final Fantasy Legend and should also be consistent with Final Fantasy Legend II. Less known and more bizarre is using the palette shifting to make the BIOS screen stay around for longer. This delay can wildly adjust the initial RNG values by distinct chunks. First thing to note is that the BIOS only accepts inputs every other frame. There are 7 RNG "areas" that repeat every 14 frames but they increment up by one every 28 frames. This is used for getting the right RNG for the hard reset and explains the big 20 seconds of pretty much nothing but color shifts. I do apologize for that but it's the solution that worked for me the best.
The Poison Bug
cheap's site has a great write-up in Japanese on their page here on the initial info about the poison bug, but I'll try to give a quick summary of how it's executed and triggered.
The main conditions to trigger the bug are as follows:
  • There has to be a total of 16 combatants in an encounter. If you don't have a guest character you need to be facing a total of 12 enemies. If you do have a guest character you need to be facing a total of 11 enemies.
  • Someone in the encounter has to die of poison on the same turn the last action has no target, such as having no equipment to do anything or using a shield.
When the following conditions are met the most significant bit of 8 bits data becomes 0, causing various changes to everyone in battle such as changing equipment and forms. For monsters they can keep a changed form by eating meat, though I don't utilize that aspect of the glitch.
Character Names and Fully Utilizing the Poison Bug
cheap's site also has a great write-up as well as a majority of the effects of the possible effects of the poison bug with regards to character names in Japanese on their page here. I can give a brief explanation of how it works here and the specifics for this TAS in a bit.
One of the big changes with the poison bug is that it affects the character names in battle. Some characters aren't read correctly and instead affect other sections of the game's RAM depending on the character's name before the glitch occurs. This wasn't noticed by the previous TAS since the character name of あ doesn't do much of anything. I utilized the names from cheap's SBG1 route, found here. These names work regardless of platform so I can just use the same names for GBHawk.
Character Naming Time Save
Since I actually have to name characters I save a small amount of time pressing Select so I can enter the 2nd character in the name, then press B twice to then select the 1st character. This is used for the main protagonist's name to cut back on name entry movement.

Run Breakdown

Home Town and the Northern Cave
The story begins with our hero, the Baby-D さえ, awakened by their dad to be given a Magi. The dad then heads out of the window on a quest. Years later さえ decides to go on a journey to find their dad. They recruit their friends, さそ the male human, あたド8 the female esper, and たあう the robot. When heading out of town their teacher, Mr. S, joins along to make sure their trip through the Northern Cave will be a safe one.
Once inside the cave a group of Jaguars are lit aflame by Mr. S and their meat is consumed by さえ to transform them into a WereRat. The group grabs a bronze shield and the equipment is shuffled. さそ removes his long sword, あたド8 replaces her bow for the bronze shield, and たあう removes their colt. This is to set up a battle for the encounter involving the poison bug. A few more battles skipped by later the group encounters a BabyWyrm guarding the exit of the cave. Mr. S melts the BabyWyrm, taking it out completely. さえ consumes the remains to become a Red Bone. The Red Bone has access to the Poison skill, absolutely necessary for causing the poison bug.
The Southern Relics
Once the group leaves the cave Mr. S departs and the rest are on their own. They head over to the Temple of Isis and talk to the priestess Ki. She informs them that there are some Magi that might be found south of the temple. Talking to her is required since it sets the flag to enter the area. Nothing of note tech-wise is worth mentioning aside from Ki's text requires 2 separate A presses to clear for some reason. The group witness some members of the Returners fleeing with Magi in tow. The group grabs the 3 remaining Magi and head out the back door. They heartlessly walk past the dead Returner members who had their Magi stolen and leave the area.
Ashura's Base and the Very Long RNG Manipulation
The party once again talks to Ki about the stolen Magi that they totally knew about. Ki joins them on their quest, under the idea that they're going to retrieve the relics from Ashura's clutches. The group heads north and enters Ashura's base. Once they reach a certain tile, the game is saved and a hard reset is performed. For about 20 seconds I cycle the palettes to get the desired RNG values for the encounter I used for the poison bug. Once that's done, upon entering the 3rd floor of Ashura's Base I get into the fight.
Triggering the Poison Bug and Name Explanations
The fight consists of 3 Skeltons [sic], 5 Goblins, and 3 Flies. The flies are utilized for triggering the poison bug due to having higher Agi compared to other encounters in the fort and having relatively low enough HP for this to be feasible. Once the poison ticks just right the glitch is complete. Now when the character's names are drawn on screen they write data into the RAM and flip a few important flags.
Character NameEffect
さえThe flag for Arsenal, the final boss, is set to defeated.
さそAll possible teleport locations are accessible.
あたド8A trash can is displayed in the name slot and, more importantly, sets the player as riding on the fastest dragon from the dragon race later in the game.
たあうGives the Goddess' Wings Magi to the player. This is used for teleportation.
Once the names have been shown on screen the group flees the battle, having done what's needed for the rest of the journey.
Finishing Up
The Goddess' Wings Magi is immediately used once out of battle and the group teleports to the Central Shrine, the last area of the game. Using their totally normal fast dragon they enter the shrine and fly over to dad. Once they talk to him this triggers the ending sequence and the run is complete. While さえ knows very little of what their dad is talking about, they're just happy to finally reunite the family again.

On Ending Choice

I chose a different name choice compared to the RTA run. The RTA runs choose a name that instead prints the "The End" at the end of the ending sequence using a short name for the main protagonist. The name is ツ for the Japanese version and T in the international versions. While this is indeed possible with English versions of the game I don't fully consider this a proper ending. If someone decides to try obsoleting this run using that approach it's a possible headache in the future. At least with the name choice I chose I reduce the questions on if I ended the game at all with a proper credits roll.

Potential Improvements

This run was something I did in a relatively short amount of time. Since documentation for how to handle the RNG in Final Fantasy Legend II isn't as thorough as the previous game, most of the possible improvements will come from better RNG understanding and manipulation. The biggest gripe I have with this run is the entire 20 second chunk of literally nothing but colors so it's possible that having that at the start can mean not having to do a hard reset mid-run. Another possibility is manipulating encounters via fighting the NPCs in Ashura's Base since they do increment the encounter type and enemy group number values in RAM without fully needing a number of steps to get there. This could be used to get possibly faster setups for triggering the poison bug. Of course the last thing that could help is knowing the full initial RAM values for when this game is played on the Super Game Boy for studying how RAM works out in this game better.

On Categories

The TAS currently published goes through more of the game to the dragon race so they can teleport out and skip to the final area and fight Arsenal. While that could be considered as any% the problem lies with the fact that cheap also routed a way of using the poison bug to fight Arsenal without having to go as far. Thus it's likely that this TAS will obsolete the older one. In my opinion a proper any% would have to legally grab the Magi from their normal locations, which does involve fighting Ashura and other major bosses trying to be gods. A run doing that can also show off the full potential of the trash can bug and other fun stuff.

Special Thanks

  • Streamer DNOpls for really getting me into the SaGa series of games through their cool streams.
  • The SRC runners for this game for their helpful resources.
  • Again, a lot of making sense of how this works at all is all thanks to cheap.

Suggested Screenshots

  • Frame 30819 - Glitch name is trash
  • Frame 30847 - Glitch name breaks the UI

ThunderAxe31: Claiming for judging.
ThunderAxe31: It was brought to my attention that a faster TAS was uploaded on Nicovideo in 2011. It may seem to be much more optimized, however there are many factors that have to be taken in account, due to game version and emulation differences, including different dialogue length, the introduction of GBC BIOS, different framerate accuracy. Additionally, while its not a requirement, I want to note that that old TAS may not be console-verifiable due to how inaccurate VBA emulation was back in 2011.
After adjusting the timing of the old TAS for a better comparison, it is still faster than this submission by a small amount of seconds, but that's not an issue, because for that TAS the ending point of that is considered less appropriate than what it's achieved by this submission. In the old TAS, all it aims to do is merely print the "THE END" letters on screen, which is just the final screen of the ending cutscene, without even switching background music. On the other hand, the movie in this submission puts some extra work to trigger the ending cutscene from the beginning and playing it in its entirety, which gives a much better feeling of completion. For this reason, the movie in this submission is considered more appropriate for the purpose of the goal of beating the game.
With all that said, accepting this submission for Standard.

despoa: Processing...
Last Edited by ThunderAxe31 on 5/2/2022 2:06 PM
Page History Latest diff List referrers