Tool-assisted game movies
When human skills are just not enough

Submission #4542: TehBerral's GBC Catwoman in 24:46.23

Console: Game Boy Color
Game name: Catwoman
Game version: USA
ROM filename: Catwoman (USA).gbc
Emulator: Bizhawk v1.9.1
Movie length: 24:46.23
FrameCount: 88769
Re-record count: 14146
Author's real name: Matt B.
Author's nickname: TehBerral
Submitter: TehBerral
Submitted at: 2015-01-07 00:10:10
Text last edited at: 2015-01-11 21:54:38
Text last edited by: fsvgm777
Download: Download (11767 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
Much like the great Curtis James Jackson, Selina Kyle is on a journey to recover her skull.

(Link to video)

Game Objectives

Useful RAM Addresses

Address Name
0988 Level pos.
0989 lvl 2nd byte
1025 Speed
0907 CW HP
1037 Armd CW Spd.
10C2 Enemy HP

General tricks used throughout the TAS

This game lags a lot. In fact, roughly 2 out of every 3 frames is a lag frame (there are very few instances where you’ll get an extra lag frame or you’ll gain a non-lag frame here or there). Just for clarity, throughout these comments when I refer to “frames” I mean non-lag frames unless noted otherwise.

Stage 1: Museum

When I started this TAS, the path for this stage was slightly different. The exit I take in room two saves over a thousand frames and two rooms over the normal exit (as if anything is normal in this game).

As you’ll see throughout this stage, when you dive or whip swing onto stairs there’s a chance you’ll jump without any input needed. This is good because walking up stairs normally locks you at 2 p/f, but by manipulating this automatic jump (which I’m guessing is a bug) moves you at 4 p/f. Whip swinging so that you land on the topmost or bottom most stair is sometimes faster than avoiding them altogether. Walking at the very top or very bottom of a stair case can cause you to start running a frame or two faster than normal.

As mentioned before, there are very limited circumstances in which taking damage is optimal. In one of the rooms I use it to exit faster than normal. This only saved about 3 frames though (9 frames total).

The wall jumping at the beginning of the last room took a lot of doing. Finding the optimal place to start running from, the optimal place to jump from, and just the right amount of frames to hold jump for each wall jump took a lot of trial and error. It overall pays off since it’s a lot faster than going the long way around the room. Also, the very last whip swing was planned so that I could pass through the last laser gate without having to jump to pass though it or take damage.

Stage 2: Roof

The screen very slowly auto-scrolls behind you, but thankfully you can move forward as fast as you want to get this stage done ASAP.

The only thing of note in this stage is that I plan some whip swings so that I avoid having to jump up multiple platforms and can keep moving forward as much as possible. I also try to make as much use of the trick that allows me to jump onto platforms without losing running speed as I can. But in a lot of cases this simply wasn’t possible.

Stage 3: Ruined Factory

I somewhat accidentally pick up the health toward the beginning of the stage as if I’m starving for it. At the very least I get to damage boost a little more.

One thing to mention is that there are two ways to cancel a damage animation; either by jumping before the damage is taken (which won’t send you the full distance of the damage), or by getting hit off of a platform. I get to make use of both in this stage, but I’m mostly proud of being able to make use of the latter towards the end of the stage.

In this case, I get to be boosted forward at 16 p/f and start running right afterward. The jump onto the platform I’m shot off of was frame-perfect. A frame sooner and the laser would’ve missed, and a frame later she wouldn’t have gotten onto the platform before being shot. Despite that, I actually discovered that damage boost while tinkering around in real-time.

Stage 4: Sewer

I hate the layout of most of these rooms. The first room is a cut scene, but from there on it’s fairly annoying to navigate, even from a TAS standpoint. What really sucks is that you only start with 16 HP. This means I have to avoid damage boosting unless absolutely necessary, or until I pick up a heart along the way.

At the very first stair case is the only time I can chain jumping downward so that the speed remains at 4 the entire time.

At one point you might notice that I turn and jump while hovering in mid-air. This is due to landing in a way that squeezes me in between the crate’s hit box and the nearby enemy’s. When this happens, even when the enemy walks away you remain stuck in mid-air until you jump out of it. This saves a few extra frames of falling and a few extra frames of jumping onto the next platform.

Stage 5: Cyber Cat’s Crib

Now that Catwoman has some goofy lookin’ armor she gains a couple attributes. For one thing she clings onto ledges faster. She takes half damage. She also attacks slightly faster. But the most important thing is that she can fire a powerful laser (very slowly). Thing is, she can only do it after picking up one of the many “E” emblems lying around. Even then, you can only fire 5 per pickup, and you can’t pick up multiple emblems at a time. 

In the armor, Catwoman’s speed is the same, but the address is a bit weird. While running the speed address is 1037, but while jumping, running up stairs, whip swinging, diving etc. it diverts back to the original speed address (1025).

Funny thing about that value is that while playing as normal Catwoman, your speed while diving (which isn’t displayed as part of the normal speed value and would have to be calculated based on the level position) displays on the armored Catwoman’s speed address. To avoid prior confusion, I probably should’ve mentioned this earlier for those reading this chronologically while watching this on emulator with RAM watch on for some reason, but I digress…

There’s a couple opportunities to get shot into a room exit that I make use of.

During the boss fight, Cyber Cat has 24 HP. I can carry a maximum of 5 lasers (for some reason) which do 4 damage each. Meaning I have to hit her twice close range at 2 HP per hit. You can use a heavier attack that deals more damage (I’ll explain that a little more coming up) but the animation for the attack either took too long and I got hit, or it passed through Cyber Cat altogether, or it didn’t set up being able to laser her to death.

Even in a TAS this was hard to do seeing as she never wants to sit still. Coming up with a way to stun-lock her thankfully didn’t take too long once I figured out her behavior a bit.

Cyber Cat’s HP address is the same as every enemy in this game. The address’ value represents the HP of whatever enemy is closest to Catwoman. In the case of Cyber Cat, since she’s the only enemy in the room, the address keeps track of her HP.

With that, Catwoman asks where Ra’s Al Ghul is, and Cyber Cat says “…..” which obviously equals “random forest”.

Stage 6: Forest

Catwoman ditches the armor, for some reason, but fortunately still only takes half damage from smaller enemies.

The only highlight is the boss fight with… well, I honestly don’t know who this is supposed to be. In any case, he starts with 24 HP. By holding down and attacking (you can also hit down and then hold up and attack) you can do a super attack which deals 4 HP of damage. Thing is, this attack is somewhat slow, and like Cyber Cat this guy doesn’t like to sit still for very long. It’s also somewhat random whether Catwoman will do the attack at all.

I can manipulate his attack pattern a little bit, but he always starts with a dive kick like he did. I take damage through him to get behind him and force him to run back. This makes him sit still long enough to damage him. After he walks for a little bit he dive kicks again. I backflip in order to avoid getting hit, but I have to do it in a very small window that allows me to attack before he’s ready to attack again. The next round of attacks could be done the same way, but it ended up being faster to simply turn and attack. The backflip animation keeps me invincible the longest, but has a long cool down animation.

Thankfully, this boss’ hit box is a lot bigger than he is so I can attack him faster without having to get too close.

Stage 7: Some Other Factory

Same odd ideas as the rest of the run. One small note is that in one of the last rooms (one where I have to jump upward out of the stage) I make sure to exit to be towards the left side of the exit to start on the left in the next stage. I’m making special note of this because I only found this optimization by accident during while tinkering around. Thankfully I only had to redo 2 rooms after finding this.

This boss was actually pretty easy to manipulate since this boss (I still can’t tell who this is, by the way). There’s not too much technical to this. It’s actually pretty easy to stun-lock this boss with the low kick once you get at a certain distance.

Stage 8: Control Room

Skipping straight to the boss since there’s not too much going on during the stage. This boss starts with 60 HP and thankfully moves somewhat slow compared to the other bosses. Thing is, he’s invincible for large chunks of time. The jumping around I do is to manipulate him to sit still so I can attack him. Obviously I want to chip away at his health with attacks that do 4 HP of damage. Like the forest boss getting behind him causes him to turn around and attack, which makes it easy to attack him once you dodge the attack.

One nice thing about this fight is that much like how you can make the game think you landed on a platform earlier than you did (see: the last bullet point up top) you can do the same thing to trigger your attack input quicker than intended. So the quickest way to deal with this guy is to force him to do his lame kick attack, jump over it onto his sprite, trigger the input while technically in mid-air, and attack as soon as possible.

Stage 9: Escape the Explody Room

This stage is pretty short but I do make use of some lag reduction strats here. I probably only gained about 3 frames in the whole of this stage, but it’s 3 frames gained anyway.

Final Thoughts

With that lame ending I can’t help but feel that the most tragic thing about this game is just how close it comes to being kinda good. It isn’t terrible. The animations, music and overall functionality of the game is okay. The combat could use some work but it’s not like you’re punished too hard for dying anyway (you start in the same room you died in, just so you know). But the boss fights are mindless and needlessly annoying and involve more luck than skill, the stage design is iffy to say the least, and… dat ending.

In terms of the TAS itself I fully understand if it was only entertaining for the first 5 or so minutes but hopefully you feel differently. At the very least this was the most work I’ve ever put into a TAS and marks the end of licensed handheld games from my childhood that I feel have TASing value (unless someone can make Men in Black for the GBC somewhat entertaining).

turska: Judging.
turska: You did a good job with this movie, but the game doesn't make for an entertaining TAS. Mediocre audience response. Accepting for publication into Vault.

fsvgm777: Processing.

Similar submissions (by title and categories where applicable):