Submission #5116: TheAxeMan, Alyosha's NES Metal Storm in 11:20.10

Console Nintendo Entertainment System Emulator FCEUX 2.2.2
Game Version USA Frame Count 40873
ROM Filename Metal Storm (USA).nes Frame Rate 60.0988138974405
Branch Rerecord Count 27639
Unknown Authors TheAxeMan, Alyosha
Game Metal Storm
Submitted by Alyosha on 5/14/2016 12:53:31 PM

Submission Comments
Metal Storm is a very difficult platformer where you pilot a mechanical robot through 7 levels in order to beat an alien computer. The game is known for its unforgiving difficulty and gravity controls. The current run is an improvement of over 1 minute on the original run mainly by using a level skip glitch.

Game objectives

  • Emulator used: FCEUX 2.2.2
  • Beats the game as fast as possible
  • Uses password to access expert mode (Hardest Difficulty)

Temp Encode

Comments

A level skip glitch was found some time ago in real time purely by chance. It turns out the basics of the glitch are getting an armor powerup at the same time you get killed by an enemy. I didn't look through the code for the details, but this apparently ends the level without losing a life and starts the next one with no ill effects. This saves some 45 seconds in level 4-1, which is an otherwise dull autoscroller anyway. In expert mode there is another opportunity to use the glitch in 2-2, trivially passing by this otherwise complicated level.
Thanks to WhiteHat94 for making me double check the warps, this also includes a warp in 6-2. Originally I wasnt able to get this one and wasn't sure why, but it turns out getting the armor upgrade in 4-2 made getting the warp impossible for whatever reason. I fixed this oversight and the warp works just fine. In normal mode you can also do a warp in 4-2, but this seems impossible on expert since the crab enemy dies instead of staying alive like on normal mode (which is apparently what the game gets stuck on and unable to resolve.)
This glitch amounts to the most time saved in the run. Another couple seconds are saved by lag management. Beyond that, TheAxeMan did an excellent job optimizing levels and bosses, so there was little left for me to do.
This leaves the other main change from the current run, the password.

Password

This run uses the password F-P-P-M-K-2-P-7-8-6. The point of this password is to start the game with 0 points and no powerups. This is opposed to the current run which starts the game with ~300000 points and the flame powerup.
Expert mode is really a continuation of the game from normal mode, so the password you get is tied to the state you end normal mode with. Technically, there is no need to enter a password at all, you could simply continue a normal mode run, use a verification movie, and call it new game plus (although I guess you would need to do this in BizHawk.)
However, there is a way to 'start a new game' in expert mode, simply by hex editing the end of normal mode to having no points or powerups, so that the password you get at the end starts you in expert mode in the same state as normal mode. This is never a password you would actually get (since you would always at least have non-zero points) but it is a valid password.
I guess it comes down to personal opinion on which route to take. For me zero points and no powerups simply looked much cleaner, even though it adds about 8 seconds to the run.

Other comments

I think this was one of the more interesting games I've worked on lately. The game is really hard real time but not so much to TAS. The new glitches really add to the entertainment value I think. The biggest annoyance is the the level 6 boss (which you sadly have to face twice.) There is no speeding it up and simply not that much to do. But I'm happy to have another game off my list!
Enjoy the Run!

Samsara: Oh boy I love Metal Force. Judging.
Samsara: File replaced with a ~20 second faster version.
Samsara: Accepting as an improvement to the published run.
fsvgm777: You could even say it blasts away the old run?
Anyway, processing.

Last Edited by fsvgm777 on 5/18/2016 6:12:29 PM
Page History Latest diff List Referrers