Submission #9030: juef's GBC Lufia: The Legend Returns in 3:13:08.41

(Link to video)
Game Boy Color
Lufia: The Legend Returns
BizHawk 2.9.1
692147 (Cycle Count 24302659300)
59.727515718578175
510527
PowerOn
Lufia - The Legend Returns (USA).gbc
Submitted by juef on 4/22/2024 11:43:12 PM
Submission Comments

Lufia: The Legend Returns

Lufia: The Legend Returns is the third entry in the Lufia game series, hence its frequent referencing by Lufia 3. Released in 2000 for the Game Boy Color, it kept many of the things that made its two SNES prequels awesome, such as the music, Sinistrals, humor. It also changed many things that may have contributed to the game being not as appreciated, such as the absence of puzzles and procedurally generated dungeons. That's right: aside from the bosses and overworld encounters, enemies can only be fought on randomized floors à-la Ancient Cave. Like Lufia 2, the enemies are visible outside of battle, move only as you do and you only fight them when moving next to them. Add in a bunch of typos and many uses of what Nintendo probably considered a bad word then, and you've got yourself a classic.

General information

  • Emulator used: BizHawk v2.9.1 with the Gambatte core
  • Glitchless
  • Heavy RNG manipulation
  • The single segment world record is 5h15m29s (or 5:30 in game time), and using the same timing method, this TAS is 2h59m04s (644665 frames) (or 3:17 in game time).
Greetings! I'm juef, and this is my first TAS attempt at this game. I have wanted to TAS this game for a very long time, because it is definitely overlooked, but mostly because of its incredible TAS potential due to the tremendous amount of random stuff. I delayed the production a lot because I didn't feel adequate enough to try it, but lately I finally felt like it was time. While I expected a bigger time difference compared to the RTA run, I am extremely satisfied with this TAS, considering most of the actual game is advancing textboxes in the numerous cutscenes, or waiting for the floors to be generated while navigating dungeons. Please note that I have not looked into save corruption: this is a glitchless, saveless run.
Note: it looks like RTA time ends upon seeing the final boss start its death animation. Here, as per TASVideos rules, I submitted a movie that keeps the input going until the ending is achieved and the credits scroll. However, waiting on the THE END screen will show a very short epilogue during which two frames of input is required. Further input also triggers the display of post-game stats. I deemed these not necessary for completion of the game, but for the curious, they are included in the temporary encode. I will gladly provide an input file (or just the frame numbers on which A needs to be pressed) that shows these.

Game basics

  • I could ramble for a while explaining the game mechanics here, but there are mandatory tutorials in this game that explain things fairly well. I strongly suggest watching these first before reading on if you're not familiar with the game.
  • Ancient Texts are basically IP attacks from Lufia 2, but learnable.
  • Experienced points given after a battle are the same regardless of the number of dead characters in your party. These characters, however, will receive no experience point.
  • Characters that died during battle are automatically revived with 1 HP immediately after the end of the battle.
  • There are a few points in the game where your HP and MP are automatically refilled, but the game does not tell you.
  • All of the game's battles are winnable, despite many of them being expected losses. This is primarily meant for a NewGame+ run, as this is usually very difficult. The game's dialogue is always properly changed, and we get very strong items when winning these battles.
  • There is a fair number of sidequests in this game, but unfortunately none of them help completing the game faster.
  • The gist of the story is: Sinistrals are back, we try and recruit a bunch of people to fight them, Dual Blade, Doom Island, yada yada. Not the most mindblowing story ever, but it's fine.

Information relative to TASing this game

  • According to BizHawk, there are no lag frames in this game (save for the logos before the game intro). However, the game often feels slow:
    • most (but not all) of the input commands require pressing buttons for at least two consecutive frames;
    • some inputs require to be done on an even (or sometimes odd) frame;
    • doing the same actions at different times will sometimes take a different amount of frames;
    • watching the TAS frame by frame will show slight graphical glitches, graphics that load partially for a few consecutive frames, and palettes that are changed while graphics are loading.
  • It appears that a lot of the game's German text is still in the ROM (which is two whole megabytes large!). I'm not sure how this was programmed, but given this and the above, I think it's fair to say this game's programming / production was not entirely optimal.
  • We can only rename the main character, but it is used very often in the game's text and it makes it very, very worth shortening down to W.
  • Overworld encounters can be skipped entirely: they only happen when triggering a movement on a certain frame, so we just skip these. If I remember correctly, 4 consecutive frames is the most I've had to wait to skip an overworld encounter, so this is usually barely noticeable.

Regarding the dungeons

As mentioned above, all of this game's dungeons are procedurally generated. The only exceptions are the beginning, end and sometimes middle, which can have a fixed layout, chests, hidden items, NPCs, bosses and such. On the randomized floors, there are no NPCs, no lore, no story advancement at all. What you can find is a bunch of randomized stuff:
  • Rooms! Up to 9 of them, usually in a 3×3 layout, connected with narrow corridors. In these corridors, the player moves ultra fast, which is good for speed and makes the game feel more fast paced, but for human players, it makes it very easy to run into an enemy.
  • Enemies! As mentioned above, they only move when you do, but not always in the same way. There are many possible enemy movement patterns: some will go in straight lines regardless of your own movement, while others will actively chase you and make it very difficult to avoid them. If there is no other faster choice, we can stun enemies by holding A for a long time, but it is super slow and is only done a couple of times in this TAS. Aside from a spectacular exception, we fight no enemy in this game other than the mandatory bosses and tutorial fights.
  • Chests! These can contain two things:
    • Consumables. Most of which are useless, but there are some great ones too, such as the Hi Bombs, Miracles and GoddessTears. We only pick up offensive consumables in this TAS as healing is slow and, when absolutely necessary, done in other ways.
    • Ancient Texts. The tutorial explains what these are, and we do pick a few of them up. They are dungeon specific (sometimes specific to a dungeon's set of floors).
  • Grass! These can be ordinary walkable tiles, or they can hide things, good and bad. The bad, we simply avoid. The good can be a chest, or a healing pad. To get these, we have to swing at the bush, which is quite slow so we barely do it at all in this run. The healing pads are super slow to use and there are some available here and there in the run, so we don't need to look for them.
  • Secret areas! As explained in the tutorial, dungeons have hidden areas, but they're never mandatory. We sometimes go through some just because they can have the chests we're looking for.
  • Staircases! We use those to progress in the dungeon. For each floor, there's only one set of stairs going up, and one set of stairs going down. There are sometimes bushes that hide holes that make you fall down a level, but slashing the bush and falling down animations are slow so we don't use those.
The randomization of a floor happens when you trigger the floor change (or dungeon entry): once you see the floor, it's completely determined, including the contents of the chests, bushes, secret areas, etc. For most of the run, we're simply looking to have the next staircase as close as possible to us: that's why you'll usually see the player stand for a bit before stepping onto staircases. But the distance between the sets of staircases is not all that matters: sometimes, you can get a floor that is riddled with bush traps or enemies, which makes the walk much slower. This is all taken into consideration when deciding which frames we step on a staircase on.
While we save time over the RTA run pretty much everywhere in the run, the bulk of the timesave is definitely in the dungeon navigation. Not running into enemies, having short paths to staircases and knowing where they are is worth a ton of time!

Regarding the levelups

As mentioned above, characters that are alive at the end of a battle gain experience points, and then possibly level up. For most of the characters, we want to avoid this as their stats are irrelevant to the run, and displaying the level up and increased stats take a little but non negligible amount of frames. But when we do level up a character, the stats can be manipulated to a certain extent, in a way similar to Dragon Warrior IV. For instance, you can't really make Seena a tank, nor can you make Randolph a powerful wizard. We still manipulate the stats in two different ways:
  • We sometimes want higher stats. For instance, we try and give Wain the most strength as possible because he's our main damage dealer for a decent part of the run. But we don't get the best stats: as an example, we definitely don't wait to wait 5 seconds so we get a single additional strength point. To a lesser extent, we also try and give Dei and Aima some HP and agility for survivability and speed.
  • We usually want no stats! It takes 5 frames to trigger the display of a single stat increase, so if we wait 4 frames for a levelup that does not increase a specific stat, when we're one frame ahead! Usually, almost all stats increase for almost all characters, so this does not add up to much over the whole run, but every frame counts.

Comments about specific sections of the TAS:

LocationComments
TutorialThe madatory fight can have two enemies, but we manipulated it so there would only be one.
Tower of Death 1This is the most chest-intense section of the run! Hi Bombs are an uncommon find in this dungeon, but they're worth every frame looking for them since they're very overpowered at this point in the game. We also pick up the Head Crush ancient text: using it will hit an enemy for 1/8th of its current HP, and bosses are not immune to it. There are a few such ancient texts in the game, including another we'll pick up later that hits for 1/4th the enemy's HP, and another we won't be picking up (because it's way too long to get) that hits for half an enemy's HP.
Tower of Death 1So yeah, those Hi Bombs and Head Crush? How about we win a fight that's meant to be lost? 😅 Gades doesn't act for a few turns here, so we're really given the chance. We go have to get some good Hi Bomb rolls, but this can be done RTA (except that then, getting the bombs takes a long time). We don't care that much about the experience, but the item that Gades drops, as you will soon see, increases Wain's strength considerably.
Tower of Death 1After defeating Gades, we have to use the heal pad, otherwise there will be a long dialogue about having to use it since we've been "beat up" by Gades.
Fugo's BasementHere we get the ancient text Lock On, which reduces an enemy's speed and defense power. The latter is very important when fighting high defense bosses, as most of our attacks will be much weaker otherwise.
Fugo's BasementIn between some gold bars can be found the Trick Ring, which is the earliest way we can use the Trick spell, which increases a character's attack power for the duration of a fight (or until they die). We will very soon stop relying on Hi Bombs for damage, so this will be greatly useful for many fights in the run.
SiantaoWe make a little detour here for an X-Bomb, which will greatly speed up the next boss fight. It was either that, or find and get more Hi Bombs and probably need an additional turn during the said fight.
SiantaoOne of the very few spell purchases! Escape will get you out of a dungeon, so this one is a no brainer. We also buy some items that make enemies sleep: we'll be using these in boss fights where there are goons (or companions) because they can be slept easily and we can concentrate on the main boss without having to wait for their attacks.
Gang's HideoutThis dungeon is home to the single non-mandatory fight we will do in the whole run. Why? Because a certain enemy, the lovely Zombie, has the peculiar ability to drop the Alum Blade, which is, for TAS purposes, the strongest weapon we can get. I have no idea why the game was made this way, but I'm certainly not gonna complain because Wain is suddenly insanely overpowered! Now, this is a super rare drop: I don't know the exact probability, but I assure you it does not happen often. Moreso, I have yet to fully understand the drop mechanics: I have tried trace logging to see where/how/when the drops happen, but without success. This hopefully explains why the movement on the floor with the Zombie is very unusal and not very TAS-like, but it was the fastest I have been able to obtain the elusive Alum Blade.
Gang's HideoutOh hi, boss! This guy melts away with the ALum Blade, Gades Bracelet, Trick cast and X-Bomb. When he drops below a certain HP threshold, he heals up, revives his goons and powers all three of them up, making the fight much longer and difficult. Thankfully, our immense power allows us to entirely skip that phase! Oh, and did you notice? We made Wain learn Drive, which we were given earlier, and is basically a 1.5× damage IP attack. It will help a bit a few times.
Tower of Death 2Now this Gades fight has to be won. We equip the HiPow ring we found in the destroyed Leong Temple at the master's gravestone, as attack power is what's important for Wain at the moment, Trick twice and swing away.
CaanGoing in the back entrance of this shop makes the shopkeeper girl have quite a reaction, but most of all, it allows us to buy her treasure. What treasure? Ear cleaners, of course! Now why would we need those? Wain may be called stupid many times, but his hearing is okay! Well, the ear cleaners are a single-use item that deals a huge amount of damage in combat. They're super cheap, too! We stock up on them and will be using them for most of the run. At this point of the run, they usually deal more damage than Wain's attacks (without Trick, that is), but soon enough, Wain will be significantly stronger.
Copley ForestWe are introduced to Mousse, who joins our party. Mousse (French for Foam, definitely no relation to Foamy!) is sort of a capsule monster: he's a character using a spot in the party, but he attacks on his own. This is good because this allows us to have four actions in a single turn! This is bad because it forces us to have four actions in a single turn, so sometimes we'll have him die on purpose. Mousse has special attacks, two of which we're interested in: Mysterious Bubble (reduces the enemy defense power) and Tail Illusion (does a lot of damage to a single target). It sometimes takes a very long time to manipulate a given attack, especially when Mousse is low on levels, but eventually he's a huge help.
Tower of Illusion 1The General Gohl fight is the first difficult fight of the run, because all of his attacks are very dangerous, so we can't manipulate him to do something tame. Nevertheless, the Alum blade and ear cleaning do their jobs very nicely.
CobeWe buy Warp here, which allows us to return to any town we've already visited. You might forget about this spell for a while because it won't be used until quite a while later: the ability to manipulate the overworld encounters out makes walking a pretty efficient way to move, considering that casting Warp requires a long menu opening, and a long warping animation. The RTA uses this spell mostly to go back to Caan and refill on Ear Cleaners, but the efficiency of our fights, coupled with Wain swinging rather than using them, makes this a non problem for the TAS.
Tower of Illusion 2We find and get the FinalDance and Holy Sword Ancient Texts here: the former is for Aima and hits an enemy for 25% of its current HP, while the latter deals a great amount of holy elemental damage (it still uses a character's attack power however, so to Wain it goes). A couple of bosses are especially weak to this, so the time investment is absolutely worth it, even if we're very close to not needing to attack at all anymore and if upgrading the characters' S.F. is a little bit time consuming.
Tower of Illusion 2So Amon's first attack is to confuse everyone: there are items to prevent that but they're a significant time investment to get, so we forego them. We still choose 3 characters for the first turn actions, because they will attack this turn, while other confused characters will only attack the following turn. We can't have Wain attack a party member to remove their confusion because he'd kill them, so we manipulate him to attack Amon until we can remove his confusion with an attack from a weaker party member.
Azoles CaveWe get yet another new character here, say hi to Ruby! Ruby is a young girl version of Setzer from Final Fantasy VI, and much like Setzer's fixed dice, Ruby completely breaks the game. She happens to have a very special ability called DoubleUp. What DoubleUp does is keep track of a value that starts at your total "IP" charge (which is 100 for all the instances of its use in this run). You then play rounds of double-or-nothing much like Dragon Warrior IV's poker table at the casino, except there are no jokers and a tie is considered a loss. The hidden card changes every two frames, so if it's a tie, we just wait one of two frames (depending on the frame we start at), or simply make the correct choice because this is a TAS! This can make the "ATP" value up to 25600. So yeah, we're one shotting pretty much all bosses for the rest of the run, including the final one: the displayed damage is 9999 but it goes beyond that, thankfully. Ruby is god, enough said! We won't win the fights that are expected to be lost, however, as losing is still much faster.
The rest of the game is pretty straightforward, but please ask away in the forum if you want details on something.

Definite improvements (AKA goofs)

  • I picked up a Miracle and GoddessTear early in the run because they were literally on the way and a very nice safety, but they did not end up being used. (approximately 126 frames lost)
  • I thought teaching Escape to many characters would save time in case of character position changing over the course of the run and in case of depleted MP, but it turns out it would have been fine to teach it to Wain only. (approximately 44 frames lost)
  • Early in the run, when Seena was the one with the Trick Ring, I forgot about using a Right input to scroll down the spell list to use Trick. (approximately 10 frames lost)
  • The one goof I'm the most sad about: when walking back to the Tower of Death to actually defeat Gades, there is a faster path on the world map I had completely forgotten about. (approximately 100 frames lost)
  • We could have bought fewer SleepPowders and Ear Cleaners. (approximately 25 frames lost)
  • We got Split Attack, but we didn't use it. (approximately 250 frames lost)
  • We got the Giant Ring, but we didn't use it. (approximately 300 frames lost)

Possible improvements

  • It is very likely that better manipulations are possible throughout the run. I'm very satisfied with the random dungeon floors and battles manipulations, but I refuse to believe there is not a faster way to have an Alum Blade drop.
  • It is likely that the characters stats I have finished the game with are not minimal: while very frames were spent manipulating levelups, I can only assume fewer such manipulations are required (if at all)… but it is hard to know without redoing the entire run over and over again.
  • It is possible that some characters can be manipulated to die in almost every battle and save time on the levelups, but given that characters are automatically revived after each battles and that the last few battles (which give the most experience points, of course) are won without the enemy taking a single action, this likely has little to no impact at all.
  • It is possible that in some of the early game battles, repositioning characters to have empty columns will make the battle faster since there is one less action to input on each turn. But repositioning itself takes enough time that I have not found an instance where this was worth doing.
  • I am not entirely sure that getting the Gades Bracelet saves time overall: it is a significant time investment to get the Hi Bombs at the beginning of the game. But even if it was not worth it, I would 100% do it again if only for the entertainment value. I could say the same for the Alum Blade, but this one, I am very confident is a huge time save over the entire run.
  • Character rows / repositioning can possibly be done in a better way simply because of the sheer amount of possibilities for it, but I cannot think of a much better way to do it.
  • It might have been possible to save a few menu inputs if all LP was distributed in the fewest amount of occasions for eventual Ancient Text learning.
  • It is likely that some equipment changes can be forewent or done at the same time as other ones, saving a few menu inputs.
  • The typical RTA strategy for fighting Amon is getting a bunch of Sanity Rings, which prevents confusion. However, these cannot be bought: there are four of them that can be accessed before the fight, and they're all in different locations. I have estimated that the time to get them is not worth it, but I could be wrong.

Thanks (in alphabetical order)

  • adelikat the for general TAS inspiration (the latest Dragon Warrior IV TAS being the prime example of it)
  • Blackbelt Bobman for his Let's Play
  • CasualPokePlayer and YoshiRulz for helping me diagnose and fix bugs for the Linux version of BizHawk and with BizHawk's Game Boy Color trace logging
  • Fretzi for his current RTA WR speedrun
  • Really_Tall for helping me with Lua
  • Samurai Goroh for his Gameshark FAQ and WIP memory map

Suggested screenshots

FrameScreenshot
60350
141215
144605
300707
301318
403629
441121
550627
550833

nymx: Claiming for judging.
Last Edited by nymx 7 days ago
Page History Latest diff List referrers