Here are my 2014 answers to Nick Thorpe of Retro Gamer magazine's questions. They helped inform his 20 Years of: Sega 32X article about the history of the Sega 32X game console expansion for the Sega Genesis / Mega Drive, in "Load 133" (September 2014 issue, page 84) of the magazine. As usual, they are from my memories and SR&ED notes from the time.
It wasn't too bad for us, though there were teething problems. Mostly it went well because our build also ran on the PC (though just in 8 bit VGA colour), so game coding and artwork additions could continue while the 32X side was bottle-necked. It helped that we had already done Outlaw Sprint Cars for the Genesis so could quickly use our experience there to get a game ready for the Mars / 32X premiere.
The project started with meetings in February 1994, with a PC version getting going in April. Our team leader went to meetings in Japan in May of 1994 (half envious but also glad I didn't have to go) and he got us a couple of development systems. Those were beige metal boxes about the size of a bar fridge, half filled with electronics. Unfortunately one got shaken up too much in shipping and didn't work at all, so we had just one to develop on in the Motocross Coral (we rearranged wall dividers to make a big area with the dev system and everyone working on the project). I remember trying to read the Japanese manual to get it going - it seemed to have video problems. The only text I could recognise was an "NTSC" label beside a DIP switch, which turned out to be all I needed.
After various troubles with bootup code, by July we had our game running on the real hardware for the first time. That's when we were hit by a few GCC compiler problems. Apparently its implementation of "short" integers was incorrect, and finding that cleared up quite a few mysteries. We just changed everything to 32 bit, which is the SH-2 native integer size.
In the summer it was more about working on the gameplay, with production 32Xs becoming available for testing. We were done by mid-November.
There wasn't too much direct help (no Sega staff on site), we got by with reading the documentation and sending questions about tricky parts to various Sega people via our team leader (more trips for him to Japan too). We'd get back newer versions of the compiler and other tools, and I assume answers.
One of the new things about Mars was that it had 15 bit colour. No need for a fixed colour palette or the hassle of trying to do bitmaps in character mapped graphics (that was Outlaw Sprint Cars - an in-house test game we did for Sega to see if 3D could be done on the Genesis, with an eye towards 3D goggle hardware, it worked but with all sorts of game design limits and only at 10fps, even slower in experiments with extra hardware containing a DSP chip to do bitmap stretching).
So we wanted something that you couldn't do with the limited colours of the old hardware. Something that would look different. The answer was mud. Yes, instead of three or four browns, we had many more shades we could use for dirt. It looked photorealistic! Well, at least in comparison to the old palette technology. I remember calling the boss over to come and see the amazing mud track in 3D when I had it working for the first time.
We also had to add JPEG image decompression to our code library, so we could store more full screen backgrounds in the ROM. And get true colour drawing tools for our artists! "Imagine" on a souped up Amiga with virtual memory (6 megabyte TIFF files!) was used for some 3D rendering. The rest of the art pipeline and data file generating tools were updated too. Though menus were still done with the Genesis character mapped graphics, overlaid on the 32X full colour display.
The PC version originally used VGA graphics and was just to keep development going while the 32X dev system was busy. A partial rewrite and more polish (switched to DirectX and higher resolution) led to Corel Moto Extreme. Yes, that Corel (for a brief while Corel did games, and somewhere there are mascot suits for our Wild Cards cartoon characters). It had more tracks, including a Lunar gravity one, and various other improvements.
Not really an anecdote, but more about the 32X hardware. We had a look at the sound system (sampled stereo audio, not FM synthesis!) and dedicated one of the SH-2 processors to just mixing together samples to make engine noises. Part of that was because the ROM cartridge memory bus was slow, so anything that didn't fit in the 4K byte CPU cache would access the ROM for instructions and slow down. Thus multithreading anything complex would make things too slow (I vaguely recall that we had tried alternate scan line multithreaded rendering, using the 2 CPUs that way, and it was a flop). So just mixing sound samples was useful and not too taxing of the memory bus.
I had fun one half day trying to prove that you could beat the game on expert level (yes you can, once you learn the location of every obstacle on the track). That's the drawback of a small games company; for most projects the schedule is short so once the game is ready, it ships without the opportunity to actually play the game yourself.
Most of my involvement was road rendering, bike "physics", track encoded AI, library code and data pipeline changes for true colour, and various other odds and ends (including crawling under desks for coaxial cable 10 megabit ethernet installation) in a team of 4 coders and a few artists. Michael Stevens and team leader Chris Chan did the bulk of the Mars specific work (working on things like getting communications going between the 68000 and the SH-2).
Not too bad, though it's a bit of a design flaw to have dual 32 bit processors bottle-necked so much by the slow ROM memory bus. For us, it was mostly an easy to use bitmapped display and a fast enough CPU to draw into it (I think the 3D hardware only did solid colour polygons, so we didn't use it). 32X was obsolete almost immediately, with the PS1 and the Saturn appearing soon after.
I'm more annoyed at the 3DO M2 failure. Under the hood the 3DO had quite an amazing OS, a lot like a sequel to AmigaOS, very enjoyable to program (we had a dev system for a short while), pity it vanished.
All of those are stories of upgrading technology, and how companies either handle it or fail. 32X was a lesson future game console makers learned well.
- Alex