We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Metroid II: Return of Samus

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Metroid II: Return of Samus

Developer: Nintendo R&D1[1]
Publisher: Nintendo[1]
Platform: Game Boy
Released in JP: January 21, 1992[1]
Released in US: November 1991[1]
Released in EU: May 21, 1992[1]
Released in AU: 1991[1]
Released in KR: June 15, 2016[1] (Virtual Console)


AreasIcon.png This game has unused areas.
GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
Carts.png This game has revisional differences.


DCIcon.png This game has a Data Crystal page

Metroid II: Return of Samus is best known as "that game between the first one and Super Metroid".

Unused Graphics

MetroidII38.png
The numbers 3 and 8 are part of the font set used in the game's title screen and credits. The Metroid home planet (and the planet this game takes place on) is SR-388, so those tiles might have been meant for an unused intro or epilogue text like the ones in the first game.

Unused Save Points

There are two unused save point designs found in the game:

Metroid2-UnusedTile-AlienStatue.png
This alien statue appears in all three variations of the acid-flooded caves tileset (which start at $1E800, $1ED30, and $1F260 respectively). Unlike every other tile in these tilesets, these do not have an acid-submerged variant (although there would have been ample room for such). Despite their unusual appearance, they have the same collision properties as other save points.

Metroid2-UnusedTile-AltSavePoint.png
This tile more closely resembles the save points used in the final game. It belongs to the ruins exterior tileset, which starts at $229BC.

Unused Sprites

Hmmm...
To do:
Catalogue these things:
  • Investigate to see if any credits sprites are unused
  • Between $66EF-$684C are 18 unreferenced metasprites that correspond to no existing enemy graphics page
  • There are duplicate baby metroid tiles in one of the enemy graphics pages.

These unused sprites have no graphics associated with them. Investigate if they have any notable properties (either by themselves or their placement in the sprite list):

  • Enemy sprite IDs $24-$27, $7D-$7F, $DC-$DF, $FE have no graphics and are entirely unused
  • Enemy sprite IDs $A2, $AA-$AC, and $B1 have no graphics, but are associated with metroids
  • Enemy sprite ID $F4 should be associated with the queen, but is unused

Stalactite

Metroid2-Stalactite.png
In the enemy graphics page starting at 1A120 there are graphics for an unused stalactite enemy. This appears to correlate with enemy ID $D2. The stalactite uses the default null enemy header, and therefore has no enemy AI routine associated with it. It also deals no contact damage, and is therefore intangible (except to the screw attack). It is unknown whether this was intended to do something such as fall and damage the player at one point, or if it was meant to be purely decorative.

Metroid2-stalactite-ingame.png
Here is a screenshot of it hacked into a room in the original game that uses the appropriate enemy graphics page, showing what it might have looked like in context.

Sideways Autoad

Metroid2-sideAutoad-frame1.png Metroid2-sideAutoad-frame2.png
Enemy sprite IDs $48 and $49 are for a sideways variant of the Autoad enemy. The graphics, sprite data, and hitboxes for it are all rotated 90 degrees counter-clockwise compared to the upright Autoad, and their graphics are also located in the same enemy graphics page (starting at 1A520). However, these sprites use the default null enemy header, meaning that they have no enemy AI associated with them. Also, they deal no contact damage, rendering them intangible (except to the screw attack).

It is unknown whether these were meant to be distinct enemies from the upright Autoads, or if at one point Autoads were intended to clamber along walls (similar to their behavior in Metroid: Samus Returns).

Gunzoo Projectile

Frame 1 Frame 2 (unused)
Metroid2-gunzoo-shotNormal.png Metroid2-gunzoo-shotUnused.png

Enemy sprite ID $58 is an unused frame for the Gunzoo's horizontal projectile. It has the same hitbox and contact damage of frame 1 (sprite ID $57) of the projectile's animation. Sprite IDs $59 through $5B are used by the projectile during its explosion animation. This second frame being unused is likely just the result of an oversight.

Right-Facing Proboscum

The Proboscum platforms are only found along a single wall in the game, and all of them are facing towards the left. However, there is a right-facing variant that can be spawned using enemy sprite ID $72, as can be seen in this screenshot:

Metroid2-proboscum-ingame.png

This right-facing variant appears to be the default variation of the Proboscum, using sprite IDs $72-$74. The in-game left-facing variant is spawned in using sprite ID $6E, but the Proboscum's code immediately switches it to using sprite $72. The ID of $6E just acts as a dummy value to allow it to be placed on the map. (Other enemies with flipped variants, such as the Wallfire and Autrack, follow this same design pattern.)

There are three blank sprite IDs ($6F-$71) between the two variants of the Proboscum. They use the same hitbox as the flipped version, but are intangible. It is possible that these sprite IDs pertained to the Proboscum, though they just as easily could have been for a scrapped enemy.

Metroid2-proboscum-manual.png
Curiously, the instruction manual shows the unused variant of the Proboscum. While it is likely that it was intended to be placed somewhere at some point, the screenshot in the manual gives no clues as to where. In fact, given that none of the enemy screenshots in the manual show any background graphics, it is possible that this screenshot was taken from a sprite editor, rather than in-game.

Unused Item Orbs

Some item orbs exist in the game's code, but are not found in the game:

Sprite ID Orb Contents
$94 Spring Ball
$96 Energy Tank
$98 Missile Tank

The sprite IDs that could have been used as item orbs for the energy and missile refills (had they used the default enemy header for items), $9A and $9C, are instead used for the Blob Thrower enemy and the Arachnus orb respectively.

Note that the Spring Ball orb is distinct from the orb containing Arachnus. Nevertheless, the Spring Ball the orb contains still does not display a message at the bottom of the screen.

Also note that because the item orb is not part of the common sprite graphics, the energy and missile tank orbs will appear glitched unless they are placed in a room where the orb graphic is loaded.

Omega Metroid Projectile

Hmmm...
To do:
Add a comparison gif of the animations.

Metroid2-omegaShot-frame8.png
Sprite ID $CD is an unused animation frame for the explosion of the Omega Metroid's projectile. It has a small hitbox and deals the same damage as the other frames of the projectile (12). The normal ending point of the animation is sprite ID $CC. This sprite not appearing could either be the result of an off-by-one error on the coder's part, or it could have been intentionally removed for aesthetic reasons.

Missile Door

Metroid2-missileDoor-leftSide.png
Missile doors are normally only seen on their right side, but it turns out that every missile door in the game has a corresponding left side. This left side of the missile door cannot be seen by normal means, except by clipping through the doorway using the select glitch or invulnerability frames.

Metroid2-missileDoor.png
The reason for this is that the missile door sprite ($F8) is actually a large sprite that has both the left and right doors at the same time. The door even has special code to spawn its explosion in the proper place depending on whether it was destroyed from the left or the right.

Interestingly, while the enemy sprite IDs directly following the missile door ($F9-$FC) do not have graphics associated with them, they share the same hitbox. Sprites $F9 and $FA are tangible, while $FB and $FC are intangible. It is possible at one point that the door was going to have a proper opening animation similar to Metroid 1.

(Bizarrely, enemy sprite ID $FD also uses the missile door hitbox, but this sprite is used by the disappearing Flitt platforms when they are intangible.)

Unknown Message

Samus sprite ID $41 appears to be some sort of text string (like the "Press Start" and "Completed" messages that appear when standing on a save point). However, displaying it in a room with the font loaded does not render it legible, because the highest font tile index available in that case is $E2, while the lowest tile index in this sprite is $ED. Moreover, it does not correlate to any known character mapping. For completeness sake, this is what it looks like when the landing site is loaded:

Metroid2-unknownMessageSprite.png

The message is 10 sprites wide, and divided into two words of five letters each, with letters 4 and 5 being identical to each other. Judging by its placement in the Samus sprite list (immediately adjacent to the "Press Start" text), it is possible that this is an earlier revision of the "Press Start" text that assumed the text was drawn directly onto the tiles (similar to the "Start" and "Clear" text on the title screen). One problem with this theory, however, is that between the 3rd and 4th letters the tile index jumps from $EF to $F5, instead of being continuous like one would expect.

Credits Stars

Normal Fixed
Metroid2-creditsStars-normal.png Metroid2-creditsStars-fixed.png

The game has an array that defines 16 pairs of x/y positions for the starfield during the credits. However, due to a bug, the game only reads the first 16 bytes of the table that determines the initial positions, rather than reading all 16 coordinate pairs. The result is that the last 8 of the 16 stars start at a position of (0,0), overlapping each other to form a ninth star, instead of starting at their proper positions.

Ironically, this bug makes the credits appear less glitchy, due to how tight the Game Boy's limit of 40 sprites per screen is in this context. When the glitch is "fixed", stars begin to noticeably pop in and out of visibility due to how many sprites Samus's running animation uses.

Debug Mode

You need a replacement Game Boy screen now. Just a heads up.

GameShark code 0101A0D0 or Game Genie code A02-52B-193 will enable some debugging features.

During the game, on pause you can:

  • Adjust what items you have. Select a bit with Left / Right and press A to toggle the highlighted flag:
    • flag 0: Bombs
    • flag 1: High Jump Boots
    • flag 2: Screw Attack
    • flag 3: Space Jump
    • flag 4: Spring Ball
    • flag 5: Spider Ball
    • flag 6: Varia Suit
    • flag 7: Unused in-game
  • You can also change the Arm Cannon weapon you want to use by pressing Up / Down:
    • 00: Standard
    • 01: Ice Beam
    • 02: Wave Beam
    • 03: Spazer Beam
    • 04: Plasma Beam
    • 07: Bomb Beam (Unused. When the beam hits a wall it leaves a bomb.)
    • 08: Missiles
  • Press Select to save current progress without any indications. Just one condition: the character must not be in the air. This causes the save text to be loaded over the enemy graphics when you start again, which can be fixed by moving to another area.
  • Hold B and press Left / Right to adjust the number of energy tanks you have. Removing tanks doesn't produce a visible effect until the game is resumed.
  • Hold B and press Up / Down to adjust your missile counter by 10 per button press after you resume the game. There are three internal missile counters in this game: the maximum possible value, and two current values of actually possessed missiles (when you change the first one, the second one will be automatically adjusted to the same value, for "counting" effect). This option does not decrease the maximum value counter, the only value is decreased here is the current missile value counter. When increasing, the maximum value + 10 is reloaded into the current value counter, both counters will have the same value until you decrease, so we can see some kind of "weird" behavior here because of that. All counters are 4-digit decimal counters, but the game only displays the lower 3 digits, however, you still can have as many as 9999 missiles, then warp to zero again.
  • Hold A + B and press Left / Right to adjust the number of remaining Metroids.

During the game, in transitions between locations:

  • Hold Select + B to warp directly to the final boss.
(Source: BSFree (Kong K. Rool), nensondubois, Lordgenome)

Unused Item Text

The item text list starting at $5911 has 5 entries that are never displayed:

   SPRING BALL  
    ENERGY TANK 
    MISSILE TANK
       ENERGY   
      MISSILES  

The Spring Ball text is not displayed due to a conflict with the Arachnus boss fight.

The "ENERGY" and "MISSILES" strings correlate to the item IDs of the energy refill and missile refill, respectively.

Unused Screens

Metroid II - Return of Samus (Game Boy)-save.png Metroid II - Return of Samus (Game Boy)-cleared.png

There are two more system handlers with the same structure as the Game Over screen. One displays the message "GAME SAVED", the other "GAME CLEARED". It is unknown, when they should be displayed, but most likely one is for saving during the game, the other is for clearing the state slot at the title screen. Both are unused in the final version.

To see any of them, use the Game Genie code ZEKAIZAE for the "saved" screen or AOKAIZAA for the "cleared" screen respectively.

The save screen, however uses the wrong tile data loading offset and size, so the text here is unreadable. But you can use two more codes AEVUNZEA+AONLXXAP to fix it.

Oddities

Offscreen Enemy Loading

In the second room of the game, if the player stands partway down the hill at the start of the room, a rhythmic percussive sound can be heard.

If the ROM is edited to allow us to pass through the floor, we can see that there are several "Rock Icicle" enemies (with incorrect graphics) placed offscreen (in fact, completely outside of the bounds of the room, if the room boundary is not disabled as it was in this video).

These enemies are not unused, but actually pertain to a different room --- specifically, the room in the main caverns that opens up after the first 5 Metroids are defeated that has a Metroid husk partially submerged in acid. The reason these enemies are spawned is twofold. First, it is because the rooms in this game are lumped together Tetris-style, resulting in potentially random rooms being adjacent to each other. The second is that the game tries to spawn in objects before they appear onscreen.

Presumably this could occur anywhere in the game, though in practice it not be detected if it happens at all. In order for this to happen, this requires an enemy to be placed near the edge a screen, and for the adjacent screen to permit the player scroll close enough to the edge for the enemy to be loaded and active. Moreover, in order for this to be detectable, the enemy needs to make sound independently of Samus (the Rock Icicle is one of the few enemies to do so).

Virtual Console Changes

  • The 3DS version has a very subtle change on the title screen. Every 1,024 frames (about 17 seconds), the screen rapidly blinks 3 times in the 3DS version (as opposed to 4 times in the Game Boy version), though the blinking rate stayed the same. This change may have been made to reduce the risk of seizures, though it is dubious as to how much this helps.
  • The Nintendo Switch Online version makes a similar change, but the details appear to differ slightly, further reducing it to 2 flashes, but the rate seems to be slower than the Game Boy or 3DS versions, making the flashes slightly longer.

References