Much like the great Curtis James Jackson, Selina Kyle is on a journey to recover her skull.
Game Objectives
- Aims for fastest time
- Takes damage to save time
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.
- You always start off walking for a few frames at a pace of 2 p/f (pixels per frame). After a few frames you start running at a pace of 4 p/f. The amount of frames it takes to start running can be manipulated to some degree (a very small degree). Turning around, for instance, saves a frame of walking before reaching max running speed. And sometimes holding forward one or two frames before you hit the ground can lessen the amount of walking frames. But even then it isn’t completely consistent in that regard.
- Jumping is as fast as the current running speed you’re in before the jump. Diving forward to either avoid an obstacle or an enemy is just as fast as running, but you can only dive if your speed value is at 4 (even if Catwoman hasn’t started running yet).
- Whip swinging is faster than running in most cases. You’re paused for around 15 frames for the swinging animation, but you move at 26 p/f for one frame, then 46 p/f for one frame, then 20 p/f before continually moving at 4 p/f until you land. So it more than makes up for itself. There are very, very few instances in which it’s slower, like if you have to fall for longer due to it.
- You can’t whip swing during a fall, but you can after a wall jump.
- As a small note, not necessarily a trick, you can’t turn in mid-air. So whichever way you were facing before the jump/fall, that’s the way you’ll be facing when you land. There are A LOT of instances where I wish this wasn’t true. But like I mentioned, it causes you to run after only about 3 frames.
- Running and jumping onto a platform usually stops you when you land, but in a lot of instances you can jump onto the platform and maintain running speed. This is a frame-perfect maneuver and can’t always be done with higher jumps, or if an enemy is in the way. It can be done with some consistency with shorter jumps though. This isn’t always possible particularly if a gap you’re jumping over is too wide. This is because in order to pull this off you have to hold jump the exact amount of frames needed to make it onto a given platform. If the jump is too wide, you’re forced to jump higher than you want just to make the jump at all.
- Getting damaged moves you at 16 p/f for a few frames (the amount of frames vary by enemy). The issue with this is that the enemy’s pattern is set once you enter a room and can only be modified slightly (without wasting time) , so if an enemy isn’t going to optimally knock you into a door, there’s nothing you can do about it. Also, you’re stunned for a number of frames, so it isn’t usually worth it aside from very, very limited situations. All of which I’ll explain when they happen.
- To go along with the mention about lag frames there are very limited instances in which you can manipulate them. For instance, you can only control Catwoman starting a stage once she enters he idle sprite. Sometimes how you exit the room before can determine whether this sprite appears on a lag frame or not (seeing as the frames cycle on a “lag, lag, normal” basis). This isn’t always the case (in fact, it’s very rare that it makes a difference), but it’s good to not rule it out when planning the room strats.
- Another way to reduce lag is to get certain animations off the screen as fast as possible. This is only really relevant to the final stage, though.
- If you dive/fall/swing onto a platform near or above an enemy, sometimes you can get “wedged”, for lack of a better term, on into the two hit boxes. Sometimes this means you won’t be able to move, but a lot of the time this means that you can turn and jump quickly and not have to, say, jump for as many frames to reach the next vertical platform or execute the next whip swing.
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: 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.