22 Comments
- Microtosh, on 10/12/2007, -1/+45This is really cool,
I would like to see more stuff like this on digg - enforcerpsu, on 10/12/2007, -5/+24me too, thats why I posted it. The other really cool fact not mentioned in this article is... how a lot of games that used this design could be glitched and if you forced the loading of a "room" that was not ready to be loaded, all the graphics would be screwed up, doors lead to nowhere, bosses can't see you, etc...
- Robotsu, on 10/12/2007, -0/+7daridave:
It's not just about tile collision, it's about the amount of space available in the NES RAM for graphics. NES CHR RAM (more or less graphic ram) is 8k, and even with compression and bankswapping it never feels like enough. - SumpyGump, on 10/12/2007, -0/+6"When Samus is exploring the intricate areas of the planet SR388, she is continuously moving from one 'room' to another, and changing her position on the internal level map."
Correct me if I am wrong, but isn't the original Metroid on Zebes? - DelMonte, on 10/12/2007, -0/+5Here's my crazy theory about Metroid: (Sorry long post, but bear with me, it's interesting)
In Japan, the game was on a double-sided Famicom Disk. There are 5 "sub-worlds" in the game, each with its own set of room designs, graphic tiles, music etc. On the FDS (Famicom Disk System), there are 3 worlds on one side of the disk, and 2 on the other. Taking some elevators in the FDS version will require you to flip the disk side.
Metroid was seemingly first made as one of the last FDS game, showing it's ability to have bigger worlds than a NES cart games which were only going up to 64k (and a double-side FDS game was 128k), and the ability to save your game progress on the disk.
But somewhere along the way, ROM chip prices dropped enough, and Nintendo found a way to put a bank-switching chip in a NES cart, bringing the total size to 128k.
So Metroid was to be the first 128k NES cart game, and because of the lack of writable media, the first to use a password system.
You can see that the game was designed with both the FDS and NES cart version in mind. Each of the 5 sub-world happen to fit perfectly on a 16k ROM chip. The first NES bank-switching chip used in Metroid (MMC 1) couldn't do live switching, and induced some little delay when switching from a bank to the other. That's why the switching happens in the elevator shaft, when it's not that bad to see the screen flicker as it switches banks.
So, you could say that in the NES version of Metroid, Samus travels from chip to chip using the elevator. The 1024 bytes global room map is in a bank that is always loaded and shared by all of the sub-worlds, so that makes the "secret rooms" glitch possible. If you get to a room of another sub-world without taking the elevator, it will be displayed with the room design and graphics of the current world.
That leads me to the crazy part of my theory. The names and scenario in Metroid weren't translated by Nintendo of America, but rather by the Japanese team (probably by Hirokazu Hip Tanaka, the music composer, who named the sub-worlds, and speaks english).
Metroid is the name of the "ROM Edition" of this Japanese FDS game that wasn't called Metroid there. So where does the name Metroid come?
If you rearrange the letters from Metroid, you can make: ROM EDIT... Coincidence?
Sure it may also have something to do with Metropolis (the movie) and Android... (Metropolis featured a female android). But I think these references are the reasons why they kept Metroid instead of Treomid or another name, as it just fits too well.
And then, there are references to Alien, the movie, but that's another story in itself. - daridave, on 10/12/2007, -3/+8It's really easy, actually.
I once designed a RPG engine similar (inspired and copied) from Final Fantasy 2 on the SNES, and to be honest, it felt a lot like what you posted.
It's called "tile-based engine", where the world is separated in tiles. If you wonder why, in old games like Dragon Warrior, you walked "box by box", well it's all about keeping the collision detection easy...
You can also consider a younger game, StarCraft. Check the map editor -- there's the terrain (it's still tiled based, but less obvious) and the "doodads", which is an extra layer for structures.
THe concept is also similar with 3D! - enforcerpsu, on 10/12/2007, -0/+4Yes, because of the way its laid out. Using some collision detection tricks you could slide through a wall into rooms that were there but the load was random because you weren't supposed to be there yet. Doors wouldn't work, tiles would be all random, and sometimes it would scroll vertical in a horizontal room.
- aubrey, on 10/12/2007, -0/+4Wow! The "world map in 1024 bytes" picture + the explanation that each time Samus goes through a door the game switches to the opposite scroll type totally explains what you see when you explore 'new' areas with the door glitch trick.
I spent so many hours trying to find new places to go and explore using that glitch. Not once did I realize I was just exploring some other part of the map that I had already been to.
The doors that floated in the air in the glitched areas were probably the result of the scrolling issue this person mentioned about.
Very cool - tylerman, on 10/12/2007, -1/+5this is weird, I just beat the original metroid over the thanksgiving holiday.
I read because of the way the game handles rooms etc you could teleport to other locations in the game with the same layout - Robotsu, on 10/12/2007, -0/+4If you guys are interested in more technical explanations about specific NES games' graphic, level, and music data you should check out the repository at romhacking.net.
direct link to NES stuff:
http://www.romhacking.net/?Category=&Console=1&Game=0&Author=0&Recm=0&Level=&docsearch=++Go++&title=&dsearch=&page=docs&action=doclist
Furthermore, NESDev is pretty much the quintessential NES information site with development tools, 6502 ASM demos and technical specifications for the NES itself
http://nesdev.parodius.com/
The 6502/2A03 is wicked fun to work with, and it's a great way to learn about how a microprocessor works on a basic level with a really entertaining practical application! - Namco, on 10/12/2007, -0/+4It was always sweet to be in the other hidden room, and actually get through a door and see the game scroll up, then over. But usually when I was exploring, I ended up in lava with no hope of getting out.
I also thought it was cool when you were on levels with several rows of horizontal halls, and you "walldoored" up to the above hallway, the scrolling would be screwed up and the screen wouldn't be locked to the room anymore until you went through a door.
This article answers a lot of cool questions for me :) - DelMonte, on 10/12/2007, -0/+3Metroid Cubed is in the process of moving to another site:
http://homepage.mac.com/qubedstudios/metroidcubed.htm
I'm currently implementing the website, so there may be some glitches here and there.
Since were talking about the Metroid map etc. you guys might also be interested in an online Metroid Level editor (which one day will be released as a stand alone program).
http://homepage.mac.com/qubedstudios/MetroidROMedit.htm - inactive, on 10/12/2007, -1/+3metroid cubed
http://pages.infinit.net/voxel/home.htm
http://digg.com/gaming_news/Metroid_Cubed - marnaq, on 10/12/2007, -0/+2Now THIS is programming.
- Namco, on 10/12/2007, -0/+2Great post, really interesting. I always imagined that as a kid when I got to a new level that I'd never been on before, that I was accessing some new never-before visited part of the cart. Like I was burning in new chips or something. I guess I was right :)
- PrettyMuchBryce, on 10/12/2007, -1/+3I know some flash game designers that might need to take a good look at this if you know what I mean =P
- simpleprimate, on 10/12/2007, -0/+1@ daridave
Dugg ^ for reference to Dragon Warrior! =P - josephlucas, on 10/12/2007, -1/+2Yep, I was wondering if anyone else caught that. And the morph ball was called Maru Mari if you recall from the instruction manual. I wish they still called it that. Has a nice ring to it.
- Samek, on 10/12/2007, -4/+5Oh dude, you are awesome! thanks for the link, I always wanted to know how they did this.
- monkeyrun, on 10/12/2007, -8/+4sweet :)
- hackwrench, on 10/12/2007, -9/+3"The map positions coloured red are rooms which shouldn't really be there: they are not accessible in the game, and might be "left-overs" from an early stage of the level design."
Earlier he claims to not have done any ASM hacking, so it's possible that the designers used that area of the ROM for something else. - CaptShmo, on 10/12/2007, -10/+1this is awesome if it's accurate, digg.


What is Digg?
Check out the new & improved