3D Game Engines - Pre Hardware Acceleration

As part of a discussion in class on 3D rendering, we were asked about some existing 3D engines that we may already have heard of or used. Rather than examine current engines that may be potential contenders for serious projects, I've decided to run through some older engines and their successors that have had an inspirational impact on me personally. It's worth mentioning that since engine development is my chosen niche, I tend to find myself leaning away from third party engines. However those listed here are all ones that I have a strong appreciation for, having either used or at least tinkered with. In particular those that pioneered the early days of 3D gaming, at a time when I had just started programming during my younger years.

In chronological order, I'll begin with a game. Games are in essence the spawn point of a game engine, aren't they? Not always, titles such as Unreal and Unreal Tournament were built to showcase the their engine, not the other way around. The three other types of engines that I have identified are those built for a specific game and nothing else, those built for a specific game although not restricted to only that game and those that are game independent, often classifiable as a tool or framework. The line between the latter two can be blurry at times as modern engines developed for specific games are intentionally versatile enough to be used in other projects.

Wolfenstein 3D
The first and most nostalgic for me is the engine behind Wolfenstein 3D. While not a "true" 3D engine, the ability to render simple scenes with perspective on a limited 286 processor was astonishing at the time, achievable using a technique known as ray casting. id Software had already experimented with ray casting in their previous but less popular title, Catacomb 3D which used a slightly different algorithm based on line rasterization. The Wolfenstein 3D engine was later modified and used in other popular titles such as Blake Stone 3D and Rise of the Triad.


Wolfenstein 3D - id Software, 1992.


Blake Stone 3D - JAM Productions, 1993.


Doom
Following the success of Wolfenstein 3D, id Software kept pushing the limited computing power of the early 90's with Doom. Although still not a true 3D engine, the addition of sector based maps allowed for walls of any angle provided that they were perpendicular to the now textured floor and ceiling. The reason that Doom was able to run so fast on even a 386 processor was the fact that it made use of binary space partitioning or BSP, a technique used by id Software for many years.


Doom - id Software, 1993.


BUILD
Given its superior technical prowess in comparison to other engines of its generation and the primary rival of Doom, I felt it was worth mentioning. The BUILD engine was written by then university student, Ken Silverman. Most well known for powering games such as Duke Nukem 3D and Blood. While also not considered true 3D, it was by far the closest to achieving such an illusion. The engine allowed for sectors with varying heights and the ability to look up and down, albeit in a limited fashion. The name BUILD was chosen after the folder name given by Silverman during development.


Duke Nukem 3D - 3D Realms, 1996.


Quake
The Quake engine by id Software was their first true 3D engine, later featuring 3D hardware acceleration. Like Doom, Quake used BSP trees to traverse the world during rendering and introduced a special map system, this involved taking a level built using simple convex shapes known as brushes and identifying the space inside and outside before discarding the latter. Alongside regular light sources, Quake used lightmaps for its static lighting and shadows. Lightmapping is a precalculated step that "bakes" lights into the world as textures before rendering.


Quake - id Software, 1996.

Comments

Popular Posts