The Doom Game Engine Part 1

Today I'm going to start discussing the Doom game engine, also known as id Tech 1. One quick thing I should mention too is that I will be starting college again soon. So, I'm probably only going to be doing shorter posts every day, or I'll do a couple of posts a week from now on.

id Tech 1 was written by John Carmack, with an initial release in December, 1993. The engine was used to make the games Doom, Doom II, Heretic, Hexen: Beyond Heretic, Strife: Quest for the Sigil, and a few others.  

While the engine appears to render a 3D space, the space is actually projected from a 2D floor plan. The player's line of sight was always parallel with the floor, and the walls had to be perpendicular to the floors because of how the engine would construct these 3D environments from a 2D projection. Thus the Doom engine wasn't exactly "3D", as the player couldn't look up or down at all. This meant that the engine could NOT be used to create multiple floors stacked on top of one another (i.e. it didn't support room-over-room) and it couldn't have sloped floors/ceilings either. However, id Tech 1 was revolutionary for its time because it had the ability to provide fast texture-mapped pseudo-3D environment on modern hardware at the time! 

Because the engine really projects from a 2D floor plan, the engine itself contains a super helpful "map mode", which represents a grid-like system for seeing a birds-eye view of the level you're currently editing; this allows the user of the engine to make simple edits and easily see the player and walls of a given room or area of the level (also known as "sectors").

Doom engine "Map Mode" (level editor) viewRetrieved from https://en.wikipedia.org/wiki/Doom_engine#/media/File:Doom-map-format-map.svg

Doom engine "Map Mode" (level editor) view

Retrieved from https://en.wikipedia.org/wiki/Doom_engine#/media/File:Doom-map-format-map.svg