You can get the patch from http://acmlm.rustedlogic.net/ips/SMB1fast.ips
NOTE: The re-record count is not accurate in the movie file. A rough estimate would be 2000. (Not 9.)
Purpose of Creation
Back in late October, TehSeven saw a TAS by Acmlm of this romhack (and 2 others of a similar style). He showed them to me, and we reckoned that they were unoptimised. We decided to take to optimising the first romhack, since the levels in it were well known to both of us.
Lag Reduction: Due to the limit capabilities of the NES, the extra scrolling speed presented by this romhack adds a lot of extra lag frames to the game. This means that lag-reduction is a large part of how optimised a TAS of this romhack is or isn't. Fortunately, early on in the making of the TAS, we found a method to help reduce lag in the correct circumstances. When on the ground, if you let go of right for a frame, and then start running again, you can remove some lag. This was used many times throughout the run to save extra frames. This works because by slowing down for a frame (or longer, but often isn't worth it unless it removes multiple lag frames) sometimes helps to spread the loading of objects onto the screen over different frames, which allows the processor to do it without requiring a lag frame.
Start of Level Jumps: Due to one of the parts of the romhack, when falling at the beginning of a loading zone, you can jump with a 1 frame window. (No problem for a TAS)
Level by Level Comments
1-1 generally was not too difficult to optimise. In the first section, hitting a block would cause lag, so that was avoided. In the underground section, it's only possible to get a lag frame when collecting a certain coin (one of the ones on the bottom row) so again, that was avoided. The final section of this level contained the most lag, and an extra problem. If you maintain full speed throughout, you will go through the flagpole. So we had to find the best frame to get the correct pixel to grab the flagpole. We found that this was on a frame on top of the staircase, because we can use the lag reduction strategy there. That saves 6 pixels from not slowing down as much, gets rid of a lag frame, and grabs the flagpole all in one.
1-2 was probably the most difficult level of the TAS. Because of Start of Level jumps, there are 2 routes through the level. At first, we found the bottom route to be the fastest, however, at the end of this we realised that this would be slower. On the top of the level, you don't have specific places where you have to jump, so we could manipulate our jumps to allow us to lagreduce some of the lag away. This saved 2 frames over the bottom route.
4-1 was the easiest level to TAS. There was very little lag reduction done, and only 1 lag frame. Also, a music and background glitch at the end.
After testing the bottom and top routes, we found again that, due to easier lag reduction, the top route is faster. As well as this, we also checked the wrong warp pipe, but we found that to be slower by a significant amount.
Another easy level for the TAS, a few lag frames here and there, but after testing, we found that the majority of them were unskippable. (The ones that were skippable, we skipped)
Ironically, World 8 was one of the easiest for TASing. All besides 1 lag frame in a max speed run level were forced.
This was the only level where all of the lag frames we got on the first time through were unskippable, despite testing. Hammers are laggy, I guess. Which would make sense, considering how many there are, and how there are often multiple on the screen, and the hitbox detection, movement of them etc.
In the first room, there was one unskippable lag frame when the flower loaded. For whatever reason, when we go in the pipe, the flower is still visible, I would assume due to the higher speed of Mario. The second room had no lag frames, and could easily be gone through without slowing down. Most likely the easiest section of this TAS. In the third room, again due to the increased speed of Mario, we can get in the correct pipe faster. We found this to be a couple of frames faster than the wrong warp, also because we didn't have to wait for the flower in the pipe. In the water room, lag reduction wasn't really an option due to the vast lack of walking, so we just had to live with the lag frames we got (fortunately there were very few). Despite the turning around not working for lag reduction, turning around near the end allowed getting into the last pipe 4 frames faster than without. The hammer bro in the final room jumped with a timing such that it enabled us to just jump on it and then jump through the hammers to beat Bowser and hit the axe! And so, the game is beaten, the final input on 1:09.32 (Frame 4166) and the axe hit at Frame 4189.
: Rejecting because this game uses the Super Mario Bros. engine, and yet the run was not created by HappyLee. This is paradoxical and impossible, and thus this run can't be published.
(On a serious note, though, the Judge Guidelines
say something about hacks, using the word "quality". That's a bit of an issue for this hack.)