f2 X icon 3 y2 steam2
 
 Search find 4120

The History of Technology - id Tech Engine

GENERAL INFORMATION ABOUT TECHNOLOGY

 IDtech logo

Developer: id Software.
Engine series: id Tech.
Announced date:  1992
Written in language:  C/C++, Assemble.
License: Commercial/Free Software
Latest version:  id Tech 6. 

Let's start with the prehistory, with the engine that laid the foundation for the creation of modern games, namely the Wolfenstein 3D engine. The Wolfenstein 3D engine is a pseudo-3D engine, which means that the graphics of the Wolfenstein 3D engine try to simulate a 3D game space, but are not 3D. The engine was developed primarily by John Carmack, chief programmer at id Software, for Wolfenstein 3D, released on May 5, 1992.

 Wolf3D-001 

For its time, the engine had the most revolutionary technologies and capabilities, but was the most optimized for low system requirements and any gaming hardware of that time. 

 

FEATURES  Wolfenstein 3D engine

 

All objects in it are displayed as sprites - two-dimensional drawings that change size depending on the distance. Sprites have been used in all 2.5D engines and early 3D games such as the BUILD-engine and DukeNukem3D, Shadow Warrior, Exhumed and Redneck Rampage. This is due to the fact that the use of sprites instead of textures reduces resource consumption.

Wolf3D-002

Raycasting is used to cut off invisible walls and their faces. Raycasting is a technology that analyzes and displays the 3D position on a 2D screen in real time, taking into account the distance from the sides.

Wolf3D-003

The engine also implements VGA graphics, textured walls, and the ability to use a sound card instead of the built-in speaker.

 

LIMITATIONS of  the Wolfenstein 3D engine

 

Most of the limitations of this engine were due to the fact that the game map was placed on a two-dimensional grid, i.e. was actually two-dimensional. Vertical movement was also impossible. A special performance created the illusion of three-dimensionality. This is how the concept of 2.5D engines appeared. It does not support the difference in geometric height, differences in illumination. Walls can only be oriented as "north-south" or "west-east". The engine also eliminates the presence of inclined surfaces.

Wolf3D-006

An interesting fact - according to John Carmack, the game engine was inspired by the technology demo of the first-person computer role-playing game Ultima Underworld: The Stygian Abyss in 1991. Carmack claimed that he could create a faster renderer, in which he succeeded. 

 

id Tech 1 ENGINE 

 

id Tech 1 is an engine developed by the American company id Software and used in computer games Doom, Heretic, HeXen, Strife, HacX and other games created under license. It is also a pseudo-3D engine, but this time the emphasis in development was not on the speed of the engine, Wolfenstein 3D engine became the basis that needed to be finalized. Originally written on NeXT computers, Doom was then ported to DOS for its first release, and later to several other game consoles and operating systems.

doom-004

 

 ENGINE FEATURES


Let's immediately move on to the features of the engine and its differences from the predecessor Wolfenstein 3D engine. Firstly, the floor and ceiling can now have any height and the orientation of the walls is not necessarily in the direction of "north-south" or "west-east". There was a changing illumination, increasing the realism of the graphics.

 

doom-003

Elevators, remote opening doors, lowering and pressing down ceilings, rising steps and other moving elements. The introduction of technologies that allowed you to move in height, which had a positive effect on the gameplay. Characters could now jump, fall from rooftops, and fly through the air.

doom-002

The sound subsystem supported stereo sound and mixing up to 8 effects simultaneously. Stereo sound made it possible to reproduce sound from different directions from the player, thereby increasing the realism of the game.

doom-001

The character swayed up and down while moving, which created the illusion of walking. It was allowed to connect additional modules with levels, graphics and sounds. The idea of ​​extensibility came from John Carmack, who modified games himself and wanted others to do the same.

 

DISADVANTAGES OF THE ENGINE 

 

The labyrinth (level map) has a horizontal floor with a ceiling and vertical walls. The labyrinth was created in such a way that two rooms cannot be one above the other. Thus, the level map is completely two-dimensional.

id-tech-1-doom-001

The flaws in the height movement system created a lot of inconsistencies and bugs in the gameplay, for example, the platform could only move up and down without the ability to move left and right. Throughout the game, the scale of sprites and textures is constant. Therefore, it was not possible to install a highly detailed poster on a less detailed wall. The authors have not worked out the vertical collisions of objects. Therefore, the Irok could not run under a flying cacodemon or, having accelerated on some roof, jump over a torch.

id-tech-1-doom-002

The game didn't do any other checks on the z-axis either - for example, an imp prowling in the basement could well damage a player a couple of hundred meters higher in the attic, and a rocket that exploded at the base of the building would deal damage to a monster on the roof. The player could use switches regardless of height.

 

 

 

The special structure of the level required drawing the entire level before launching it. Assembly is automatic - on computers of that time in less than a minute, however, this made it difficult to view the level in real time right during editing. In addition, binary partitioning divided the walls into "segments" - this complicated the geometry of the level. This partition is called a BSP tree (Binary Space Partition) and is used for collision detection and sorting visual objects in order of distance from the observer.

id-tech-1-doom-003

For the same reason, elevators and platforms can move up and down, but not in a horizontal plane. The limited horizontal movement in Hexen was no match for the power of the Duke Nukem 3D trailers. The texture height, if repeated vertically, should always be 128 texels. This is not required for non-repeating textures. Fixed in numerous ports of Doom.

 id-tech-1-doom-004

 

SYSTEM REQUIREMENTS FOR id Tech 1 ENGINE

 

Minimum system requirements Effective system requirements Optimal system requirements
Processor:  Pentium Pro
RAM:  32 MB RAM
Video:  2 MB
Operating systems:  DOS
Processor:  AMD Athlon   or  Pentium II 
RAM:  64 MB RAM
Video:  8 MB
Operating systems:  Windows 98SE/2000/XP 
Processor:  AMD Athlon   or  Pentium II 
RAM:  64 MB RAM
Video:  16 MB
Operating systems:  DOS
id Tech 2 ENGINE
 quake-II-logo

id Tech 2, formerly known as the Quake II engine, is a game engine developed by John Carmack in 1997. The engine, in addition to being the first 3D engine, had many innovations that even affected the modern gaming community. Although the engine was developed primarily for Quake II, it was later licensed by many other developers. The Quake engine development tree illustrates which games and engines are based on id Tech 2.

quake tree

 

1997 processors were still weak, which precluded support for incremental level loading like portals in the Build engine. The level format still uses the BSP tree. In addition to it, the engine uses the Skyline technology - level polygons are calculated first from above, to the conditional boundary-horizon, not as modeled in the level, but as the character sees, then from below.

idTech-2-quake-II-000

Carmack was developing a level design interface that allowed the development of the game to be much faster, since the compilation itself took several hours. Various optimization tricks were also used - during the compilation itself, the system was divided into two spaces by means of different algorithms, which the player should have seen and should not have seen. The space that the player saw was removed by the game, which acted as an optimization during the gameplay, but still required a lot of time to calculate. For this method to work, complete sealing of the level was required.

idTech-2-quake-II-001

For the sky, one static SkyBox texture was used, which could stretch itself at compile time to give the effect of an endless horizon.

idTech-2-skybox

Functions were built into the engine that made it possible to apply changes to the level's geometry. the compilation process took too long, these functions made life easier for developers.

idTech-2-quake-II-002
 

Instead of static lighting, the engine began to use three-dimensional light sources and the method of lightmaps - light maps in which the light data for each surface is pre-calculated and saved as images in files. To create pre-rendered shadow maps, id Software used the radiosity method. Lightmaps are used to determine how much light intensity each model should receive, but they do not determine the direction, due to which it was possible to observe that the shadows sometimes went regardless of the direction of the lamps or simply hung in the air. In addition, in software rendering, the light was simple and white, but in hardware, that is, in OpenGL, it was colored. Color lighting in 3d action was first implemented in this engine.

idTech-2-quake-II-004

Another interesting feature was the division of the renderer into components that were in separate DLL files. This is what made it possible to include two renderers in the engine, which were in separate files. It also made it possible to modify the engine for games. The game logic was also moved to separate files for two reasons:
id Software could publish the source code of these libraries, while at the same time keeping the source code of the renderer itself of other parts of the engine closed. Since the libraries were compiled for the native platform instead of being interpreted, they could run faster than equivalent Quake components that had to execute QuakeC game logic in a limited interpreter.

idTech-2-quake-II-003  

SYSTEM REQUIREMENTS FOR id Tech 2 Engine

Minimum system requirements Effective system requirements Optimal system requirements
Processor:  Pentium Pro
RAM:  32 MB RAM
Video:  2 MB
Operating systems:  DOS
Processor:  AMD Athlon   or  Pentium II 
RAM:  64 MB RAM
Video:  8 MB
Operating systems:  Windows 98SE/2000/XP 
Processor:  AMD Athlon or Pentium II 
RAM:  64 MB RAM
Video:  16 MB
Operating systems:  DOS
 
id Tech 3 ENGINE

 quake-3-arena

1999 saw the release of the idTech 3 engine, which debuted with Quake III Arena. Initially, the engine was called the Quake 3 Engine, but with the development of a new engine by id Software, id Tech 4, and the transition to a different naming scheme for the developed engines, it became known as id Tech 3. The id Tech 3 engine is not based on id Tech 2 and was written with clean slate. At the time of the release of the first game based on this technology, the competitors of the engine on the market were Unreal Engine of the first and second versions and the first versions of the Lithtech engines.

Technological features of the engine have improved markedly in the two years since the release of idTech 2. The first most notable change was the use of MD3 3D models. The animation capabilities in MD3 format are significantly superior to those in the MD2 format, which uses the id Tech 2 engine. MD2 models had a frame rate limit (only 10 frames per second to create animation), while MD3 does not have such a limit. This allows you to create larger and more realistic animations than on the Quake II engine.

hunterq1

Another important feature of the MD3 format is that models can be made up of several parts attached to each other. Thus, each part of the character's body, such as the torso, legs and head, can move independently of each other. Each part of the model can have its own set of textures.

md3struct

The engine has several lighting options depending on user settings. In addition to lightmaps, the engine uses the Gouraud shading method. The principle of the method is to successively calculate the normals to each of the faces of the 3D model and then determine the normals of the vertices by averaging the normals of all faces adjacent to the vertex. Further, based on the values ​​of the normals for the selected reflection model, the illumination of each vertex is calculated, which is represented by the color intensity at the vertex. The engine is able to illuminate models with colored lighting. The lighting color value was taken from the so-called color grid. This property provided a very advanced lighting quality at the time.

quake3 2014 08 15 18 23 09 365

id Tech 3 is capable of working with three different types of shadows. The first, relatively simple, so-called "bubble" or drop shadow - thus symbolized the character's shadow on the floor. The second creates opaque black shadows with hard edges. The third draws the second semi-transparently depending on the lighting of the object. All these shadows did not "look back" at the geometry of the level and easily "buried" in the wall.

quake3 2014 08 15 18 25 21 689

The engine implements a virtual machine that allows you to execute parts of the code independently of the main program. This made it possible to change the engine itself more flexibly, but also more easily port games to different platforms, including UNIX-like systems. The engine does not implement hardware shaders, but software ones in the form of scripts. Moreover, these shaders were not limited to just rendering, but also contained a description of the object, the light that it emits and the sound if the character walked over it or dived into the water, etc. 

 quake3 2014 08 15 18 25 34 053

 

SYSTEM REQUIREMENTS FOR Id Tech 3 ENGINE

 

 

Minimum system requirements Effective system requirements Optimal system requirements
Processor:  AMD Athlon or Pentium III 700 GHz
RAM:  128 MB RAM
Video:  16 MB
Video card :  Radeon 7500 or GeForce MX 200 or higher
Operating systems:  Windows 98SE/2000/XP
Processor:  AMD Athlon   or  Pentium III 1 GHz
RAM:  256 MB RAM
Video:  32 MB
Video cardRadeon 7500 or GeForce 2 or higher
Operating systems:  Windows 98SE/2000/XP 
Processor:  AMD Athlon or  Pentium III 1 GHz
RAM:  256 MB RAM
Video:  64 MB
Video card:  Radeon 8500 or GeForce Ti 3 or higher
Operating systems:  Windows 98SE/2000/XP 
id Tech 4 ENGINE  

 

 doom3

The release of id Tech 4 was a significant event in the history of computer games, as at the time of its release it was one of the most technologically advanced and innovative game engines. The engine was released as a fully commercial product available for licensing to third parties. Looking ahead a bit, after the release of id Tech 5, id Tech 4 has been relicensed as free software. The engine uses OpenGL as an API.

id-tech-4-doom-iii-001

id Tech 4 was originally planned as an extension to the Quake III game engine. This was originally envisioned as a complete rewrite of the rendering engine, while still retaining other subsystems such as file access and memory management. However, after the new rendering became functional, the decision was made to switch from the C programming language to C++. This required a complete restructuring and rewriting of the rest of the engine. As a result, small fragments of the id Tech 3 code migrated to the id Tech 4 code.

id-tech-4-doom-iii-002

id Tech 4 adds a lot of new features not found in the id Tech 3 engine that preceded it. These included building bulges using normal maps and specular lighting. Doom 3, the first game powered by id Tech 4, uses a unified model that generates lighting and shading on the fly. This means that any light sources affect the entire scene, not just a predetermined part of it. The possibilities of this technology include the possibility of self-shadowing, which is implemented using shadow volumes. Using shadow volumes, characters can cast shadows on themselves: for example, a person's chin can cast a shadow on their chest.

id-tech-4-quake-001

This time, the programmers from id Software did their best and developed a completely new kind of dynamic lighting. Now all lights on the map can change their brightness and the environment changes behind them, absolutely dynamically and "on the fly" in post-rendering conditions, instead of the illusion of dynamism by changing the brightness of objects and textures.

id-tech-4-quake-002

A completely new technology called megatexture was also developed. The essence of the megatexture is that one huge texture is taken, which covers the entire polygon map and a highly detailed landscape. In different parts of itself, the taken texture begins to show different properties, whether it is sand, earthen or stone surface. A megatexture can also store physical information about the terrain, such as the force of gravity in certain areas, or specify what sound effect should be played if the player moves across certain parts of the map. That is, walking on rock will seem different from walking on grass. This technology is used in Enemy Territory Quake Wars.

id-tech-4-quake-004

The audio engine uses EAX technology from Creative Labs. The network model has the form of a client-server.

id-tech-4-prey-2-001

The downside of the id Tech 4 engine was that it needed a high performance GPU that was at least compatible with OpenGL 2.0 and had fully programmable pixel and vertex shaders. The engine itself did not support software rendering, which was provided by the Intel GMA series of integrated graphics cards. Back then, before id Tech 4, a strong CPU could make up for a weak graphics card. Prior to the release of Doom 3, John Carmack warned players not to buy GeForce 4 MX graphics cards for the game, as those cards support OpenGL 1.x but not OpenGL 2.0.

id-tech-4-prey-2-002

 

SYSTEM REQUIREMENTS FOR id Tech 4 ENGINE

 

Minimum system requirements Effective system requirements Optimal system requirements
Processor:  AMD Athlon XP 2100+ or ​​Pentium 4 2 GHz
RAM:  512 MB RAM
Video:  128 MB
Video card Radeon 9600 Pro or GeForce FX 5600 or higher
Operating systems:  Windows XP/Vista/7/8 
Processor:  AMD Athlon XP 3200+ or ​​Pentium 4 3.2 GHz
RAM:  1024 MB RAM
Video:  256 MB
Video card Radeon X800XT or GeForce 6800 GT
Operating systems:  Windows XP/Vista/7/8
Processor:  AMD Athlon X2 3800+  or  ​​Core 2 Duo 6300
RAM:  1024 MB RAM
Video:  512 MB
Video card Radeon X1800 XT or GeForce 7800 GT
Operating systems:  Windows XP/Vista/7/8

 

 

id Tech 5 ENGINE

 

id-tech-5-logo

 

id Tech 5 is cross-platform software designed for use on personal computers, Macintosh computers, Playstation 3 and Xbox 360 game consoles. The main feature of idTech 5, like its predecessors, was and remains that it is written in OpenGL, not DirectX. The id Tech 5 engine is used in the games: Rage, Wolfenstein: The New Order and The Evil Within.

id-Tech-5-001

id Tech 5 was first officially announced at Apple's Worldwide Developers Conference in San Francisco on June 11, 2007. The demo took place on an eight-core Apple Macintosh, however the demo only used one core and a single-threaded implementation of the OpenGL API. The video card used was a Quadro 7000 with 512 MB of video memory.

id-Tech-5-002

At E3 2007, which took place July 11-13, 2007 in Santa Monica, California, the engine was shown to potential licensors but not to the public. The first real public demonstration took place at QuakeCon 2007 during the annual keynote hosted by John Carmack himself. At the time, it was announced that id Tech 5 would be used in a new game in development from id Software, Rage, which was based on an entirely new intellectual property.

id-Tech-5-005

At QuakeCon 2007, John Carmack, lead game engine developer at id Software, told the LinuxGames website that he wants to minimize the use of third-party commercial technologies in the engine that will ultimately prevent the engine from being open source. Consequently, the source code for id Tech 5 will eventually be released, just like its predecessors.

idtech5-009

The engine was demoed with about 20 GB of texture data and a fully dynamic, mutable world. The engine uses advanced MegaTexture technology, which uses a texture with a resolution of up to 128,000 × 128,000 pixels (16 times more than the latest version of id Tech 4, which used a texture of 32,768 × 32,768 pixels).

ID-Tech-5-003

Due to the secretive policy of id Software, there is no complete information about the engine, but some conclusions can be drawn. id tech 5 still uses shaders version 3.0, which is equivalent to DirectX 9.0. The difference between this version of the engine and its predecessor lies in two features, the first is the use of Penumbra technology. The technology allows you to create smoother penumbra during the rendering process, and the effect is achieved using shadow maps. This is not like id Tech 4's shading method, where the shadows come out with very hard edges. The second is the refinement of the mega texture technology.

ID-Tech-5-004

SYSTEM REQUIREMENTS FOR id Tech 5 ENGINE
Minimum system requirements Effective system requirements Optimal system requirements
Processor:  AMD Athlon X4  or  Core 2 Quad
RAM:  2048 MB RAM
Video:  1024 MB
Video card Radeon HD 2900 or GeForce 8800 GTX 
Operating systems:  Windows XP/Vista/7/8
Processor:  AMD Athlon X4  or  Core i 3
RAM:  3078 MB RAM
Video:  1536 MB
Video card Radeon HD 7770 or GeForce GTX 560
Operating systems:  Windows XP/Vista/7/8
 
Processor:  AMD FX 4350 or Core i 5 
RAM:  4096 MB RAM
Video:  2048 MB
Video card Radeon HD 6970 or GeForce GTX 580
Operating systems:  Windows XP/Vista/7/8


Rate id Tech   1 1 1 1 1 1 1 1 1 1 Rating 100% [6 Votes]


Rate id Tech 4 1 1 1 1 1 1 1 1 1 1 Rating 94% [8 Votes]


Rate id Tech 5  1 1 1 1 1 1 1 1 1 1 Rating 94% [8 Votes]