Tom & Jerry: The Ultimate Game of Cat and Mouse!, or Tom and Jerry (and Tuffy), is a 1991 platformer game by Hi Tech Expressions for the NES.
In it, Jerry beats up Tom 5 times across 15 levels in order to save his nephew Tuffy, who Tom had taken captive in the attic.
Apart from jumping and throwing balls, there's also consumable items that can be found within the levels, bubble gum, hammer, cup of water, drill, etc. Tho in here the bubble gum will be used exclusively.
Exonym's comments:
I had recently just finished an NES project I was working on for a while and needed a new project. I started fiddling around with some unlicensed games, one for GBA but wasn't happy with the games. I thought about returning to some of my old projects, but then I saw it posted on the Tom and Jerry forums by Induviel that there was a trick that would essentially give you unlimited bubble powerups. The most recent TASes I've done have been NES and I've kind of grown fond of working on them, so this seemed right up my alley.
I wasn't sure if I was going to find anything, but after some experimenting I discovered that the mini jump you can do after throwing a projectile could also be performed after cancelling a bubble as well. And since we had unlimited bubbles I knew this was going to be useful as we can essentially travel horizontally without losing any height. (using a bubble still stops you in place briefly each use, but it's positive effects far outweigh this)
I posted initially on the forums, but a few days later I also contacted Induviel on Discord and we started passing WIP's and ideas back and forth which lead to a more optimized result. It was a fun and short game to work on and I hope you enjoy watching!
Game Objectives
- Emulator used: BizHawk 2.10
- Aims for fastest time
- Takes intentional damage
- Uses intentional deaths
Tech and Glitches
- When using an item, Jerry stops moving horizontally for a few frames, so it's important to avoid, or reduce the amount of uses whenever possible.
- After throwing a ball projectile and pressing A twice, with a 1 frame gap, at least 14 frames later, its possible to do a small jump in midair.
Pressing A_A later than 14 frames cuts the jump slightly shorter.
Pressing A just once 14+ frames after throwing the ball makes Jerry get to max fall speed faster.
- Corner clip: By jumping into a corner with very specific Y positioning, its possible to clip into the corner, most corners have extra collision which is why this isn't used in every corner where it looks useful to do. If the ledge is one tile thick vertically, you can use a bubble just as you're clipping into the corner and for some reason this gives you max vertical velocity of 6 instantly. It's usually not faster because you have to walk off the ledge to get the exact right pixels, jumping moves you too fast downward. Also, in 4-2 there's a corner connected to a drillable wall, and doing this trick there got a y speed of 8 for whatever reason, which happened to be slightly faster.
- Ceiling jump: It's possible to jump when Jerry bonks on a ceiling, these can be chained.
- Swap glitch: When using an item, and then pressing select the frame right after, the number of uses of the item you swap to gets decreased, but not the one you use, which basically makes it possible to use any item as many times as you want. The obvious item to use with this glitch is the bubblegum, which lets Jerry float upwards for several seconds, which allows for several skips all over the game, plus it allows for many micro optimizations as well
A secondary effect of this glitch is that the effect of both items may combine, so with the bubblegum and the ball, you'll use a bubble and a ball at the same time, if the bubble isn't cancelled the next frame is used, or when using the hammer and the ball, Jerry will throw the hammer as if it was a ball.
- Bubble jump: When cancelling a bubble with A or B, it's possible to input a jump by pressing A the second next frame to jump midair.
- For whatever reason (seemingly frame rule dependent?) Jerry's invincibility timer exists at 2 durations. A short duration, and then there's one that's about a full second longer. Delaying a bit to get the long duration is useful, especially to bypass the ghost in 5-2.
- Ladders can be jumped off of the very same frame as grabbing them, and jerry does not lose even a single pixel doing so. This is particularly useful for levels where you need to get higher, such as 1-1 and 4-2 (there are a couple ladders where you can grab them a few frames before actually landing meaning you can jump from slightly higher up).
- Jerry runs at 2 pixels/frame for the entire game, which means your pixels move in intervals of 2. You can make yourself on an even or odd cycle, by using the slide animation after letting go of a direction you're running in on the ground. Useful for getting yourself the exact pixel position, mainly used for resyncing the game.
- Boss fights disable all items except the basic ball projectile, so there are no bubble shenanigans to be had here. Also, Boss fights are on a global 32 frame rule to when the defeated animation can end, so all improvements in that world must be in batches of 32 (except world 5)
Level-by-level timesaves
1-1
At
00:27.871, a ball throw is used to shorten the jump and land earlier.
The skip at
00:57.871 is done using two bubble jumps, saving some frames over having to use the ladder (?) to reach the platform, to prevent the fall right after a bubble is used instead of a throw, saving 2 frames.
At
01:07.589, jumping from the ladder and using a bubble jump makes it possible to ceiling jump on the corner of the pipe to start the climb up to the end of the level from higher up. Another bubble jump is used after the ceiling jumps to keep the height, which compensates the frame where Jerry stops moving when using the bubble.
1-2
In this level we start to see the potential of the unlimited bubble gum, where its used several times to skip many zigzaggy sections. On the pits where the bubble is used to climb up it's possible for blobs of water to randomly spawn, plus the enemy patterns are also RNG dependent, so it's necessary to manipulate the RNG in this section to clear the path. The RNG address of these, and most other enemies is 001B.
1-3
First bossfight, it's possible to land on Tom, which allows for throwing balls at Tom as fast as possible.
The boss has 5 hp, but doesn't die at 0 hp, an extra hit while at that value is required so 6 hits are needed.
2-1
Near the start of the level, a bubble is once again used to skip some of the level.
At
01:59.004, a corner clip is used to skip even more of the level than the previous zip used in the previous TAS, and some bubbles are used to climb up to the end of the level.
2-2
This is a vertical level, and unlimited bubbles allow for way more vertical movement than intended, so this level gets destroyed. Here we also see another use of the bubble, to cut jumps short to optimize further vertical sections, and other micro optimizations.
This level can lag a lot, so some enemies are killed along the way to reduce it, and one of the bubblegums are actually used, without the glitch, so Jerry doesn't throw a ball and prevent some more lag.
2-3
2nd bossfight, this time Jerry angers some bees so they sting Tom.
The jump up the first platform is shortened with a throw, the second one isn't shortened because then the throws to the beehive would have to be delayed.
To keep Jerry on beehive height, a glitch is used were doing a throw at the edge of the moving platform makes Jerry slide midair while in the throwing animations, the slide can then be cancelled by pressing A, to then be able to hit the last bee while falling.
3-1
Some bubbles are used at the end, one to quickly kill the squirrel, to jump earlier, and another one to dodge the cheese at the end slightly faster.
It's important to avoid cheeses, since if it's not done a score screen appears at the end of the level, losing around 3 seconds.
3-2
Another vertical level, tho in this one we go down, so it's not very broken.
Many bubble jumps are used all over to prevent Jerry from bonking on walls, go over obstacles without having to land on the floor to jump over them, start ceiling jumps some ceiling jumps, shortening jumps.
A damage boost is performed at
03:23.232 to go over a leave, plus it helps get a better leaves and fire cycle in the lower section.
The leaves and fire cycles are based on RNG, but it cannot be manipulated very easily, just by changing when to jump, or fall. The RNG adress for these and other cycle based obstacles is 0440.
3-3
3rd bossfight, Tom is in a furnace. This one's very simple so there's no timesaves, just get close to Tom and throw balls at him while avoiding the fire.
24 hp, 25 hits needed.
4-1
Because of the damage boost on the previous level, a health cheese needs to be collected to up Jerry's health in preparation for the next level, which loses 17 frames over not having to take it, though the framerule in this world gives enough of a buffer that it doesn't lose actual time.
4-2
At
04:28.824, a corner clip, plus a bubble jump to clip slightly into the next block in the ledge is used to go below the first spark, this saves time since then it's not needed to wait for the spark right after, and then a damage boost can be done to skip some waiting at
04:37.094 to some more waiting.
In the climb on
04:44.182, it's possible to jump from the ladders to jump from higher up, saving some frames.
At
04:46.445, a trick is done to fall faster, done by turning around and using some bubbles at certain frames. Doing this skips a health cheese, but getting the cheese right after is faster to get anyway.
At
04:50.339, thanks to a bubble, a different path up the level is used, which is slightly faster.
At
05:01.620, it's faster to wait to take the damage boost later, which then makes the i-frames last enough to go through the next spark.
At the end of the level, on the last jumps through the wall, a glitch is done by using a bubble at a certain frame, which then allows Jerry to walk in air, this is mostly for entertainment, and takes a hit from the last spark, but for a trick in 5-2 it's important to have one heart at the end of the level, so it's not very important.
4-3
4th bossfight, this time Tom has dynamite.
By getting Jerry as close to Tom as possible, it's possible to barely land a sixth hit per cycle, which makes it possible to skip a cycle.
A hit is taken in the bossfight intentionally, again to setup the trick at 5-2.
19 hp, 20 hits required.
5-1
A bubble is used at the start to skip some jumps, then several bubble jumps are used to go below a platform while avoiding two invisible walls, which skips a big chunk of the level.
Since we have unlimited bubblegum, the bubblegum in this level is not needed, and is skipped.
5-2
In this level, a key item is needed for the end of the level to be active. The ledges below the key are solid, so the route is roughly the same.
A death warp is used after picking up the key to skip some backtracking. The game puts Jerry in the last place he landed, and it's faster to avoid the spiderwebs when getting the key, which is why bubblejumps are used to jump over everything.
5-3
5th and last boss, Tom now has rockets, which spawn from either the top, middle or bottom depending on Jerry's position.
On each cycle it's possible to hit Tom 6 times, when he spawns on the left it's easy, but on the right or top it's barely possible by doing small jumps.
Since we can end input the very frame the final projectile is thrown, this is the only world where the 32 frame rule for the boss doesn't apply. Every single frame matters in this world, they must come in batches of at least 32 to save time in the rest.
49 hp, 50 hits required.
For the record, we did do some minor testing into the glitch in 4-2 with the world complete screen cycling but were never able to determine what causes it or if it will ever actually end the world. In fact, it would often just happen randomly as we're improving the movie, admittedly annoyingly as sometimes it was on the most optimal A presses.
nymx: Claiming for judging.
nymx: Wow, with 113785 re-records, it really shows how you found everything that seemingly can be found. Watching this, against the previous
TAS, you show immediate control by pulling away slowly. These early cuts, eliminates any previous authorship; however, I started see these crazy cuts and I couldn't tell where I was in the TAS! LOL! Well, it sure did look amazing and totally eclipses the previous run. Congratulations on this effort!