User File #48877130464294925

Upload All User Files

#48877130464294925 - New subpixel optimization tech - proof of concept

flashman_3frame.fm3
In 01:32.75 (5574 frames), 120490 rerecords
Game: Mega Man 2 ( NES, see all files )
951 downloads
Uploaded 8/2/2018 4:16 AM by warmCabin (see all 30)
I've discovered a new subpixel optimization technique! It doesn't always save time, but a subpixel's a subpixel. You never know when an extra couple might come in handy.
When you fall off a ledge and need to turn around, it may seem like you should turn around and brush up against the edge of the wall to get the best position. This is not always the case. Sometimes, you can actually be a few subpixels inside the block; that is, the ejection routine (which runs when you push in the opposite direction) puts you just a bit further out than the first position where you can actually fall. By moving past the wall on the last possible frame, you can save around 0x10 subpixels, depending on your subpixel alignment.
Sometimes, this maneuver may not be possible at all, and it will be better to brush up against the wall and get a X8.00. You just have to try it for each jump.
Note that this does not work if you encounter a left-facing wall (you are holding right) that transcends a screen border; you will be ejected to X8.00. Right-facing ones seem to be OK, though.
To demonstrate this concept, I've utilized it to shave 3 frames off the current TAS (although in reality it's 1 frame + a door frame rule). I simply copy/pasted their inputs and executed proper turnaround subpixels on each relevant jump. I think this stage nicely illustrates all the quirks of when this technique is useful and/or possible. Branch 1 is the current TAS. Branch 2 is with my technique. Each branch is marked on the frame Flash Man dies. I highly recommend you watch this with RAM watch on (X pixel: 0x0460, X subpixel: 0x0480) to see exactly what's going on.
Fun fact: Much like ladder fidgeting, I discovered this while doing some playaround/TAS fidget stuff. I thought it might look cool to have Mega Man turn around at the last possible frame, but then I realized I was actually landing at better positions when I tried to do that! If you're working on a TAS, I highly recommend you do some silly stuff in your run. You never know what you might accidentally discover!