What is Doom engine?
The '''Doom engine''', sometimes called '''ID Tech 1''', is the computer code behind the video game [[Doom]]. It is also used by several other games, including [[Doom 2]] (but not [[Doom 3]], which has its own engine). Heavily modified versions of the Doom engine are used in Heretic, Hexen, and Strife. Early versions of the Doom engine were known as the Doom Operating System, although this is not the typical use of the term [[operating system]]. The Doom engine uses a technique called binary space partitioning to represent 3D levels in a way that a computer can process quickly. It is written mostly in [[C (programming language)|C]]. The [[source code]] has been released for free under the [[GNU General Public License]]. Many Doom fans have made their own modified versions called source ports. Source ports often add new features and fix problems in the original engine. Popular source ports include Boom, PrBoom, PrBoom+, Zdoom, and Chocolate Doom. The Doom engine represents levels internally using structures called [[line]]defs, [[side]]defs, sectors, [[Point (geometry)|verticies]], and things (meaning monsters, items, decorations, etc.). The doom engine reads levels and other data from a file called a WAD. The Doom engine renders levels entirely on the [[Central processing unit|CPU]], not the [[video card]], as most video cards at the time (1993) did not have 3D acceleration. This required very efficient [[algorithm]]s to make the game work on the slow computers of the time. The Doom engine has been made available for more types of computers than any other [[first person shooter]] engine. It is easy for a [[programmer]] to make it work on a new type of computer because it is written in C and it uses very few system resources, allowing it to run on handheld computers and computers without a 3D accelerator. [[Category:Game engines]]