The never-ending battle with slowdown.
YO: That said, after starting development, we immediately ran into problems. Unlike games like Space Harrier which were built in 3D from the very beginning, the difficulty of converting a 2D game into 3D was on a different level.
In order to give this an easy explanation, Ive brought along the first version of the game we got working on the 3DS. Take a look. This is the prototype for 3D Sonic The Hedgehog. With this version, you can play from start to finish like you normally would.
Since the MegaDrive has two backgrounds layers and some sprites, the initial idea was to add depth information to the background portions, and then place sprites with depth info right in front of you. We thought that by doing so, the game image would come out in stereoscopic 3D. However, when you put the game in 3D like this, the screen looks empty. Compare it to the final version and you can see that the rasterized portions of the backgrounds look quite different. I wonder if the people reading this will get the picture. (laughs)
The rasterized portions of the background in this first version dont have depth information yet, right?
YO: Thats right. When we played the initial version, we found that playing it in 3D didnt really add much impact or appeal. Even though wed got it running, we even started to think to ourselves, maybe this isnt going to work. Maybe we should just give up on Sonic. Since Sonic was the flagship game for the MegaDrive, it would need to have a new aspect of fun to it in 3D
but the initial version was just a simple implementation of the 3D. We DID get it working, but the fun wasnt there yet. Especially the first stage, Green Hill Zone, didnt feel 3D and thus wasnt very exciting.
However for the loop-de-loops in the stage, there were places that would have broken the 3D effect when you look at it which M2 told me they had fixed by patching the original code. In other words, M2 had gone in and applied 3D processing to those parts of the level by hand.
As we discussed that approach, M2 mentioned that while they were researching stereoscopic 3D, they found that if they applied 3D processing to areas of the stage that use parallax scrolling backgrounds[2], it looked amazing. So I said, if thats the case, maybe we should add depth to the clouds, the ocean and all that. M2 told me that doing so was certainly possible technically, but it was going to generate processing overhead, and require a fair bit of work. Still, I felt like we definitely had to do it, so I kept bringing it up.
Whats more, to keep the game speed up, they hadnt yet implemented the FM Synth emulation. Every time the FM Synth made a sound, the program would generate slowdown, so it was as if I was asking them to make it lag even more.
A 3D-compatible Virtual MegaDrive: the Gigadrive Plan
- Something I was curious about when you mentioned how hard it was to get MegaDrive games to run on the 3DS was that, compared to the PS2 port,, it sounds like you have to squeeze out twice the framerate (60fps to 120 fps, 60fps x 2 eyes (left and right) = 120fps), all while not having any input lag. That sounds like a really tough goal, right? Its pretty an amazing feat.
NH: Around the time we were building Super Hang-on for SEGA AGES ONLINE[3], Okunari-san told us to make everything 3D, so we put a bunch of different games into 3D and showed them to him. At the time, wed actually built a development environment that allowed us to make and show off quick implementations of stereoscopic 3D at a pretty low cost. We figured wed just run the same program on the 3DS and thatd be good enough. However on the 3Ds, a lot of things werent working (depth adjustments wed made to the background and sprites were broken), so at that point, we knew going in and fixing each issue one by one would be no small task.
Let me give you an example. When you add binocular depth to the game (by creating two separate screens, one for the left eye, and one for the right), you tend to lose the right and left edge of the screen, since you cant add art that never existed in the first place. Fixing little issues like this one by one gets pretty overwhelming.
Once we had decided to include depth in rasterized areas, we figured we might as well build a MegaDrive architecture that supports stereoscopic 3D, a new SEGA console we dreamed up, which we decided to call the GigaDrive. We figured that if we can build this new platform on the 3DS using emulation techniques, and then create a version of Sonic The Hedgehog that runs on it, all our problems would be solved! This would give us smarter and more flexible 3D compared to patching the MegaDrive game program. In that sense, you could say were just patching a patch for a GigaDrive game, which gave us a lot more latitude to work with.
So that changed your approach to the port.
NH: Thats right. But at that point we still had no idea if the thing was going to work. (both laugh)
Inside this GigaDrive, we increased the number of background layers to four, gave each layer a Z-value (depth info), and gave each raster line a Z-value which allowed us to for instance, knock the lake into the background. Funny because I was just mentioning how hard it would be to port the game since the Megadrive has two background layers. (both laugh)