GameTales: Cray YMP

At id, we were always looking for a better way to develop our games. In the beginning we developed games for DOS machines on DOS machines. In 1991, John Carmack investigated the NeXTSTEP operating system, and decided that cross-development on a superior platform would result in a better game and a better development experience. We all converted over to NeXTSTEP at the end of 1992, after Spear of Destiny.

Because we were developing on such powerful machines in an amazing operating system, development of Doom went faster than normal. The level editor that I wrote, DoomEd, was far beyond anything that ever appeared on DOS, even in the years after Doom's release. We could run Doom in a window and debug its code right alongside it in SuperDebugger. It was bliss.

While developing Quake, we continued to use NeXTSTEP and we upgraded our machines to faster ones with Intel processors and a couple with PowerPC's in them. NeXTSTEP could run on about 4 chip architectures back then and compile code for all of them so we could run QuakeEd, for example, on an Intel-chipped NeXTSTEP machine even if it was developed on a 68000 chip machine.

Simply put, NeXTSTEP was awesome for many years and nothing could touch it. That remains true today after NeXTSTEP's transformation into OS X.

During Quake's development, John Carmack started thinking about what might be better than NeXTSTEP. The idea of the entire development team working inside the same machine seemed pretty interesting. The machine would be insanely fast, so it would have to be a supercomputer for all of us to work on it at once. That means it would be able to crunch whatever crazy data we needed to create our upcoming worlds.

John decided that a Cray YMP supercomputer would be pretty cool to check out and see if we could all move over to it. Each person would have a hardware interface board that had keyboard and mouse inputs with video output on it. We would route all the cables to our desks and all be working together inside a Cray supercomputer.

We started getting pretty excited about the idea, so Jay Wilbur contacted Cray to see about getting a deal on a YMP. Jay got them to agree to sell us one for $500k if we put Cray supercomputers inside Quake, somewhere in the environment, possibly all over the place if it made sense.

John and I were all for this idea, so we said, "Let's do this." and I started experimenting with how a C-shaped Cray would look inside Quake. How it needed to be lit. How big it should be. What kind of textures we should use. Where it would go, and why it would be there.

I thought that powering the slipgates would probably require a supercomputer. So I should probably have a Cray connected to every slipgate, since the military-themed areas are supposed to be modern day settings.

After getting settled on the idea, and thinking the Crays would only be in select areas, disaster struck.

Cray was bought by SGI, Silicon Graphics, Inc., in February 1996.

All pending deals were canceled; our supercomputer dream crushed.

I changed the Quake slipgates to be smaller and simpler than the Cray-powered versions. As an homage to the Cray Dream we had, I put a roomful of computers in my only deathmatch map, The Abandoned Base, DM3.

Shortly after I released Quake on June 22, 1996, John decided that developing on Windows 95 was the way to go. His first project was porting QuakeEd over to Win32. I left id on August 6, 1996.