A series of game engines known as id Tech is a series designed and developed by id Software that is part of the ZeniMax Media Inc. First few engines of the series i.e. 1, 2, 3, and 4 have been released as free software under the GNU General Public License.
Here is a video showing a ‘tour‘ of the id Software office made in 1993 while the team was developing the Doom and another one showing postmortem of the game in 2011. If you are interested to know more about this series of game engines then “Masters of Doom“ is an excellent archetypal tale of Lennon and McCartney of Video Games: John Carmack and John Romero.
id Tech 1– Doom Engine
Id Tech 1 also named as Doom engine is a 2D game engine developed in id Software. It is written in C language and Assembly. It is the first engine of long series of “id Tech engines” developed by id Software. The engine is developed by the senior programmer of id Software John Carmack.
The first game of the engine was Doom released in 1993. The engine has many versions and the last version 1.9 was released in 1995. The source code of the engine was released in 1997 for non-commercial use. Later it was released again under GNU General Public License. Basically it is a game whose executable parts are available as a starting point for another game. This concept is quite similar to a modern game engine except that it does not give a definite core separated from the game separated rules. Plus it lack higher hardware abstraction that is a mandatory in a modern engine.
Although the engine renders 3D space but the space is projected from a 2D floor plan (top view).
The engine is used to develop games either by the engine itself or by slightly changing the original game. Since Doom source code was publicly released by id Software, a large number of Doom “source ports” have been created by programmers, who have extended the code, adding new features and removing some of the limitations of DOS. Some of these efforts of the modern Doom source ports are truly impressive pieces of work.
- Renders in VGA 320×200 256 colors
- 2D Sector-based maps
- Sector Lighting
- Top-Down Automap Feature
- Automatic Remapping of Sprite Colors
- Stereo Audio Support
- Adlib OPL2 FM Sound
Games Developed in id Tech 1
id Tech 2 – Quake / Quake II- Pioneers of 3D Environment
Quake engine (id Tech 2) is a real time 3D rendering engine developed by id Software. It was developed for the first person shooter game Quake that was released in 1996. It ran on the platforms of DOS, AmigaOS, Microsoft Windows, Linux, Nintendo 64 and Sega Saturn. Later, after 18 months, this engine was forked to develop the engine Quake II. The sequel game Quake II was developed on this engine. It targeted the platforms of Microsoft Windows, Linux, Macintosh, Amiga, Nintendo, Xbox and PlayStation 2. These two engines are factually different but termed as versions of id “Tech 2” by id Software. Both the engines are written in C and Assembly language by the efforts of John Carmack. The most recent version of Quake II was released in 2001.
Quake had an immense influence on the gaming industry. On 1999, John released the source code of the engine over internet under GPL license and it was used by a large number of developers to create new engines. Some of the famous engines other than Quack II and Quack III, are GoldSrc (predecessor of Source Engine), Twilight Engine, vKEngine, DarkPlaces, Telejano, Tenebarae and Tomaz Quak.
QuArK (Quake Army Knife) is an open source program used to develop 3D assets for Quake and similar engines. It runs on Microsoft Windows. Moreover “Jake2” and “vkQuake2” ports are two very useful ports of Quake II. Id Tech 2 was one of the first engines to support 3D hardware acceleration. John Created VQuake to support the graphic chip Vérité 1000. Quake also incorporates Cooperative and deathmatch multiplayer modes over LAN or internet.
“It also supported (and created the demand for) 3D graphics cards, which rapidly became the most expensive component of any PC. Finally, one of its most important elements was the QuakeWorld add-on that supported multiplayer in both co-op and deathmatch; though Doom had supported this over modems, it didn’t become normalized over the Internet until Quake.”Dan Griliopoulos – Freelance Tech Journalist
- Map Editor
- Skybox Texture
- Reflection Rendering
- Vertex Editor
- Sphere Mapping
- Light Maps
- 3D Light Source
- Depth Buffering
- Dynamic Link Libraries
- Binary Space Partitioning
Games Developed in id Tech 2
id Tech 3- Quake III
Id Tech 3 also called Quake III, is an open source, 3D game engine that is successor of id Tech 2. It was developed by id Software for the multiplayer first person shooter game Quake III Arena in 1999. The engine is written in C but major part of the engine was rewritten in C++. It supports the platforms of Windows, Mac OS, Linux, iOS, Android, Nintendo Switch, PS2, PS3, PS4 Xbox and Xbox 360. At QuakeCon 2005, John Carmack announced that the engine will be released for public under GNU license. And the source code of the engine was released on December 2005.
Id Software has honor to produce the most influential gaming engines in the history. The company dominated the gaming industry for a long time but for the first time, Id Tech 3 faced real competition with Unreal. Id Software put full effort to make id Tech 3 a tough competitor. Most of the code was scraped and new impressive features were added like advance shaders, curved surfaces and special effects were added. Both of the engines were heavily licensed and this competition was a draw.
In order to add more advanced graphics and audio effects and to remove bugs from Quake II engine, ioquake3 was released by id Software. This opensource game engine is based upon quake 3 and incorporates SDL (Simple Direct media Layer) and OpenAL and allows everyone to modify the source code.
“I must say, together with Wolfenstein: Enemy Territory, OpenArena, Nexuiz, Unreal Tournament 2004 and Tremulous, ioQuake3 is still one of the most popular shooters out there for Linux. Of course, there are Quake 4 or ET: Quake Wars too, and while the first gets less attention now probably than even Quake 3, the latter is very active and servers are usually full of players. But they both seem to miss something from the awesomeness of the older, classic games. It may be because Quake 3 (together with UT) were probably once the defining shooter games, with few rivals at that time”TuxArena Blog
- Advanced Shaders
- Curved Surfaces
- 32 bit colors
- Special effects
- Bleeding edge
- Smooth and speedy hardware rendering
- Dynamic shadows
- Virtual machine
- Volumetric fog
Games Developed on id Tech 3
id Tech 4 – Doom 3 Engine
id tech 4 is a cross-platform, open-source, 3D game engine written in C++. Also known as Doom 3 Engine, it was developed by Id Software, Inc. It targets the platforms of Windows, Linux, Mac OS, and consoles PS3, PS4, Xbox, Xbox one, Xbox 360 and Nvidia Shield. This engine developed by John Carmack in 2011. John also developed the engine versions id Tech 1 (known as Doom) and Quake (predecessor of id Tech 2) engines. Id Tech 4 was released as open source code on Github. It is licensed under GNU General Public License.
The first version of the engine was an adaptation of id Tech 3 (or Quake 3) engine. During the development id Tech 4 was converted from C to C++ language and most of the code was rewritten. Its development was started in 1999 and it took so long that its first game, Doom 3 was released in 2004.
The main technological advancement if the game was its unified Lighting and shadow technology. This saved developers to pre-render map lighting and save a lot of time. Besides, the MegaTexture technique was also a major contribution that enable developers to use high resolution textures instead of texture tiles on terrains.
The engine has its own comprehensive scripting language for creating mods and for controlling monsters and events. This scripting language is very similar to C++. It also introduced a scripting language specified for GUI (menus and status bar). Despite of these scripting languages, one can use C++ for modding etc.
In some ways, I still think the Quake 3 code is cleaner, as a final evolution of my C style, rather than the first iteration of my C++ style, but it may be more of a factor of the smaller total line count, or the fact that I haven’t really looked at it in a decade. I do think “good C++” is better than “good C” from a readability standpoint, all other things being equal.John Carmack
- Normal Mapping And Specular Highlighting
- Dynamic Per-Pixel Highlighting
- Unified Light And Shadows
- Skeletal Animation
- MegaTexture Rendering Technology
- Virtual Texturing
- Shadow Volume
- Scripting Language
- Openal Sound Renderer
Games Developed in ID Tech 4
id Tech 5 – The First Person Shooter Engine
id tech 5 is a cross-platform, 3D, proprietary game engine. It was developed by Id Software, Inc. a major advancement in id Tech 4. The engine is written in C++, AMPL, Clipper and Python. It targets the platforms of Windows, Linux, Mac OS X, and consoles PS3, PS4, Xbox one, Xbox 360. It was developed by John D. Carmack, who also developed the engine versions, id Tech 1 (known as Doom), Quake (predecessor of id Tech 2) and id Tech 4 (Doom 3) engines.
This engine was first demonstrated by John in 2007 at WWDC (WorldWide Developers Conference). The first game developed on id Tech 5 was Rage by id Software, and was released in 2011.
Unlike its previous versions (Tech 1, id Tech 2, id Tech 3, id Tech 4), all of which were licensed under GNU General Public License, this engine is not open source. In 2007 at QuackCon (Yearly celebrated Convocation for the franchises of id Softwares owned by ZeniMax Media), John D. Carmack announced that id Tech 5 will also become open source eventually. But he resigned in 2013 and no open source code of the engine is released yet, even that id Tech 6 has been released in 2016.
Id Tech is famous for its massive licensing to Third party developers including Splash Damage, Gray Matter Interactive, Infinity Ward and Electronic Arts. But in 2010, CEO of id Software Todd Hollenshead announced that id Tech 5 will not be licensed to external developers. Its license will be used only within ZeniMax Media (an American Video Game Company). MachineGames was the first internal developer of the ZeniMax to use id Tech 5.
The engine used advance MegaTexture approach called virtual texturing. It can support texture resolution of upto 128,000 x 128,000 pixels. Using this technique, textures can automatically be streamed into memory as needed, so developer does not need to worry about memory constraints. This technique can optimize resources for cross-platform development and one model created for a platform can be used to render models for different platforms. Thus cross platform development is easy in this engine.
- Virtual Texturing MegaTextue
- Penumbra Shadowing Renderer Using Shadow Maps
- High Dynamic Range Rendering- Centric Effects
- Crepuscular Rays
- Soft Particles
- Pixel Shade Coverage
- Cloth Simulation
- Procedural Animation
- Dynamic Water Surfaces
- DOP (Depth Of Field)
- Real Physics
Games Developed in id Tech 5
Id Tech 6
id tech 6 is a multiplatform platform, 3D, Proprietary game engine written in C++. Also called id Tech 666, it was developed by Id Software, Inc. it is a successor of id Tech 5. It targets the platforms of Windows and consoles PS4, Xbox one and Nintendo Switch. The vision of the engine was announced by John Carmack in 2011. But he departed id software in 2013, so Tiago Sousa was hired as lead renderer programmer to carry on the engine development. Tiago was leading R&D Graphics Engineer of CryEngine at Crytek.
The new engine id Tech 6 was released in spring 2016. It was first employed in Doom 4 (later called Doom), by id software. In 2010, CEO of id Software, Todd Hollenshead announced that id Tech will not be licensed to external developers. Its license will be used only within ZeniMax Media. Thus MachineGames was the first internal developer of the ZeniMax to use id Tech 6.
Doom 4 was first started to be built upon id Tech 5 but later Bethesda showed some concerns related to its creative and technological aspects. Its development was restarted by merging the features of id Tech 5 based Rage and Doom. It was first shown to public at QuackCon 2014 and was based on first version of id Tech 6.
While the engine was mainly developed by reusing the code of John Carmack, most of the decisions were made by Tiago Sousa, after John left. This engine still uses MegaTexture approach of Virtual Texuring but of higher quality. On July 2016, the update of the engine was released that supported Vulkan API.
- Motion Blur
- Field Of Depth
- HDR Bloom
- Shadow Mapping
- Light Maps
- Irradiance Volume
- Image Based Lighting
- FXAA(Fast Approximate Anti-Aliasing)
- Volumetric Light And Smoking
- Destructible Environment
- Water Physics
- Skin Sub-Surface Scattering
- SMAA (Subpixel Morphological Anti-Aliasing)
- Directional Occlusion
- Normal Maps
- Chromatic Aberration
- Unified Volumetric Fog
Games Developed in id Tech 6
Id Tech 7 – 10 times higher geometrical details
Id tech 7 is a multiplatform platform, 3D, Proprietary game engine written in C++. It was developed by Id Software, Inc. and is a successor of id Tech 6. It targets the platforms of Windows and consoles PS4, Xbox One, Stadia Google and Nintendo Switch. The engine was first demonstrated at QuakeCon 2018 with the display of Doom Eternal. Doom Eternal was released worldwide in March 2020. And its lead Programmer was an American Developer, Billy Khan.
Id Tech 7 features 10 times more geometrical details as compared to id Tech 6. It can display greater texture fidelity that id Tech has ever put on screen. Moreover it introduces the feature of Destructible Demons by which player can blast off chunks of armor and flesh from enemies’ bodies during combat.
One of the major contributions to the engine is use of Vulkan Graphics API. It makes creators work faster and more efficiently. Now there are constantly changing worlds seen in the game. The engine provides much higher resolution textures. With the removal of megaTextures, developers can more easily make changes, combine layers and make more assets.
- Unified HDR lighting and Shadow
- Full HDR Support for PS4, PS4 Pro, XB1S, XB1X and PC
- Enhanced global illumination
- Improved motion blur, antialiasing and post-processing effects
- Improved LOD(Level Of Details) system
- Occlusion culling
- Improves image streaming
- Less level loading time
Games Developed in id Tech 7
Some Useful Resources
- Id Software Official Page: https://www.idsoftware.com/
- Id Tech 1 Source Code: https://github.com/id-Software/DOOM
- Id Tech 2 Source Code: https://github.com/id-Software/Quake-2
- Id Tech 3 Source Code: https://github.com/id-Software/Quake-III-Arena#readme
- Ioquake3 Source Code: https://ioquake3.org/
- Id Tech 4 Official page: https://doomwiki.org/wiki/Id_Tech_4
- Id Tech 4 Source Code: https://github.com/id-Software/DOOM-3
- Id Tech 4 Reference Material: https://web.archive.org/web/20051106040328/http://www.modwiki.net/wiki/Main_Page
- Id Tech Online Virtual Stem Camp: https://twindollicious.com/id-tech-online-virtual-stem-camp/
- Chocolate Doom-Source Port: https://github.com/chocolate-doom/chocolate-doom
- Id Tech 7 Wikipedia: https://en.wikipedia.org/wiki/Id_Tech_7