I’m happy to say we have a first ever game developer interview on Blimps Go 180! SavageWizzrobe worked on the Super Metroid Reimagined ROM hack, which I watched in a livestream with SW on Twitch. With any luck, we will have a review of Reimagined on the site.
blimpsgo180: You mentioned you made Super Metroid Reimagined with SMILE and a hex editor. I’ve heard game development is a lot of art and computer code. Do you disagree?
SavageWizzrobe: I hardly disagree. Making a game (or a ROM hack, for that matter) is mostly a mixture between an art and a science. It’s an art because you have a great deal of control of how you want the play environment to look. Tile layout, palette editing, and graphics editing are the main things that define a ROM hacker artistically.
It’s a science because making a game or hack takes knowledge of computer science. In addition, knowing how data is laid out in the game code helps tremendously. That, and writing custom code is a part of it as well.
So in essence, art and computer code make up, I’d like to say 2/3 of game development. However, playtesting is another significant part of game development, which is critical to make sure the game works as it’s supposed to. The last thing you want is for a player to get stuck and lose minutes (or sometimes even hours) of progress, for example. Maps have to be playtested thoroughly and well-thought out to make sure the player has the best experience possible. After all, a game is meant to be played, so you must keep the player in mind at all times.
blimpsgo180: This sounds like time consuming work. How much time before a 1.0 version was ready?
SavageWizzrobe: If I had to guess, I started working on Super Metroid Reimagined at the beginning of 2013, then released it in about July 2016? So it took almost 3 years on and off.
blimpsgo180: Is the development pipeline pretty seemless? You just start changing the game and keep going?
SavageWizzrobe: Yes and no. With my own experience making Super Metroid: Reimagined, I had many ambitious ideas. As far as implementing them, however, a handful of them had to be scrapped. This is a rather common thing that happens in game development. Ideas need to transition over into game code. Because ambition is nearly infinite and a game only has a finite amount of space, problems arise. Also, hardware itself has limitations, and may not lend itself well to your grandiose ideas.
However, once I realized the limitations of hardware and data space and toned my ambition down, things mostly went pretty smoothly and linearly in making SM: Reimagined. Start designing a room, playtest it, finish it, on to the next room, rinse and repeat until done. Maybe go back now and then and make an adjustment or bug fix.
blimpsgo180: You say the game itself has a finite amount of space… I’m assuming the amount of data (in kilobytes) the [game] could store. Are there ways around this?
SavageWizzrobe: In part, I was referring to the amount of kilobytes that the game is. Basically, the ROM is divided up into memory banks, and each bank has a different purpose. Yet, each bank is also the same size at 2^16 bytes.
Specifically for Super Metroid, there are banks for room designs, graphics, interactable objects in each room, enemies in each room, and so on. If you do run out of space, however, it is possible to add up to 32 more banks to the ROM.
Fortunately, it is quite easy to add more space for room designs, which I did have to do. I maybe added 6 more banks to the ROM to store room designs? However, just because a workaround is possible doesn’t necessarily mean it’s easy. This is the case if you were to run out of space for anything other than room design data. Working around that would require not only moving the data around, but even changing the game’s code to read the data properly. In short, it’s a lot more trouble than what it’s worth, so you’re better off just saving space within those banks.
Other than the space within the ROM, there are limitations in the SNES hardware itself. For example, those coloured doors that you can only open with specific weapons, and that become permanently destroyed? You can only have so many of those due to the way door flag data is stored in the RAM. Also, care must be taken to ensure not too many enemies are processing at once, because that can cause a lot of lag and make the game not as fun to play.
blimpsgo180: What’s your favorite Super Metroid hack which isn’t your own?
SavageWizzrobe: I had played a few hacks of Super Metroid before starting to make Reimagined, namely Project Base, Legacy, and Redesign (the original version, not Axiel Edition). Out of all of them, Redesign is my favourite, and inspired me to make my own hack. Many aspects of Redesign blew me away: the sheer size of its world, its challenge, its room design, its custom mechanics, and its overall ambition.
blimpsgo180: What is your favorite game, ROM Hack or otherwise?
SavageWizzrobe: It’s hard to pick just one favourite game of all-time, so I’ll go with two. Super Metroid is obviously one of them, along with The Legend of Zelda: Ocarina of Time. These are both games that I’ve spent hundreds of hours playing and replaying, whether in casual play or even speedrunning or challenge running. They both have an open design and a large amount of sequence breaking, so with enough skill it’s possible to play these two games in just about any order you wish.
Speaking of sequence breaking as well, when designing Super Metroid Reimagined, I did put some sequence breaks in there for the more experienced Super Metroid players.
And in addition, what adds basically infinite replayability to these games? The fact that there are now randomizers for both OoT and SM!
[editor’s note: Wikipedia writes… In computer and video games, sequence breaking is the act of performing actions or obtaining items out of the intended linear order, or of skipping “required” actions or items entirely.]
blimpsgo180: Thank you so much for your time!!