Doom to Dunia: A Visual History of 3D Game Engines
Doom might arguably be the most memorable (or at least the most popular) PC game of all time, and with good reason. Prior to Doom's release, programmers found themselves in the stone age of game development. For the most part, building a game meant starting from scratch and compiling all new code, but like the invention of the wheel, the advent of the game engine forever changed the PC gaming landscape.
Now, we know what you're thinking, and we're well aware that game engines existed prior to Doom's release in 1993; we're even going to cover some. But it was id Software's now legendary first-person shooter that pushed reusable 3D game engines as a viable programming model, and videogame development has never been the same since then.
On the following pages, we look back at all the major PC game engines and what made each one special. As a prerequisite, be sure to check out our history of 3D graphics, which covers videocards from the Voodoo to the GeForce and everything in between. Once you've digested these two features, you're guaranteed to have a new-found respect for gaming on the PC!
Space Rogue / Ultima Underworld
What would eventually morph into the Ultima Underworld engine started off several years prior as the Space Rogue engine, named after the sci-fi game with the same name released in 1989. Naming a game's engine after the game itself is a practice that, to some extent, lives on today.
After releasing Space Rogue, Origin Systems began work on Ultima Underworld and its accompanying engine. After a bit of work, an algorithm was developed that allowed for texture mapping, which was applied to walls, floors, and ceilings. The development team would add varying height throughout the map for a 3D effect, as well as inclined surfaces.
NPCs consisted of two-dimensional sprites, but objects were rendered in 3D. This, along with the use of physics to create movement, bogged the engine down. This led to Ultima Underworld running slow even on higher-end 486DX systems at the time, though system requirements called for a 386-based PC.
Date Released: 1990
Notable Games: Space Rogue, Ultima Underworld:The Stygian Abyss
Doom / id Tech 1
Id Software's Doom engine wasn't actually a true 3D engine at all, but a very well conceived two dimensional sector-based engine with 2D sprites representing objects, characters, and anything not tied down to the map. Because of this 2D limitation, rooms could not be stacked on top of one another, but this also allowed for faster rendering on the less powerful hardware of the time. All that was needed to run Doom was a 386 level PC (in low-detail mode) with a standard VGA videocard capable of rendering texture-mapped environments.
Despite the underlying 2D nature, Doom was, and still is, considered a 3D title. Id created the illusion of 3D with height differences added separately to the environment, and later titles built around the Doom engine would even implement the ability to look up and down, albeit with a distorted view.
Date Released: 1993
Notable Games: Chex Quest 1+2, Doom, Doom II, HacX, Heretic, HeXen, Strife
Voxel
Every Comanche game ever made was constructed with some form of NovaLogic's proprietary Voxel Space engine, while several other games implemented voxels for specific parts, like rendering vehicles or in-game items.
A combination of the worlds volumetric and pixel, a voxel is a way to represent volumetric objects as three dimensional bitmaps rather than vectors. Think of a stack of legos with each piece representing a voxel, and you get an idea of how the Voxel Space engine rendered terrain. Only these were really 2D bricks with varying height. By rendering terrain this way, graphics were more smoothly contoured and detailed than other flight simulations using vector graphics, along with offering smoother gameplay.
Date Released: 1992
Notable Games: Blade Runner (characters and artifacts), Comanche series, Command & Conquer: Tiberian Sun and Command & Conquer: Red Alert 2 (most vehicles), Delta Force series, Master of Orion III (space battles and solar systems)