Mega Man: Dr. Wily's Revenge in 16:56.99 by Noxxa

Encode (lsnes):

This run improves [336] GB Mega Man: Dr. Wily's Revenge by Bag of Magic Food in 17:11.30 by 1384 frames (00:23.17 seconds).
Note that the previous run used VBA-rr, which used a different framerate (60.000, as opposed to lsnes' and BizHawk's ~59.727) and a different definition of what constitutes a frame, which causes the difference to look like less than it actually is. The frame difference is determined by comparing AVI output.
In addition, BizHawk has slightly longer loading times and lag, which leads to some time loss in some areas.

Game objectives

About the game

Mega Man: Dr. Wily's Revenge (known as Rockman World in Japan, and also known as Mega Man I or Mega Man World) is the first installment of Mega Man on the Gameboy. The plot is minimal - after being defeated in Mega Man and Mega Man 2, Dr. Wily swears revenge of Mega Man (again) and brings out some old Robot Masters from the aforementioned games, as well as the first Mega Man Killer robot named Enker, to do the job. Obviously, Mega Man defeats them all, defeats Dr. Wily yet again, and the world is safe again until the next game is released. Yes, it's a really plain plot.

Improvements

Bag of Magic Food's run, even though it's dated 2005, was very optimized. Most of the individual improvements here come from heavy subpixel optimization, and occasionally lag management, shaving off mere frames at a time. There are only a few instances where I saved time through changing strategies, and even those would save only small amounts of time.
There are some very significant improvements, however: it turns out that pressing A or B during certain frames of the pre-Wily Castle and pre-Wily Space Station cutscenes allows you to speed up some events of the cutscenes. In the latter case, it's even possible to skip a large part of the cutscene, saving over 15 seconds.
The next big difference is a change in boss rush order. Instead of Bag of Magic Food's Bubble-Heat-Quick-Flash route, I opted to go for Quick-Flash-Bubble-Heat instead. This was so I could use Quick Boomerang against Bubble Man to defeat him faster, saving several lag frames. However, it means the Quick Man fight became longer.

Table of improvements

There are two comparison tables: one comparing the previous run with the current run on lsnes, and one comparing the previous run with the current run on BizHawk.
Stage nameframestotal
Pre-Cut Man (loading)-1-1
Cut Man stage-22-23
Cut Man boss-1-24
Pre-Elec Man-1-25
Elec Man stage-44-69
Elec Man boss-7-76
Pre-Ice Man+1-75
Ice Man stage-10-85
Ice Man boss0-85
Pre-Fire Man0-85
Fire Man stage-21-106
Fire Man boss-7-113
Pre-Wily Castle-192-305
Wily Castle stage-14-319
Boss rush-48-367
Enker-2-369
Pre-Wily Space Fortress-961-1330
Wily Space Fortress-49-1379
Wily boss phase 1-5-1384
Wily boss phase 20-1384
Stage nameframestotal
Pre-Cut Man (loading)+3+3
Cut Man stage-22-19
Cut Man boss-1-20
Pre-Elec Man+8-12
Elec Man stage-44-56
Elec Man boss-7-63
Pre-Ice Man+7-56
Ice Man stage-10-66
Ice Man boss0-66
Pre-Fire Man+6-60
Fire Man stage-21-81
Fire Man boss-7-88
Pre-Wily Castle-183-271
Wily Castle stage-14-285
Boss rush-30-315
Enker-2-317
Pre-Wily Space Fortress-957-1274
Wily Space Fortress-49-1323
Wily boss phase 1-5-1328
Wily boss phase 20-1328
Notes:
  • Due to the difference in boss rush route, it isn't possible to directly compare times in the route. These are the individual changes in each boss rush fight:
    • Quick Man: +265 frames
    • Flash Man: -12 frames
    • Bubble Man: -298 frames
    • Heat Man: -8 frames
    • 23 frames (BizHawk)/5 frames (lsnes) were lost due to additional loading times in between the fights.

Stage by stage comments

Cut Man

  • A large amount of the stage-by-stage comments from Bag of Magic Food's submission still apply to the overall run. This run mostly uses the same strategies.
  • One of the first things that motivated me to continue the run in the first place was a 4-frame save at the first enemy by better subpixel/acceleration manipulation.
  • The post-battle dance after Cut Man's fight probably took twice as long as the boss battle itself. I spent a lot of care at trying to make them as entertaining as possible. It's also, to me, the most memorable part of Bag of Magic Food's run. Hopefully I succeeded on the entertainment here (and in the other bossfights).

Elec Man

  • The way the stage is laid out with several ladders allows for a lot of room for subpixel optimization. In most rooms here, I saved at least 1 frame from subpixel optimization.
  • Near the end of the stage, at the second room of the last big ladder section, I save 1 frame by jumping up to the middle Octopus Battery instead of walking into the bottom one. This is because the middle one is 1 pixel closer and thus can be hit sooner.

Ice Man

  • On ice, jumping costs a few subpixels when landing. Therefore, I minimize the amount of jumps in this stage.

Fire Man

  • On the first Hothead enemy, it turns out Bag of Magic Food overkilled him by one damage point (it has 10 hit points, buster shots do 1, and Elec Beam does 2 per hit). I use 1 buster shot more, so it is destroyed with one Elec Beam hit less.
  • The last room with all the Hotheads was very hard to optimize. A lot of precision is required to optimally hit the Hotheads. One of them can't be destroyed in one shot due to its position.
  • I move a bit to the left during the Fire Man fight to manipulate him to walk further to the right. This saves a few frames.

Wily Castle

  • The first really big timersaver happens here. Pressing A or B at certain frames (or just autofiring A and B for the same effects) allows me to save 183 frames in the pre-Wily Castle cutscene.
  • The second Mole room, near the end of the stage, was by far the hardest room to optimize in the entire game. Both Mole rooms are hard, because the position of the moles is dependent on the frame you destroy them and your position. Do anything slightly different and a Mole will come in your way and block your path.
  • I take a different route for the boss rush, taking on Quick Man first instead of Bubble Man. This is because Bubble Man's fight is very laggy, so it's better to have that one done as fast as possible. Quick Man's fight is nearly lagless.
  • Starting with a Mega Buster shot also saves some frames in Flash Man's fight.

Wily Space Station

  • As if the cutscene time-saver before Wily Castle wasn't large enough, the pre-Wily Space Station cutscene allows you to skip an entire section, saving over 15 seconds in one go.
  • The trick with Carry to put it so close into a wall it disappears can be done at the end of the first room, saving 17 frames.
  • Carry ammo is weird. Look at the ammo consumption the last time I use it.
  • Like Bag of Magic Food, I end input two frames later than is necessary, so no more input can stall the ending. (You can still press A+B+Start+Select to soft-reset during the ending, but let's just ignore that).

Other comments

Recommended screenshot:

TODO (suggestions?)

Thanks:

Thanks to Bag of Magic Food, for creating a very high quality run, which would last for over 8 years, for me to beat. It was an interesting challenge to improve on a run that was already very optimized to begin with.
Thanks to Nach for support and motivation.
And thanks to everyone else who supported me in the game thread!
And thanks to you for watching and/or reading this!

Nach: Turns out this run runs in lsnes also, so judging...
Noxxa: Replaced submission file with a lsnes conversion which finishes the game 56 frames faster.

Nach: Very nice run. Good feedback. Accepting as improvement to existing run.
Ilari: Processing


mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
Great screenshot choice! And congrats on the publication.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
mklip2001 wrote:
Great screenshot choice!
Author's pick, actually.