The Exigent Duality
3DO Hardware Tidbits - 10:57 CST, 4/18/15 (Sniper)
I've been chipping away at these videos, taking notes along the way-- and I've finally finished them all!

Coolest game-related hardware of all time, according to me, and in order:
  1. Commodore Amiga
  2. 3DO
  3. Atari Lynx

If not anything else, these videos have reaffirmed the 3DO's position on that list. Here are some notes, compliments of ewhac and gammadev, specific to the 3DO's hardware:

  • The 3DO used quads instead of triangles. Triangles wound up being the winning paradigm over time, but quads were demonstrably superior to triangles on hardware that did not support perspective correction. For example, notice how 3DO games have a lot less "texture wobble" than PSX titles, a fact with is especially obvious on games that had ports for both platforms, such as PO'ed.

  • The 3DO supported arbitrary bit color depths, and arbitrary dimension textures. This gave developers the flexibility to totally maximize the 3DO's megabyte of video RAM, with the best looking art "assets" possible.

  • Continuing on from that previous bullet: PSX ports of 3DO games almost always looked way worse than the 3DO versions. Why? Well, let's take PO'ed just as one example: the 3DO version had 5-bit textures, which the PSX couldn't do. Moving up to 8-bit textures on the PSX caused them to run out of VRAM; so, the PSX version of PO'ed uses 4-bit textures. And this is just one example; same thing applies to many, many other games-- and the same principle was at work with texture and sprite resolutions as well.

  • Continuing on again: lots of PSX ports ran at slightly higher framerates than their respective 3DO versions-- to the tune of 24 fps, versus 20 let's say. But that wasn't because of the PSX's superiority-- that was because the PSX port had been "dumbed down"; if they would have back-ported those changes to the 3DO, it would have been at least as fast.

  • I'm not totally clear on this point, but gammadev explained something to the effect of, the 3DO hardware could compress/decompress art "assets" in VRAM-- something the PSX couldn't do.

  • The 3DO's CPU was created from a cloned ARM60, with some custom instructions bolted on. Aside from the Ouya, the 3DO is the only ARM-based console ever. Ewhac was explaining that the 3DO's processor could do integer multiplies super fast, which was a key thing that he and other game developers made strong use of. He said coming from the Amiga 3000, the 3DO was delightfully fast.

  • The 3DO interpolates all output to 640x480-- or, 480i of you prefer that nomenclature. This versus the PSX and Saturn, which only did 320x240 output-- or, 240p. This is why 3DO games look so sharp compared to PSX and Saturn titles. It's also why 3DO looks so much better on modern HDTV sets than either of those two competitors-- the 3DO already is outputting a signal that the HDTV can natively understand without any conversion.

  • The 3DO sound chip was at at least a full decade ahead of its time; gammadev, who has been continuously in game development since the 1980s and is currently writing PlayStation 4 and Xbox One software, explained that it wasn't until the PlayStation 3 that he encountered a soundchip as robust as the 3DO's.

  • Continuing on from the previous point: he told a story about how the guy who designed the 3DO's DSP gave an internal demo to the developers, where he made an absolutely perfect helicopter sound using zero sound "assets" whatsoever-- "well, you just apply this oscillator, then this filter, then this oscillator, then... viola!", all in code. This is a personal observation, but it's related to the sound chip: the 3DO also produces the cleanest audio signal of any analog audio-based system I've ever owned, which has been pretty much all of them.

  • The 3DO had two graphics coprocessors, which together made up what was coined the "Cel engine." The Cel Engine was essentially a fixed-rendering pipeline, with which you could apply a huge array of special effects. Ewhac explained that you would create a linked list of "assets" for a given frame, set the "last" bit on the last item in the list, then assign the Cel Engine's 32-bit pointer to the first item in the list, and say "go!"

  • Some developers, like John Carmack, didn't like the fact that you couldn't write "to the metal" code on the 3DO very easily or safely. But to the average game programmer, the fixed pipeline let developers do incredible things, right out of the box. Porting to other platforms, like the PSX, was very difficult-- "ok, the 3DO version was dynamically blending six sprites over the top of each other, in hardware-- how the hell do we replicate that on the PSX?" And on top of that, the abstractions allowed hardware makers to take some liberties with the 3DO implementation. For example, the Goldstar, Panasonic FZ-1, and Panasonic FZ-10 models all had totally different optical drives-- but because it was abstracted away, game compatibility could be maintained.

  • Continuing on that last point: there are a few games which don't work correctly on the Goldstar model. This is because the developers of those games hacked around the CD abstraction layer! Hence, the advantages of a fixed, "API"-based approach become manifest; if 3DO hadn't designed things that way, compatibility across models would have been a total mess.

From a development standpoint, the only thing that really hurt the 3DO were the development tools; they only ran on Mac OS, and one of them-- a 3DO pixel painting program, which I gather was used to convert and clean up art "assets" into the correct, Cel Engine-compatible format-- crashed almost constantly.

Then again, it at least had a complete set of tools; Gammadev was explaining how someone at 3DO had made a tool which sorted assets into a logical sequence on the disc, to minimize seeking. Well, Sony didn't have an equivalent tool until the PlayStation 4! He said what developers such as himself would do, even for PS3 development, was load all of the assets into Microsoft's Xbox 360 sorting tool, let that sort the files, then use that sequence to stamp the PS3 discs. They would do this even for games that didn't even have 360 versions!

The other funny Sony anecdote was this: with the 3DO, dynamic streaming off the disc was a piece of cake-- natively supported in hardware via the APIs. You can see it in tons of games like Need for Speed, or Immercenary. With the PSX however, you had to "roll your own" streaming code, and by launch, no one had figured out how yet. So launch-window PSX games, like Ridge Racer, had to fit entirely in memory!

How Sony went on to take over the world is totally beyond me (answer: good marketing!).

In the 4DO emulator, you can crank up the emulated clock speed of the 3DO's main processor. At double the clock speed-- so, 25 MHz instead of 12.5-- even games like Killing Time run at 60 fps. So far as I can tell, there are barely any compatibility issues from doing that either. Makes me wonder whether they could have released a "3DO M1.5" in 1995 or something with a faster CPU, had the platform sold more units. Would have smoked the pants off the PSX!

The other aside in all of this, and going back to my "coolest hardware of all time" list above-- all three platforms that I listed were designed by the same tag-team of Dave Needle and RJ Mical. Incredible.