Submission #5620: hejops's GBA Final Fantasy Tactics Advance in 2:50:37.76

Game Boy Advance
baseline
BizHawk 2.1.0
611476
59.7275005696058
53821
Unknown
Final Fantasy Tactics Advance (U) [!].gba
Submitted by hejops on 8/1/2017 12:52:05 AM
Submission Comments
Final Fantasy Tactics Advance is a strategy role-playing game for the Game Boy Advance. The gameplay is similar to Final Fantasy Tactics. The player controls up to six units in grid-like, turn-based battles. For the most part, players are free to decide the party's jobs and abilities.

Game objectives

  • Beat the final story boss, Li-Grim, in the fastest possible time. Only story missions are completed.
  • An "all missions" branch is also worth pursuing, but an RTA route is still in the works.
  • A "Famfrit" branch is another more accessible RTA category that aims to beat the first boss in about an hour, without grinding. Said boss is beaten in around 45 minutes in this movie.

Comments

  • Emulator used: BizHawk 2.1.0
  • No glitches/programming errors discovered so far.
  • Units are left to die when they serve no further purpose in the battle. This is only done rarely, however.
  • Frame-perfect inputs are used to get favourable RNG (and AI) in every single turn. This lets me avoid every single attack thrown at me (except for a particular Double Sword attack which was nearly impossible to manipulate), as well as get criticals (1.5 damage multiplier) whenever I need them. Later on, Beatdown (double damge, half accuracy) is used in favour of criticals. This is especially deadly with Estreledge, the fourth strongest weapon, which can be obtained less than halfway into the game. The Gadgeteer ability Chroma Gem inflicts Sleep on either all allies or all enemies and is normally too luck based to be used in normal play, but thanks to RNG manipulation, it can be easily used to prevent enemies from taking their turns. Finally, Rockseal is used to OHKO certain enemies that can't be OHKO'd with Beatdown, especially in the late game.

Stage by stage comments

-1: Snowball battle, 0: Lizards

For this section I mostly just followed FellVisage's run. Default name is used since name length doesn't matter; entire lines of dialogue are printed at once, unlike older games where dialogue is printed character by character, like Pokemon.
Misses are manipulated by pressing A on specific frames during the attack animation, are always faster than getting hit, and are relatively easy to manipulate. If I'm not wrong, as long as the hit rate is not 100%, a miss can always be manipulated.
The snowball battle only ends when Ritz gets her second turn. All I need to do is wait. Ideally, enemy movement should be minimised, and I think their default AI was pretty decent in this respect.
After some long scenes comes the battle against the "lizards". I hit one of them so that Montblanc (from now on referred to as Mont) can follow up with a kill. Notice the pause when hitting the second one. This was done to get a critical hit; critical hits are determined on the frame you press A to "Do it". This will be the bread and butter for the first third of the game or so.
Note that these two battles do count into your "battles fought" tally, which is important in getting shop upgrades later.
After the battle, I kick out the last 2 members since I don't need them, and remove all armor from the 4 that are left. (FellVisage found out that removing armor before changing jobs allows a very long dialogue box to be skipped) I sell most of it in order to buy weapons and accessories. Namely, Sweep Blade (which teaches the Fighter ability Beatdown), and cheap swords to unlock the Fighter job. I make the Bangaa a Warrior to prepare to unlock the Gladiator job.

1: Herb Picking

An easy battle. Marche leaves the goblin alive so that Mont can kill it and earn JP, important for a later battle which needs 10 JP. So if you notice me leaving an enemy alive for Mont to finish off, that's why. Sadly, there are some wasted turns because the last goblin is too far away.
Because this battle is done with <6 members in the party, a recruitment mission is triggered. Additionally, a low-level recruitment mission appears normally. I manipulate to recruit a White Monk and Fighter this way. I ensure both have near maximum Speed (as Speed is the single most important stat for the run) and equip them with the appropriate weapons. Notably, the White Monk has a strong ranged attack due to a weapon I manipulated to get from a quest reward; however, the animation for this attack wastes quite a bit of time.

2: Thesis Hunt

Another standard battle. Here we see how strong the newly recruited White Monk can be.
After the battle, I buy new weapons and proceed with the next one.

3: The Cheetahs

Ritz and Shara occupy 2 slots, so I have to leave the humans behind; the Bangaas are of greater importance in the long run. The Black Mage could not be prevented from using his spell. Mont uses Fire instead of Thunder (which has a faster animation) because Lightning is banned on this day. With some good AI from Ritz and Shara, this battle is no problem.
Notice the pause in the pub. This is me waiting frames to get a Khukuri, an important weapon for Mont. It teaches a cheap Thief ability which lets him unlock the Gadgeteer job quickly, but cannot be bought in stores. I deliberately get into the encounter (and flee it) to increase my battle count by 1. I give Montblanc a stronger rod to let him OHKO a certain monster later.

4: Desert Peril

This was a headache. The two monsters in the middle section are easily killed, but for best results, the antlion (the bug thing) HAS to be faster than Marche. Otherwise, Marche would just advance and have nothing to attack. This took a while to manipulate, since antlions have rather low Speed. Again, the Panther taking a while to come down along with the cramped terrain around the cactus leads to some wasted turns.
I walk around a bit to get a law that "recommends" Ice. With this, Mont can gain JP every time he uses Blizzard. This is necessary as the battle that needs 10 JP is coming soon.

5: Twisted Flow

The first boss of the game. Only Mont needs to be set up, so I choose to do it during the formation this time, instead of in the main menu. The Roulette spell KOs a random unit, and I redirect it to 3 of his allies; the boss is immune, of course. However, the animation is ridiculously long, so I'm uncertain if I could have let it go off only twice or once. Marche takes a hit because the Speed point (10% chance) is more important; wish it didn't have to be a crit though. A few rounds of ganging up later, Famfrit goes down.
The Fighter now has access to a ranged attack, and the White Monk becomes a Warrior to prepare for becoming a Gladiator. Again, I walk around to get Fire recommended, and flee the encounter to increase the battle count by 1.

6: Antilaws

Ezel, who is in need of rescuing, has a beastly spell that puts all enemies to sleep. Of course, this is manipulated to make all hits land, completely shutting them down. You'll see more of this strategy soon enough. The Defender is satisfyingly killed by fall damage, and the Ninja is prevented from retreating to the right corner of the map (he'd be unreachable if that were to happen). Mont uses Fire on himself to gain JP.
Since that was the 10th battle, the shop gets upgraded. I buy Shadow Blades and Dream Claws. The former teaches Beatdown, which does double damage at half accuracy - which essentially means double damage in this TAS. The latter teaches a spell that puts either all allies or all enemies to sleep - which essentially means it puts all enemies to sleep. :)

7: Diamond Rain

The 10 JP are used to summon Famfrit to not only OHKO the ice flan, but also heavily damage all the other enemies, which is really important since the Dragons have a lot of HP and defense. The rest involves some careful consideration of movement, but is generally standard. I let that one guy die because he's no longer needed, and his turn would just be wasted if he was alive.
Marche becomes a Fighter, and I get Estreledge from the map. Estreledge is an absurdly powerful weapon. I walk around to ban Charm for the next battle.

8: Hot Awakening

Very boring fight. Would've been insufferable if Charm wasn't banned; the enemies would keep using their Charm spell, which has a long animation and is quite hard to avoid. Routing was also tedious.
Mont finally gains access to the "sleep-all" spell.

9: Magic Wood

A rare instance of friendly fire - I get the Fighter to push Marche one space forward to get him in range for a Beatdown on turn 1. Sleep-all is not 100% accurate, which is why some units remain awake. In particular, I let the Summoner come forward so she can be killed the next turn. "Sleep-all, then finish off" will be the general strategy for the rest of the run.

10: Emerald Keep

Effortless 2HKO on the boss.
The first Bangaa finishes learning Beatdown and finally gets to wield the Estreledge, and I kick the first human to make room for an Assassin that I will recruit soon.

11: Pale Company

I let the guy in the back die since he's not needed (I only bring him for AP). Here you can see just how strong the Estreledge is; with it, I can take off almost half of the boss' HP. With some support from Marche and a convenient sleep-all, the boss goes down in 3 hits.
Now I recruit an Assassin, give her access to Rockseal (32 MP OHKO, usually only once per battle), and kick another member to make room for another Assassin later.

12: Jagd Hunt

Dodging both hits of Double Sword is very hard. Rockseal takes care of the turtle instantly - otherwise he'd need 2-3 hits to kill. Again, some friendly fire lets the Estreledge guy reach his target in 1 less turn.
I flee yet another encounter, and recruit the second Assassin.

13: The Bounty

Since enemy formation is random, getting a favourable formation is essential. This formation lets me kill 3 enemies on turn 1. The rest are finished off on turn 2.

14: Golden Clock

More Ritz and Shara goodness. Shara OHKOs the Time Mage and Ritz disables the Gadgeteer on turn 1. The latter is important as that's the only way to get around his annoying Damage > MP spell, which redirects damage to MP unless the unit has 0 MP. The Alchemist is immune to sleep, and is prevented from using magic to save time. The rest is easy.
I flee my last encounter to upgrade the shop again. The most important purchase is Dash Boots, which increase movement by 1. Marche becomes a Paladin to equip a rather strong weapon (it has an automatic 50% damage boost).

15: Scouring Time

3 kills on turn 1. Estreledge cleans up the rest. I kill off Babus easily, then crush the fruits one by one. Notably, 3 of them have higher defense than the others, so I leave those ones for last.
I get a Tiptaptwo from the map, which boosts Mont's speed greatly, letting him use sleep-all before most enemies take their turn.

16: The Big Find

3 kills on turn 1 again. I let the Assassin die since she has no more MP, and she'd just waste a bunch of turns since she's so fast. Estreledge cleans up the two above, and Marche kills the one on the hill.

17: Desert Patrol

This one is a bit annoying since they all start so far away. The Assassins have enough turns and MP to be able to use Rockseal twice now. I do wish I could've killed the last enemy before he woke up.

18: Quiet Sands

The first battle ends when Marche is KO'd, so I left that to the Estreledge guy. I kill off the guy in the second battle since he's only there for AP. Mont uses sleep-all, and Marche and Estreledge guy gang up on a retreating Mateus.

19: Materite Now

2 summons kills them all. This is probably the best battle to use the summons in, really.
I get a 2nd Estreledge after the battle.

20: Present Day

Rockseal and Estreledge make the first battle a breeze. The second one is done by simply standing there and getting Llednar to use only Fight, instead of his fancy time-wasting abilities.

21: Hidden Vein

One of the more difficult battles. I kill off the Assassins once they're done, redirect Roulette to the Blue Mage himself since he has Damage > MP, and use sleep on ONLY the White Monk, unfortunately - the Juggler is immune. If I hadn't done that, he would've revived the Blue Mage no matter what, and that would've been worse.

22: To Ambervale

Air Render sees its last use here, to finish off the weakened antlion. The Assassins do the heavy lifting, with 4 Rockseals in total.

23: Over the Hill

I put most of the enemies to sleep (Ritz and Shara are immune), then kill Ritz with fall damage. Lovely.
Saving is necessary to trigger the last battles.

24: Royal Valley

Llednar is killed in 2 hits, unfortunately, since the Estreledge guy doesn't have enough Attack to do it on his own. The next bosses are simply a repeat of the Famfrit fight - sleep, surround and let Estreledge guy do most of the whacking. There really is no other way around it.

Possible areas for improvement

  • study the RNG address, 34B0
  • perfect map placement and movement; the second Estreledge can probably be ignored
  • avoid getting armor from quest rewards (minor)
  • Kaiser Knuckles + Firewheel Rod + Atmos Blade in the early game; requires quite a bit of luck, so I only obtained the first two
  • get Montblanc to 10 JP without wasting turns
  • use Famfrit on Ultima instead (unsure)
  • do Golden Clock without Petrify being banned
  • flee the last clan encounter in a more suitable location (not a jagd)
  • find a better way to beat the final bosses, preferably in at most four turns
  • discover glitches (Voodoo anyone?)

Thanks to

  • AnthonyJones, for being the first one to even attempt a TAS of this game
  • FellVisage, for being the first one to attempt a serious TAS of this game, and for the Rockseal idea
  • ruadath, for telling me about the RNG address (though I had no idea what to make of it), and for helping me out with some BizHawk and encoding issues
  • Pokota, for the ffmpeg command I used for my temporary encode

Fog: Judging.
Fog: This was a great technical run, but not my usual cup of tea game wise. There were no glaringly obvious issues, and the audience reception was great.
Accepting for Moons!
Spikestuff: Hey, this is only one cart not 4 disks. What gives? Publishing.
Fog: Replacing movie file with spiked inputs trimming the extra inputs.
Fog: Replacing movie file with correct BIOS information.
Last Edited by on 1/1/2022 6:13 PM
Page History Latest diff List referrers