This is just a quick explanation of a quirk in enemy placement in Metroid.Enemy Slot
The game engine is capable of showing up to six enemies at a time. Each enemy is stored in an “enemy slot” in memory. The unusual thing about the enemy slots is is that rather than having the game load enemies into whichever slot is available, each enemy placed on the map has a statically assigned slot. If the game tries to load an enemy and its slot is already in use, the enemy simply won’t be loaded.
For example, the enemy selected in the screen-shot to the left (the rio) uses enemy slot 2. Suppose that in the screen immediately to the left, there is a zoomer that also uses slot 2. If the player enters the room from the left, the zoomer will be loaded into slot 2. If the player kills the zoomer before moving on, the rio will then be loaded into slot 2. On the other hand, if the player doesn’t kill the zoomer before moving to the right, slot 2 remains occupied and the rio won’t appear.
This means that if you want to make sure that all of your enemies appear, you must make sure that enemies in adjacent screens use different slot numbers. On the other hand, you can have the enemies use the same slot numbers so that they appear “semi-randomly.” This is done in the vertical shafts in the original game. The enemies that appear as you traverse the shaft depend on which enemies you’ve killed in previous screens.