Metroid's corridors were a lie (and good engineering).

Published on October 15, 2025

Before SSDs and streaming engines, NES developers were already dealing with the problem of loading screens.

Metroid did it without ever stopping the player, and without the hardware to do it gracefully.

Those long empty corridors between zones weren’t just atmosphere or mood pieces. They were load masks. Each time Samus passed through one, the MMC1 mapper, the memory management chip on Metroid’s cartridge, was quietly swapping 8 KB chunks of code and graphics data in and out of the NES’s address space. The system couldn’t actually use data while it was being remapped, so the designers filled that window with hallways.

The timing wasn’t generous. The NES ran at 1.79 MHz and could only address 32 KB of program ROM at a time through bank switching. Loading a new area meant multiple writes to the mapper registers, rebuilding memory tables, and waiting for that to settle before the game could safely reference the new data. The whole operation landed somewhere around a tenth of a second, only a handful of frames. It was barely noticeable if you covered it, or a visual stutter if you didn’t.

So they covered it. The door animation and the brief moment where Samus can’t move weren’t just stylistic choices, they were solving a technical problem. Without them, you’d see the seam. With them, you got a breath between encounters and the quiet tension of not knowing what was on the other side.

It’s worth being specific about what the MMC1 actually did here. The base NES had no mapper at all. It had 32 KB of directly addressable PRG-ROM for code and data, and 8 KB of CHR-ROM for graphics. That’s not enough for a game like Metroid. The MMC1 added bank-switching registers that let the cartridge expose different 16 KB chunks of a much larger ROM to the CPU, one window at a time. Metroid’s world map was split across those banks, with each corridor sitting at a boundary between them. Every transition corridor was in a very literal sense a seam in the cartridge’s memory map.

This wasn’t unique to Metroid. Plenty of NES games used bank switching. But few used the transition itself as deliberately as part of the game’s feel. The long hallways, the isolation, the rhythm of short intense rooms separated by these quiet walks: that’s a hardware constraint that became an aesthetic. The developers didn’t invent it on purpose, but they recognized what it gave them and leaned into it.

Modern games use the same basic trick with more headroom. The elevator in an early Halo level, a narrow canyon in an open-world game, a conversation that plays while a door slowly opens, these are all the same corridor, just hiding gigabytes instead of kilobytes. The deception scales with the hardware. What stays constant is the intent: if you have to make the player wait, make them not notice they’re waiting.