(Link to video)
Step 1 in giving every bonk game a TAS, hopefully the SNES versions at some point come next but I have another longstanding project before even thinking about that.
Anyways, Bonk's Revenge for gameboy features some very wonky game physics that I guess kinda make sense, maybe. I will start out explaining the base mechanics and then go over individual tricks/glitches (even some glitches that didnt make it into the TAS)
First of all when you start the game you are in basic bonk form. You have a speed counter that you can track that moves bonk a certain number of pixels based on what the speed counter is. In this basic form your speed counter will max at 3, but let's back up and explain what this means first. Speed counters go as following: 1, 2, 3, and 4 for the entire game. This only affects your horizontal movement. 1=1 pixel every 4 frames or .25 px/f 2=1 pixel every 2 frames or .5px/f 3= 1 pixel every frame or 1px/f and 4 = 1 pixel followed by 2 pixels for consecutive frames or 1.5 px/f. So therefore this game does seem to have subpixels but I wasn't able to locate it myself, which probably means this run is improvable in areas I thought were optimized.
The good thing about this game however, is that it is very easy to sync as I've only had the game desync twice during improvements due to an extra lag frame randomly. So any improvements could in theory be added relatively easily.
The next thing to note I guess is that jumping from flat ground sucks. Every time you want to jump while you are still on the ground you will come to a full stop and have to accelerate back up to the max speed again. For this reason, dropping below ledges and using the wall kick does force us to come to a stop but we kick off the wall at max speed immediately which turns out to be just slightly faster in most cases.
Very early in the run we grab the first powerup which will stay with us for the entire game. The powerup that makes you look like a krillin/spock hybrid is the fastest form in the game in terms of both running and jump height. The other forms are one that eats enemies when you attack them and the prison suit which lets you enter those special doors for various bonuses. Because the powerup takes so incredibly long to acquire and it's so fast there is absolutely no reason to damage boost anywhere as it will lose the powerup instantly.
And in typical bonk fashion if you press B while in the air you will do an air twirl.. roll.. whatever you wanna call it. I will explain this more in the tricks section. Whenever you twirl in the air your speed drops to 3 for a single frame, so actually some speed is lost by twirling. However, since landing and jumping is pretty slow in most cases twirling is sometimes preferred, unless there is excess lag while in the air.
When you land from any jump your speed will decrease to 3 for about 5 frames usually which slows you down, and this is another reason why cutting some landings as well.
Now that the basics are out of the way let's talk about the tricks/glitches (this might be a bit long..)
Faceplant Sliding
If you crouch while running along the ground you will do a sort of faceplant maneuver that lowers your hitbox and you move at 3 on the movement counter, a slightly slower speed than the 4 from the full form speed. You can also press and hold up when jumping into certain ceilings and do a similar maneuver on the ceiling. This might not sound useful since you move slower but actually is it's uses in a few places. If you are standing still for instance, and do a face slide on the floor you will immediately jump to 3 speed, there is no acceleration. This is useful at the start of every stage where you begin on solid ground to start off at a speed of 3. Another useful place to use this is whenever you have to land on a designated stage exit pad or ground. There are a very small number of places that this occurs, but for whatever reason pressing down while you land will keep your speed up higher.
Jump Enemy Damage / Damage totals
So pretty much every enemy and boss has a rather large hitbox and can be damaged from underneath simply by jumping into them. But because this is so lenient, you can just jump right next to the enemy and land the hit. Jumping from beneath an enemy does 4 damage while bonking them with a head bonk from above usually does 8. Most enemies only have 4 hp but there are some exceptions. Jumping directly next to an enemy cuts your jump immediately short, and then you can combine it with the faceplant slide from the previous segment to start moving almost immediately at max speed again.
Ledge grabs / drops
This trick was originally found by Memory when viewing earlier WIPs. As mentioned before, jumping sucks. There is a mechanic in the game that also lets bonk grab the sides of walls for *most* of the walls. I will point out which exceptions there are in the individual level notes below. But since jumping stops you it is usually more advantageous to drop down a ledge and grab the wall. When you're stuck to a wall you have several options of what you can do. Firstly, you can simply press the opposite direction away from the wall and you will get a small jump. This is basically never used as your speed starts off at 3 for one frame and the significantly lower jump height doesn't offer as many options. Secondly, you could press A which will attempt to scale upwards on the wall, unless you are very close to the top of the ledge. Next, you could press down which will slide bonk down the wall. There is a glitch involving this mechanic that I will list in the useless glitch category later. Lastly, you can press B and jump away from the ledge at max speed of 4 instantly and also a higher jump. This is the preferred method used every time.
Animation glitch
When running along the ground you can let go of the direction for a few frames and alternate directional presses to essentially freeze your animation to a single frame so that it looks like you're sliding along the ground. You do not lose any speed as long as your speed counter never drops to 3, and I only did this in a couple of places, I didn't want to overuse it.
Space U+D zips
There are 2 stages and 2 bosses that use these floaty mechanics in which a strange zip happens whenever you press certain directional combinations. Originally I just knew about U+D causing the glitch which would eject you left and wrap around the screen. The screen then tries to catch up by scrolling to the right but the camera can unfortunately not move any faster than 4 pixels/f otherwise the level would end in less than a second probably. These combinations are as follows:
U+D+L | This combination will zip you to the right so far that you are actually off screen and the camera has to catch up, useful for bypassing solid walls and obstacles.
U+D | This combination will just slightly zip you to the left. If you zip off screen to the left you will become invisible making it very hard to know where you are without scripts
U+D+R | Very similar to U+D, this will zip you to the left
U+D+L+R | This will zip you to the right but also cause your sprite to glitch out for whatever reason. This is useful for just moving to the right
D+L+R | Essentially the same thing as U+D+L+R except your sprite does NOT glitch out. Also very useful for just adjusting yourself slightly for a better position
Useless Glitches
As said before, after clinging to a wall you can slide down it by pressing down. However, if you press A which slides up the wall it cancels your downwards movement. You can alternate these button presses rapidly and for some reason it bypasses the ground. This can only be used to get one block below the surface, and is actually seen in one of the alien boss fights where I show it off briefly. Since there are no zips in this game, getting inside terrain is completely useless as you can't move left or right
There is another minor glitch if you climb a wall pressing A until you reach a ceiling and then pressing left or right, depending on which direction is away from the wall. Since this is a unique short jump for some reason it occasionally ignores the ceiling and you can actually jump up into the ceiling slightly. Unfortunately there is nothing you can do with this as the jump gets cut short and you can't even travel completely through a ceiling that's only 1 tile thick.
In the only water stage (4-1) there is also a glitch you can perform by pressing A and then B to do a downwards dive and then pressing b again quickly to dive back up. If you are close to a surface when diving back up you can just exit the water and float in the air with very weird physics. Also you can perform a jump in midair. Unfortunately in this level the only areas where there is no water is the entrance and exits to the stage. There is nothing notable you can do with this glitch, although it does occur slightly at the exit because that's the fastest way to swim out of the stage.
The final useless glitch is one that occurs where any ground tile meets a slope tile. If you do the "faceplant slide" technique just as you're about to transition onto a slope and then turn around and press A on the last possible frame before you would hit the slope you can just drop down and bypass the terrain. Again, there are no real zips inside terrain and you generally only fall 1 tile downwards and get stuck in the terrain, so unfortunately it is currently useless.
The rest of the tricks are kinda minor and/or vary depending on the level layouts, so I'll just go into the individual levels.
Round 1
1-1
This stage starts off slow since you're in basic form with max movement counter of 3. However, doing wall jumps can still push your speed to 4 as long as you can stay in the air without doing a midair flip. Luckily, the powerup occurs very early on in this stage. Here we can already see that some enemies just multiply whenever you "kill" them but luckily when they are blinking from spawn they don't generate nearly as much lag, so it is still useful to kill them. This is also the first place we see these plant trees that bonk can grab on and swing across. Your speed counter gets stopped to 0 for 1 frame when clinging on to it and 1 frame when jumping off the other side of it. There is also another maneuver you can do on these that will be used on the final level. Not much else to say about this level, pretty straightforward
1-2
This stage sees the first usage of waterfalls. Pressing Up will attach bonk the to waterfall where he can climb up it by pressing A and moving left and right. There is also a trick where if you press A while at the very edge of a waterfall you can do a jump with similar vertical speed as a normal jump from the ground. This level also introduces slopes. There are 2 types of slopes, normal ones and slippery ones. The slopes in this level are slippery ones, and jumping while on a slope does not slow you down at all. You can also slide on bonk's head as long as you do a flip at the right moment. There is an awkward looking moment where I land slightly before a slope, and it may look like I have lost time. However, this is done to ensure that I trigger the brick wall to fall as soon as possible, as flipping in the air here would slow me down by a frame and trigger it a bit late. Ducking under these allows you to start moving right a bit sooner.
1-3
This level has lots of pits, so the ledge drop down technique is used quite a bit. I used one of these techniques to kill the bird which was causing abit of lag later on. The spiky slug enemies are one of the laggier enemies and they also have 8 hp. We have to do an upwards jump twice to kill them or one downwards bonk. It might seem worth it to use a downwards bonk to kill him in one hit instead, but jumping generates a ton of lag here. There is also another brick wall here and since it's close to a slope, you can actually wedge yourself slightly into the block giving you a slide head start. After jumping off the slippery slopes here I turn around slightly to get a bonk off the left high wall, which is faster than jumping to the right wall and climbing it with A.
Round 1 Boss
This boss is very simplistic and doesn't do anything crazy. He has 50 hp so we can hit him with a jump attack to start with 4 damage, followed by 6 head bonks which deal 8 damage each. 4+(6*8) = 52. As you will notice here that when bosses die they take an agonizingly long time to exit the top of the screen. Unfortunately, most bosses dont have any special moves that put them closer to the screen, but there are a few exceptions.
Round 2
2-1
The salt heaps in this level are slippery slopes which means we can jump off them without slowing down. The bird that I skip killing and do a headbonk later actually has a good reason. There is a robot enemy that spawns down below just after the bird if you kill the bird first and he causes a ton of lag. The original method was to drop down and kill the robot but that was slow and there's no good way to deal with him. Later, I found out that the bird existing in the same plane as the robot whenever we reach his spawning point would cause him to not spawn at all. Luckily, head bonks on the ground also kills air targets so it turned out to be just slightly faster to do this. There is another example of this despawning a robot in one of the last few stages. I drop down and kill another robot later because again they cause a ton of lag. There is a robot that spawns at the end of this stage but there is no bird close enough to despawn it and no easy way to deal with it, so I just drop down and try to keep it off screen instead.
2-2
This is my favorite stage in the game, because it is a vertical stage which looks decently fast on playback. Near the beginning of the stage this is the first and only use of the waterfall trick where you get a jump off the side of the waterfall. This puts your y speed at -4 while climbing the waterfall normally moves at less than half that speed (-1, -2 alternatively). This stage also has destructible blocks which luckily can be destroyed using a mid-air flip. The very bottom block seems to not be destroyed by mid-air flips so I can use this one to land higher up for a better jump. You can destroy the bottom block but only by pressing b while on the ground doing a ground head bonk (you stop in place when doing this particular attack so it is never used). These little spikeball looking enemies die by jumping into them, so by timing the hit with colliding with the wall (air flips near a wall will cause bonk to bounce off of them) you can smoothly kill them while climbing the walls.
This level also introduces conveyor belts which funnily enough dont add to your max speed while in this powerup, your speed counter still caps out at 4. There are some differences however, and doing a ground crawl will also max out at 4 if going in the same direction as conveyors. Running against a conveyor will cap you at 2 so we never want to do this.
This is also the first stage which introduces these balloons. When you grab a balloon you just float upwards at a VERY slow rate until the balloon crashes into a ceiling. Luckily we can squeeze past these balloons in both stages they appear in so they're not an issue.
The rest of the stage is just minimizing the jumps using air flips to cancel your vertical velocity to start another jump sooner. Regarding the wall bounces however there is a seemingly specific subpixel value you need to do the most optimal bounces. When you bounce with a bad subpixel your y speed does this pattern -3, 0, 1, -3. This means that we have 1 frame where we are actually moving back DOWN by a pixel. The optimal pattern is this -3, 0, -1, -3. As you can see that 1 is in the upwards direction this time. I couldn't always get this based on level layouts or lag reduction etc.
2-3
Here we have the glitchiest levels in the game. Refer to the U+D zip in the tricks/glitches section if you want to know how it works. There is an awkward section of blocks in the middle of this stage that was kinda tricky to traverse. I had to use the leftwards zip slightly to position myself better. Maybe there's a way to minimize this a bit more (or completely hopefully), but I lost a few frames here due to it.
Round 2 Boss
Yay this boss is also in these floaty physics so we can have a little bit of fun with the glitchy zips. As long as all hits are downwards bonks we can zip in between hits a little bit. The final hit is delayed while sitting at the top of the stage so that the boss moves upwards a little bit, because you know death animation is slower than stephen hawking in a snowstorm (yes I stole this joke from a comedy central roast).
Round 3
3-1
This is one of the laggier stages, because of it's high density of enemies combined with high number of ground tiles. It may look awkward that I start the stage off with a head slam into the ground, but what you don't see is there's also an enemy on the ledge above along with the plane enemy below. This head slam kills both enemies, reducing enough lag to save time.
Also to note, these space looking stages where you are not floating still have floating physics in that your jumps are slower. Normally when you jump your y speed starts at -4, but when you jump in these stages it starts at -3.
Luckily these seemingly spiky enemies can still be killed from above with a downwards head bonk which helps because being near the center of the level minimizes lag for whatever reason. Also you dont lose any speed when bouncing off the tops of enemies.
3-2
Here's another vertical stage, but it's not as fun as the first one because we still have these floaty slow jumps. A lot of the ledges are just out of reach of landing from a full jump so we use the ledge jumping trick. If you are close enough to the top of a ledge when clinging on to it you can jump off and start accelerating forward instantly. This is also used in other levels in various places you may notice. Because of the vertical nature of the level it is actually rarely helpful to kill the enemies in this stage as it would take too long. I really thought killing that massive tank enemy would have saved time since it is very laggy but unfortunately there is no good way to kill him in that location.
The last enemy has 8 hp but luckily we can kinda land a precise downwards bonk and deal 8 damage to him instantly. Landing is close enough to the stage end trigger so we can use the faceplanting slide to speed it up a bit.
3-3
This stage is another slightly laggy stage because it has several robots and many cannons that fire a bullet. Robots have 8 hp so I have to jump into them twice. There is also another robot near the middle of the stage but he's so far down that it's pretty much impossible to kill him and get back up in time to save any time.
Luckily bullets can be bounced off of just like any other enemy in the game, so we can cut some of our jumps out completely by simply landing on them to get an extra vertical boost.
Drop down to kill one of the tentacle enemies for lag reasons. Also just want to note that none of these slopes are sticky slopes, so jumping off of them will stop you for a moment just like any other normal jump.
Round 3 boss
This boss has 75 hp so he can be killed with 9 bonks for 8 damage and 1 hit from below, dealing a total of 76. Luckily this enemy bounces around a little bit as he's attacking so I can wait until he bounces in the air before killing him. Also, we still have the floating space physics during this boss. Also of note, it doesn't matter where you end the stage at after these boss battles even though bonk has to run off screen. This is because the round clear jingle has to finish anyway and it's all on a timer. The later stages that transition straight to another stage however are not like this and must be ended at the side of the screen.
Round 4
4-1
This is the only water stage and the only stage that has these tubes that bonk must travel through. You start off in normal physics above the water. Jumping into the water is kind of strange, by ducking just as you run over the ledge you are able to get just a bit further underwater while still moving to the right.
This stage is the only stage where our movement counter goes above 4 briefly. During these tube rides the counter is set to 6, which means you travel at 2 pixels then 3 pixels on alternating frames, or 2.5 px/f. However, this only occurs during the tube travel and I couldnt not find any way to break this.
There is a minor trick of letting go of the direction as the tube is spitting you out to preserve a bit more momentum. Also I took the path that had the most tubes, even though it takes a while to start moving, you do move pretty fast so you want to travel through as many of the longest tubes as possible, even if I had to swim back down later. The physics, as usual, are very weird. Your normal moving speed caps out at 3 while swimming despite having the powerup.
4-2
Another standard stage with giant cannons, though this time we don't have space physics. Not much is different really, killing enemies that are convenient to reduce lag and bouncing on bullets to preserve momentum better. Also, using the landing trick by pressing down when landing on the exit pad. Not much else to say here really.
Round 4 boss
For some reason this round only had 2 stages before a boss. This boss is pretty standard and he does nothing that would raise himself towards the ceiling so unfortunately we have to wait for the long death animation here. He has 85 hp, so we have to land on him 11 times for 88 damage.
Round 5
5-1
This stage starts off with a gigantic enemy right off the bat, and since the level wraps back around and ends close to where it begins, he must be killed to eliminate lag. Luckily they never respawn so when we get back later on he's still gone.
Next we can see this is a very conveyor belt heavy stage. Normally I wouldn't latch onto any ceiling as doing so always slows you down when latching on and letting go even if there is a conveyor on the ceiling. However, for whatever reason, this animation is way less laggy than flipping through the air constantly so it saves quite a bit of time by doing this. Also since one of the later conveyor belts on the lower level is right at a ledge we can use the ledge jump for a better and shorter jump.
For whatever reason the wall that we have to climb and turn around to go back the other way does not let you grab onto it like most other walls do. This is probably because they wanted you to travel all the way to the right and climb the conveyor wall and then use the ceiling conveyor. However, the head bonk jump still does work so we can use that even if it is a bit slow, as going all the way to the right would take a long time. The enemy doesn't introduce enough lag to warrant going over to kill him either.
When going left it just becomes a matter of maximizing time on the forward conveyor belts and minimizing times on the reverse conveyors. Pretty standard conveyor stuff really.
5-2
Here is the other space floaty stage, and you know what that means. Crazy zipping shenanigans. I decided not to use the glitchy graphics here since I did it on the first one. Instead I focused on killing some of these enemies and using a route that minimizes lag as much as possible.
5-3
Here is the first vertical level in which we're trying to go down instead of up. It turns out to be faster to just hug the edges of the walls instead of trying to get momentum before turning. You can avoid a lot of unnecessary twirls and jumps by doing this. This stage also has the second balloon and luckily we can squeeze by it here.
Near the bottom the ceiling is too far away for a jump to save any time so I actually have to land on the slope and fall normally there.
Round 5 Boss
This alien boss has a set pattern so predicting where he is going to be is very easy. Luckily, even though he attaches himself to the ceiling we can still get a downwards bonk on him so you can get 8 damage for every single hit. This isn't necessary however, has he has 100 hp. So you can hit him 12 times with 8 damage which results in 96 damage. A jump attack can finish him off if you want, and I use that for the second time you fight him later on. It really doesn't matter at all.
5-4
This is the only stage that is attached to after a boss fight and is still considered part of round 5. This time we're going from right to left. The part with the bird is considerably laggy and since it has a bunch of tiny platforms there really isn't a lot you can do. I just try to maintain the same altitude to reduce lag as much as possible, but twirling is a must. Jumping would be way too slow.
Near the end of this stage I slow down slightly to get a headbonk off the wall that's in the air because otherwise I would have to land on the conveyor or the slope, neither of which would retain your current momentum and be hard to build back up momentum.
Round 6
6-1
Round 6 is a weird stage that is a combination of new stages and a boss rush. This stage is very simple for speedrun purposes. Simply avoid as many clouds as you can. Unfortunately an enemy placement here prevents me from being able to fall completely unhindered, as a twirl is necessary to reposition myself. Nothing else notable about this stage.
6-2
This stage is kind of like an upside down version of 1-1 but it's still very different. didn't bother killing the very first enemy as for some reason it doesn't really cause that much lag here. Instead I just drop down since being lower to the ground in this stage seems to be less laggy, since a lot of the enemies are at the top of the stage. I do go back up pretty soon however, and there's a very good reason for it. It turns out that you need this tiny squid enemy to drop down and for some reason that causes a robot on the next room to not spawn. This is great because robots are the laggiest enemies in the game. I wasn't able to find any other cases of despawning enemies in this stage, but it would be nice since there are several more enemies later on.
I found it was faster to just drop through one of the ladder openings near the end of the stage.
Round 6 Boss 1
This is just a refight of the Round 1 boss
6-3
This is another train stage just the cars are in different orders. Also, it introduces new enemies such as the giant car enemies that surprisingly aren't as laggy as you'd think. They still need to die however as they take up way too much room. There's nothing really new about anything in this stage, it's just about using the known tricks and avoiding as much lag as possible. Lag mitigation is different for various parts of the stage, as sometimes being on the ground is less laggy. Unfortunately the game forces you to do a lot of jumps.
Round 6 Boss 2
This boss is just a refight of the Round 2 boss
6-4
Yet another vertical stage where we're goin upwards. Surprisingly killing the first enemy wastes too much time to be worth it. However, you'll notice shortly after I do a ground pound which seems like it's random. But actually there is a car off screen that happens to be right where we need to crawl through a small space. There is no way to kill the enemy while you're crawling and damage boosting through it would lose our powerup. Both of these reasons are unacceptable so I have to pick a spot to use the ground pound where he is still off screen. Unfortunately it's not enough to kill the other enemy nearby which has 8 hp.
Luckily the rest of the enemies are located in places where we can pretty easily kill them and reduce lag. The rest of the stage is just optimizing jumps and wall kicks.
Round 6 Boss 3
This is just a refight of the Round 3 boss
6-5
Yet another vertical stage and my second favorite level in the game.
work in progress

ThunderAxe31: Claiming for judging.
ThunderAxe31: Accepting for publication.
ThunderAxe31: Added cycle count.
ThunderAxe31: Note for the publisher: submission platform needs to be set to GB.
fsvgm777: Processing.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14884
Location: 127.0.0.1
This topic is for the purpose of discussing #8750: Exonym's GB Bonk's Revenge in 15:17.61
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14884
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [5700] GB Bonk's Revenge by Exonym in 15:17.61
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
Wow, I'd forgotten this was the Bonk GB game I had a long time ago. I remembered the game was called Bonk's Revenge, but I don't remember most of the gameplay at all. Fun trip down memory lane to see this, so thanks for making this run!
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.