Live data from Hacker News

Metroid Source Code Expanded

romhacking.net

41–50 of 64 posts

Re: Metroid Source Code Expanded

#41
When I worked at Sega in the console era, I found out that every console game was open to inspection by other developers in this way. Because they were all in assembly, if you were ever curious about how a character moved or how a graphics trick was done, well, you would just find out.

After all, our development consoles (which the PC debugger connected to) worked just as well on a cartridge from the store as on the code we uploaded to it. So if you were impressed by an effect in a game like Ranger-X, you just plugged it in and explored it in the debugger for a while. You'd end up with a new technique and (quite possibly) a snippet of code you could try out on your project. Happened all the time.

Now, I don't think anyone really undertook an effort such as this to lovingly decompile a game with comments on this level, but there were decompilers too. I was always suspicious that our studio's highly sophisticated platformer engine was based on lots of, uh, best practices. If you know what I mean. But that wasn't a big deal.

It's interesting because when I later heard about the tech behind the Halo engine, I realized I'd never seen their architecture before — because things had moved on and gentlemen of game development didn't decompile each other's games. They licensed their engines instead. If this had been the cartridge age, lots of people would have totally lifted their approach.

By the way, the talk I heard, a detailed overview of how the Halo 2 engine works, is available at the page below. Yeah, it's from seven years ago but it was a ten-year-old engine already. Good code design lasts. If you like game guts, this page is a little-known treasure.

http://www.game-tech.com/Talks/Talks.htm

Re: Metroid Source Code Expanded

#43
From the looks of the comments, as well as the frequent references to "written, but unread" memory, this appears to be a dump of the US release. The original JP release was for the Famicom disk system, which had more sophisticated music playback, as well as a three save slot support (similar to Legend of Zelda) instead of passwords. These bits of vestigial code/memory likely still exist in "dummied out" form in this US based source.

IMO, Legend of Zelda source would probably look similar. But by that time, Nintendo of America started support for battery based save states, so someone more experienced in NES hardware might want to compare and contrast the two codes bases to see how much Disk System code was salvageable for battery based backup purposes.

Re: Metroid Source Code Expanded

#44

Earlier quoted context omitted.

What were the development cycles for those later arcade games? How long did it take to build Mortal Kombat and how many people did they have working on it? I should've looked at Wikipedia first, it answered part of my question. "The first Mortal Kombat game was 4 guys, literally, one programmer, myself (Boon), two graphics guys (Tobias and Vogel), and a sound guy (Forden) was the entire team, literally"

In those days it took about a year, maybe a year and a half. Many teams would carry a core "operating system" (really a library of system routines/process scheduler/IO/audits) from game to game and build off of that. That left more time to write the game mechanics and choreography.

I also didn't know they did motion capture for Mortal Kombat. That's even more impressive considering they only had a team of 4.

Re: Metroid Source Code Expanded

#45

Earlier quoted context omitted.

Yeah, but generally arcade games tend to be a lot simpler than some of the more complex offerings on SNES, say. The systems were more powerful, but the gameplay itself tended to be simpler, owing as much to the need to play for quarter increments as anything. Less state to keep track of, generally, at the very least.

Remember that 20 years ago, before the era of superpowerful consoles, arcade titles usually pushed the state of the art in game mechanics and graphics. Home consoles could benefit from longer gameplay, but that usually came from larger game maps and way too many boss screens. And...weren't some of the most popular SNES games ports of popular arcade titles?

And...weren't some of the most popular SNES games ports of popular arcade titles?

Yes! Street Fighter II (and sequels). The Mortal Kombat series. These were HUGE when they arrived on the SNES. I still remember how amazing it was when SF2 came out.

Re: Metroid Source Code Expanded

#46

Earlier quoted context omitted.

In those days it took about a year, maybe a year and a half. Many teams would carry a core "operating system" (really a library of system routines/process scheduler/IO/audits) from game to game and build off of that. That left more time to write the game mechanics and choreography.

I also didn't know they did motion capture for Mortal Kombat. That's even more impressive considering they only had a team of 4.

Was it motion capture (driving a 3D model from sensors) or was it video capture (making sprites from videos). I believe it was the latter. MK's photographic realism really made it stand out in the arcade.

Re: Metroid Source Code Expanded

#47
post #46

Earlier quoted context omitted.

I also didn't know they did motion capture for Mortal Kombat. That's even more impressive considering they only had a team of 4.

Was it motion capture (driving a 3D model from sensors) or was it video capture (making sprites from videos). I believe it was the latter. MK's photographic realism really made it stand out in the arcade.

You're right. Here's the relevant paragraph.

The team switched from digitized actors to motion capture technology (the quote is incorrectly referring to Midway as Acclaim): "To make the characters in video games more realistic, actors are being recruited to serve as models. Acclaim, the video-game company that made Mortal Kombat, has created a special 'motion capture studio' for this purpose. A martial-arts expert with as many as 100 electronic sensors taped to his body sends precise readings to a camera as he goes through his moves—running, jumping, kicking, punching. The action is captured, digitized and synthesized into a 'naked' wire-frame model stored in a computer. Those models can then be 'dressed' with clothing, facial expressions and other characteristics by means of a computer technique called texture mapping.

Re: Metroid Source Code Expanded

#48
post #46

Earlier quoted context omitted.

I also didn't know they did motion capture for Mortal Kombat. That's even more impressive considering they only had a team of 4.

Was it motion capture (driving a 3D model from sensors) or was it video capture (making sprites from videos). I believe it was the latter. MK's photographic realism really made it stand out in the arcade.

I'm pretty sure the original was done by digitising video frames & tidying them up. There probably weren't many people doing motion capture as we know it today in 1992.

Re: Metroid Source Code Expanded

#49

Earlier quoted context omitted.

Not as rivals to those games, perhaps. But Minecraft and Angry Birds show that it's easier than ever for a single person/small team to create and sell an extremely successful game.

I'd just like to point out that Minecraft's code is absolutely horrible from an algorithmic standpoint. On performance/speed and code quality metrics, Minecraft is a statistical fluke.

Yet by any other conceivable metric it is a huge success.

I love good code & elegant design, but it doesen't beat having a successful product out there.

Remember, shipping is a feature ;)

Re: Metroid Source Code Expanded

#50
post #46

Earlier quoted context omitted.

I also didn't know they did motion capture for Mortal Kombat. That's even more impressive considering they only had a team of 4.

Was it motion capture (driving a 3D model from sensors) or was it video capture (making sprites from videos). I believe it was the latter. MK's photographic realism really made it stand out in the arcade.

MK1-3 were 2D characters, all done with video capture. MK4 was a 3D camera-based game and was done with motion capture.

There were other 2D fighting games around that time that used video capture (remember Atari Pit Fighter?) but MK avoided the sprite scaling and kept it flat.

Post reply on HN