Submission #2477: andymac's NES Blaster Master (Europe) in 04:25.44

Nintendo Entertainment System
FCEUX 2.1.2
Blaster Master (E).nes
Submitted by andymac on 12/1/2009 10:02 AM
Submission Comments
Flygon, you're going to like this one, there's a lot of dickhurt on the final battle.
This is an improvement of 8.8 seconds over the previous movie by TwistedEye.
Blaster Master. The story of a kid his radioactive frog, and a tank named Sonya! Whatever the programmers were smoking is some seriously good shit. Which in turn resulted in a seriously shittily programmed game.
  • Uses FCEUX 2.1.2
  • Aims for fastest time
  • ect
  • That's some good weed.
Okay, now the part you've all been waiting for, the comments to tell you what the hell just happened. At first, I didn't get this stuff either, but let's see If I can make it a bit clearer.

Area 1

Okay, so the first part is pretty straightforward, hold right, jump and shoot. No glitches were used, but I saved 10 frames of lag before Jason got to the door.
The next part is a bit confusing, Jason will zip up very very quickly if he's inside a wall, and in this particular example, Jason lodges himself into a wall by using the door glitch. The door glitch works like this: you walk towards a door, and turn around just before you reach it. The game will think that you have entered a door from the other side, and Jason will do his preprogrammed walk through the door, but the other way. This does two things. Makes Jason move regardless of collision fields, and the other thing that it does is move Jason's visual position one block away from his actual position. I saved 6 frames by initiating the door glitch more optimally.
However, you might be wondering, considering he's in the wall, he doesn't look very much IN the wall. well the answer is pretty simple: Jason is actually in the wall, but because the door glitch shifted his visual position to the left, it looks like Jason is outside the wall. Anyway, Jason zips up right next to the door to area 2. Pausing resets Jason's real position to his visual position, so Jason dislodges himself from the wall. Unfortunately, Jason gets extra damage during this particular zip, but it doesn't matter really.

Area 2

The first room in Area 2 looks simple, but is actually the turning point of the whole run. This is because Jason's damage has to be carefully monitored. I get one health bar from one of the enemies I kill, and unlike the previous run, I don't get any damage killing enemies. This is at the cost of one frame of lag. however, getting damaged resets your horizontal velocity back to 0, so in reality, I actually gained time here.
Pausing is an interesting part of the run. It allows Jason to jump again in mid-air after un-pausing. Also, as a side not, pausing has variable lag. Sometimes it has one less frame of lag than it should. I try with my best efforts for this to be the case the majority of the time.
In this area, the door glitch happens slightly differently to the glitch in area 1. What happens is I abuse the fact that Jason's visual position had changed from his actual position by making his visual self jump into a wall. Pausing sets Jason's actual position to his visual position, which is now in a wall, so he begins to zip.
In the original run, I didn't really like the way how Jason had to do the door glitch 3 times in a row, so by going into the next room and performing the door glitch there, I thought this might save a bit of time. Another advantage was that Jason wouldn't get any damage by zipping, which would save time later. The only problem with this was that I couldn't zip past the room directly above it, like the previous run did. The only option then was to zip to the area 3 door from that particular room, which proved nearly impossible. I had a one frame window to duck and hold left. Because of a loading glitch, it enabled Jason to fall through a wall, because the wall wasn't loaded yet. Pausing showed where Jason really was. Well, that brings me onto area 3.

Area 3

Actually not much to say here. The only time saved was due to 2 frames lag reduction and more optimal jumping. I go straight to area 8: the final area.

Area 8

First off, Jason goes down to the first door he can find and uses it to glitch to the intestine tract room. There is a technique quietly used that instantly resets Jason's horizontal velocity to 0 used in the first room. An anti corner boost shall I say. It makes turning around just that bit quicker.
After walking over the intestinal tract room, Jason does a suicide jump off the edge, then pauses to give the game some time to load. What actually happened was that Jason was actually in a wall, but it hadn't loaded yet. Once the wall loaded, Jason naturally started to zip. I had to duck a few frames to avoid hitting some spikes and dying. This brings me onto the next bit.

The Next Bit

By this stage Jason had four bars of health rather than just two, meaning he could just plough through the blocks without any regard to safety. I also figured that a more optimal route would be necessary.

The Final Battle

TwistedEye didn't really get the fact that throwing a grenade every 6 frames is not the best way to go. Instead, throwing a grenade every 16 frames worked fine for me. The boss is invulnerable for 16 frames after it is hit, so if you hit the boss every 16 frames, you have a winner. I also manipulated a third rock not to appear, which meant that there was no lag. This boss wasn't too tough compared to the other guy.

The Other Guy

I'm really running out of descriptive names here. Anyway, it's pretty much the same deal as the last boss except this guy's balls are made of pure, hardened steel. Compared to a puny 60 hp of the last boss. This dude has a whopping hp of 192! I have to give this guy 96 grenades straight to the testicles before this guy gives up.
Thanks for watching. I'd like to thank UraniumAnchor, for providing maps and stuff. Also, The reason that I made this run was that he was being a dick on IRC and I wanted to prove him wrong I just love him so much, and I wanted to do this just for him!
I'd also like to thank TwistedEye, and Lord Tom, for if it weren't for them this wouldn't be close to possible
Thank you and goodbye.

Boring Stuff: Memory addresses used.

0x0406	x speed
0x0402	x position (subpixels)
0x0403	x position (blocks)
0x0407	y speed
0x1C7D	Boss hp
0x0479	Boss invulnerability timer
note: x speed and y speed work for tank, Jason only, and room interiors, in other words: everything.

mmbossman: Nice polishing of the previous publication. Setting to 'accepted'.
Last Edited by on 1/1/2022 6:13 PM
Page History Latest diff List referrers