Submission #4943: anonymous user's GBA Banjo-Kazooie: Grunty's Revenge in 43:23.89

Console Game Boy Advance Emulator BizHawk 1.11.3
Game Version USA Frame Count 155524
ROM Filename 1154 - Banjo Kazooie Grunty's Revenge (U)(Venom).gba Frame Rate 59.7275005696058
Branch Rerecord Count 35474
Unknown Authors
(Additionally: anonymous user)
Game Banjo-Kazooie: Grunty's Revenge
Submitted by TASVideoAgent on 12/21/2015 6:48:05 AM

Submission Comments

Banjo-Kazooie: Grunty's Revenge

Banjo-Kazooie: Grunty's Revenge is an isometric platformer released by Rare in 2003. It is an "interquel" to the original two N64 games, taking place while Gruntilda is trapped under the boulder in Spiral Mountain. Klungo creates a Mecha-Grunty suit for Grunty's soul to control, and she kidnaps Kazooie, travelling back in time 20 years (somehow) to keep Banjo and Kazooie from ever meeting! Mumbo sends Banjo back in time as well (somehow) to rescue his friend and destroy Mecha-Grunty, with the help of Bottles's ancestor, Bozzeye. 50 Jiggies are needed to open the barrier to Winkybunion Tower, collected across Spiral Mountain and 5 brand new worlds!
(Note: This personal encode does the credits slide and shows the game time at the end, which I think looks much better than just staying still during the credits. The submission time/input file ends at pressing Start on the ranking screen. Here's the movie file I used if whoever does the official encode wants to use it.)

Game objectives

  • Aims for fastest time
  • Uses death to save time
  • Takes damage to save time
  • Manipulates luck
  • Emulator used: BizHawk 1.11.3 (VBA-Next core)


Grunty's Revenge is, in my opinion, a highly underrated game. It's short, and the perspective can be a bit weird, but it plays great, looks great, and is one of the best games for the GBA. It's one of my main RTA speedruns, with records in any% and 100%, and an SDA run that'll be published... eventually. It is a very fast-paced speedrun with low RNG that's all about movement, with some mini-games along the way.
If you're wondering how much faster this is than a human, the best way to compare this run to real-time runs is SDA timing, where this TAS is a 39:25, and the real-time WR is a 46:04 (at the moment).
This is my first TAS, and it took about 2 months to complete. I'd originally started a year ago on VBA-rr, but I got overly frustrated once I got to the ladders in Cliff Farm. I wanted to try a lot of different methods of climbing them, but it was so hard to keep track of what I'd tried, what worked best, and what my input had been! So I just gave up. Flash forward to now, I check out TAStudio, and... It basically does EXACTLY what I needed back then! The way it displays your input, the ability to save/reload branches... The markers are great, the rewinding is great, the visualization of lag frames is FANTASTIC. I don't think I would have been able to make this TAS without TAStudio, so, I cannot give enough thanks to anyone who's worked on it. It is an incredible program.

Special Thanks

Ryuto - Creator of the original 100% WIP TAS, route co-creator. I saved a few seconds comparing what I had to what he did years ago. You may know him from his Brain Age TASes, as well as many others!
Burnedgoat - The original real-time runner of this game, route co-creator.
Smasher32 - Former WR holder, route co-creator. Also a top runner of B-K, creator of many great tutorials for it, and a frequent *GDQ couch commentator!
qqwref - Former 100% WR holder, route co-creator, best friend.
Jumpyluff - Casual IWBTG romhack Let's Player. Found a timesaver for octopus sections (hugging a wall up-right/down-right is faster than just right). Mostly put his name here just to call him a casual IWBTG romhack Let's Player.

Stage by stage comments

Cliff Farm

Sadly, to skip the intro like in real-time runs, previous save data is required. It's not TOO long though...
There is one main way to manipulate RNG in this game without losing time, and that is to jump as Banjo. As long as you jump in a straight line, it doesn't change your position whatsoever, and changes the RNG. So, when you see me jumping during straightaways, it's probably to manipulate a future enemy.
I hit the switch to open Jiggywiggy's Temple from as high up as possible to minimize the camera panning to show the door opening. Minimizing camera panning is a very nice little time save many times throughout this run.
I do quite a bit of damage boosting here up to learning roll; if the angle is right and the setup is small, it's faster than walking! Once I learn roll, it's the fastest way to move. However, you don't want to let one end because you'll stop in place at the end of it. So, jumping out of it is the best option. If you change direction in mid-air though, your speed will plummet to slower than walking speed! So, rolljumping is all about doing short hops so that you can turn right as you land, and minimizing how long you spend moving at non-roll speed.
Klungo fights are complete autoscrollers. He always takes the same amount of time to stop, and you can always hit him frame-perfectly when he goes vulnerable. The only important thing is to end the fight on the exit pad, and with Klungo as close to the center of the exit pad as you can.
The deathwarp at the end of the swimming section is the only deathwarp in the game, and it comes after three damage boosts off the tendrils. I left Klungo with 4 health on purpose, even though it did mean having him be a little off the center of the pad; all three damage boosts saved more time than the few frames lost from Klungo's movement.

Breegull Beach

I want to enter the Grunty fight with 4 health. Luckily, there's only two good damage boosts to do during the underwater section, and there's two honeycombs to collect on the way to the boss without losing any time! Grunty's attack is basically to charge at you, then stop when she hits a wall. By hugging the bottom wall, she instead stops when she reaches where Banjo was when she started charging. And by purposely taking damage, I can make her charges end instantly!
Even though it means Banjo has to walk downwards into position in front of Kazooie, it's slightly faster to be as high up as possible, to reduce camera panning when it shows Kazooie's cage opening.
When you're Banjo, stationary enemies (tendrils, fires) knock you back you opposite the way you're facing, while enemies like Gruntlings knock you back away from themselves. For some reason, as the Mouse transformation, Gruntlings boost you like tendrils do. So, instead of avoiding the first Gruntling in Quarry Heights, I just damage boost leftward through him. Unfortunately, I can't do a second one, since they do 2 damage.
Talon Trot takes a short time to get into, but it's almost always faster than rolling, so once I learn it, I'm almost always in it. If you're going to be rolling for more than 3 seconds, it's worth it to go into Talon Trot instead.
I get into Talon Trot before the shooting ships game so that the Gruntling near by will have different RNG after the game, though it's slower by a bit than just landing to start the game. Talon Trot jumps, sadly, do not seem to advance RNG, so when you're in Talon Trot, there's no good way to manip it. I actually didn't know this until much later, but it explains why I wasn't able to change this guy's position by jumping!

Bad Magic Bayou

Around here is where I started to discover something very very cool, and the main reason why I'm planning on improving this TAS some time in the future. There's a way I found to move faster than Talon Trot, but only by jumping over water. I call them super jumps... Original, I know. I first noticed I got one when jumping on the bridge on the way to Bad Magic Bayou, and I got a few more in BMB just by jumping as late as possible off ledges above water, but it didn't always work. Once your shadow is over land, you start to lose the speed, but they look awesome and can shave quite a few seconds off this time! I learned more and more about these super jumps, both how to maximize the speed you get and how to get them in the first place, as time went on. Things I learned later were that you can keep the speed longer by letting go of all directional input, you get them by changing direction the frame before you jump, you can keep the speed over land longer by rapidly switching direction every frame (it slows down the deceleration), and that you can chain multiple super jumps together! Unfortunately, trying to retroactively add them in would have just caused desync.
This level's very short and compact. There's a lot of little things I like in it, like damage boosting to get past the Portrait Chompas before/after Klungo, cancelling a Bill Drill animation by getting knocked back, the training jiggy, and RIDICULOUS luck on the fishing minigame at the end.

Spiller's Harbor

Once I get 410 notes and learn Ice Eggs, notes are no longer necessary.
In the Grunty shootout fight, she has 6 patches that each take 3 hits to take out. I learned that there's a couple precise spots where you can hit two of her patches at once (although visually, only one patch flashes), meaning I only need to hit her 15 times! You can only have 2 eggs out at once, and you want to be shooting new ones as quickly as possible. Also, eggs take less time to hit her the lower they're fired. And since the second phase she goes into when she has 3 patches left means she's way higher in the sky, I knock all of her patches down to 1 hit left before that. Then, an egg hits two of her patches at once during the phase change, and once I regain control, my crosshair is perfectly placed to deal the last hit to the last patch! It's a thing of beauty.
For some reason, during the octopus sewers section, you move faster by hugging the bottom wall than just moving right. After the sewers section, I do something called a "Mumbo warp". If you go towards certain parts of the level as a transformation, the game warns you not to, and if you stay there long enough, you get warped back outside Mumbo's skull. This is the only place in any% where it's faster than just going to Mumbo normally.

Freezing Furnace

This is where I start really abusing super jumps, and it made this level turn out really well. Both the main area and Grunty Industries both have a lot of little islands that are perfect for doing them!
Thanks to a frame-perfect jump at the start of Blistering Buttons, and a super jump across the lava, I was just barely able to leave having only taken 2 honeycombs of damage! This saves time later in the final boss fight, since there's no health refill from this point on.

Final Boss

This is a very lengthy, very boring three phase boss fight. Oh, wait, make that one phase.
I started making this TAS right after I had gotten what I consider to be a godly run to submit to SDA. And I worried, "what if I find a ton of new RTA-viable stuff while making the TAS, making my run bad?" Luckily, that wasn't the case, so I still feel very good about that SDA run. But... I did find ONE thing... One very big thing... A way to skip the first two phases of this fight. There's always been a way to skip most of the first phase, a trick funnily enough called the "TAS strat", since it was in Ryuto's old TAS. Basically, the platform with the minigame pad that leads to the next phase is barely out of reach with a Flap Flip, close enough that getting knocked backwards gives you enough height to get up there. And, once Phase 1 Grunty's at 6 health left, she does a move where she flies into the air and then slams down on top of you. That move was used to get that knockback. Klungo doesn't have a move that can hit you high up like that.
But I found another way to get knocked back. A very weird, dumb way. If you fire an egg and it hits an enemy without killing it, and you're no longer in egg-firing mode when it hits, you get knocked backwards, as if you had rolled/rat-a-tatted into the enemy. And there's just enough time to fire eggs, do a flip, and be high enough when the eggs collide that you're knocked back to the minigame platform. This is possible real-time as well, though not as instantly as I get it here! I have to set up Grunty/Klungo to be further down so that there's more time before the eggs collide.
As far as the final phase goes, the main thing for the first two hits is to minimize how long it takes her to stop charging. After that, the goal is to have her be as close to the center of the arena as possible, to minimize how long it takes for her ghost to fly out of/back into her suit. All the jumping I do during the latter phases (as well as firing eggs) is to manipulate where she ends up. I also end the fight on the center of the exit pad so Banjo doesn't have to walk there.
The credits slide counts towards game time, so hitting oil slicks increases game time and hitting turbo pads lowers it. I go for all turbo pads and maximum coins, and oddly enough, that happens to get you exactly 100 coins!

Possible improvements

The entire run surely has frames/seconds to save that I don't know about. I did my best to try a lot of different things and get my movement as tight as possible, but it can't be perfect in a game like this. There may also be route changes (collecting a note earlier/later/not at all) that'd improve the time, but I'm very happy with the route I have. And of course, there's minimal use of super jumps prior to Spiller's Harbor, which can save second after second each time I add one. Other than that, this is what I'm aware of that I didn't implement due to desync/worse RNG:
~15 frames: I should have walked into the first Jinjo rather than jumping into it, because that delays the tutorial text until my jump is over. I realized this later when I was collecting the fifth Jinjo in Cliff Farm.
~5-10 frames: Better climbing of ladders in Cliff Farm. I thought I had a good technique, but I found a better one during Breegull Beach. Climbing ladders is really weird.
~20 frames: I couldn't collect the first Jinjo in Cliff Farm without getting hit by the Gruntling. It's possible, but it requires a very specific path for him to take, which I couldn't manage to get with the RNG values available by adding jumps.
~5-10 frames: The Gruntling after the shooting ships minigame in Breegull Beach didn't want to cooperate. I couldn't change his position by jumping, but I was able to change it by going into Talon Trot before the minigame instead of after (which is a couple frames slower). Even then, he was still a little bit in the way.
~1+ second: Bad RNG on Fishy Fingers minigame. However, the RNG on the Bad Magic Bayou fishing minigame was incredible, so I wouldn't be surprised if I lose more than a second there when I improve this...

Other comments

For a first TAS, I think this turned out really well! I do wish I was completely satisfied with it, but discovering super jumps ruined that a bit. At the same time, I'm very excited to have a TAS-only trick at my disposal whenever I end up improving this! At the moment, what I plan on doing next is improving p4wn3r's old Pokemon TCG TAS, and probably making a TAS of the second Pokemon TCG game as well.
And if you prefer your Banjo games in 64 bits, Hyperresonance92 is working on a MAAAAASSIVELY improved Banjo-Kazooie 100% TAS. He's just finished Gobi's Valley and all of it is looking astoundingly good!
And here's some screenshot suggestions:
Well... I think that's it! Hope this wasn't too rambly or anything!

ars4326: Judging!
ars4326: Hi, Blazephlozard. Good to see that TAStudio was such a big help in making this one! All around, movement was tight and well optimized, and the collecting element of the run kept up the level of engagement, throughout. Solid work here, and always good to see an RTA record holder "crossover" into making a corresponding TAS!
Accepting for publication to Moons!
fsvgm777: Processing.

Last Edited by Spikestuff on 7/30/2020 1:57:14 AM
Page History Latest diff List Referrers