enfrdeplesuk
Search find 4120    tg2 f2 lin2 in2 X icon 3 y2  p2 tik steam2

Technology History - id Tech Engine

GENERAL INFORMATION ABOUT TECHNOLOGY

 IDtech logo

Developer: id Software.
Engine series: id Tech.
Announcement date: 1992 year
Written in: C/C++, Assembly.
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. Wolfenstein 3D engine is a pseudo-3D engine - this means that the graphics of the Wolfenstein 3D engine try to simulate a three-dimensional game space, but are not three-dimensional. The engine was developed primarily by John Carmack, chief programmer at id Software, for the game Wolfenstein 5D, released on May 1992, XNUMX.

 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 in the form of sprites - two-dimensional drawings that change size depending on distance. Sprites were used in all 2.5D engines and in the first 3D games, for example, the BUILD-engine and the games DukeNukemXNUMXD, Shadow Warrior, Exhumed and Redneck Rampage. This is due to the fact that using sprites instead of textures reduces resource consumption.

Wolf3D-002

Raycasting is used to cut off invisible walls and their edges. Raycasting is a technology that analyzes and displays a 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.

RESTRICTIONS 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. The special performance created the illusion of three-dimensionality. This is how the concept of 2.5D engines appeared. It does not support differences in geometric height or differences in illumination. Walls can only be oriented north-south or west-east. The engine also eliminates the presence of inclined surfaces.

Wolf3D-006

Interesting fact - according to John Carmack, the game engine was created under inspiration from a 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 the 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 performance of the engine; the Wolfenstein XNUMXD engine became the basis that needed to be improved. 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 its 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 “north-south” or “west-east” direction. Variable illumination has appeared, increasing the realism of graphics.

doom-003

Elevators, remotely opening doors, lowering and pressing ceilings, rising steps and other moving elements. The introduction of technologies that made it possible to translate in height, which had a positive effect on the gameplay. Now characters could jump, fall from rooftops and fly through the air.

doom-002

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

doom-001

The character swayed up and down when 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 so.

ENGINE DISADVANTAGES 

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 located one above the other. Thus, the level map is completely two-dimensional.

id-tech-1-doom-001

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

id-tech-1-doom-002

The game did not make other checks along the Z axis - for example, an imp prowling in the basement could well cause damage to a player located a couple of hundred meters above, in the attic, and a rocket exploding at the base of the building would cause damage to a monster on the roof. The player could use switches regardless of altitude.

 

The special structure of the level required drawing the entire level before starting it. Assembly occurs automatically - on computers of that time in less than a minute, however, this made it difficult to view the level in real time while editing. In addition, the binary partition 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 to detect collisions and sort 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. Hexen's limited horizontal movement couldn't match the power of Duke Nukem 3D's trailers. The height of the texture, if it is repeated vertically, must always be equal to 128 texels. This is not required for non-repeating textures. Fixed in numerous Doom ports.

 id-tech-1-doom-004

SYSTEM REQUIREMENTS FOR id Tech 1 ENGINE

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

id Tech 2, formerly known as 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 influenced even the modern gaming community. Although the engine was developed primarily for the game 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

 

The processors of 1997 were still weak, which excluded support for step-by-step level loading, like portals in the Build engine. The all level format also uses a BSP tree. In addition to this, the engine uses Skyline technology - level polygons are calculated first from above, up to the conventional border-horizon, not as modeled in the level, but as the character sees, then from below.

idTech-2-quake-II-000

Carmack developed an interface for level design that allowed the game to be developed much faster since the compilation itself took several hours. Various optimization tricks were also used - during the compilation itself, the system, using various algorithms, was divided into two spaces that the player should have seen and should not have seen. The game deleted the space that the player saw, which acted as a kind of optimization during the gameplay, but it still took a lot of time to calculate. For this method to work, the level was completely sealed.

idTech-2-quake-II-001

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

idTech-2-skybox

The engine had built-in functions that made it possible to make changes to the level geometry because 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 lightmap method - light maps, in which the light data for each surface is pre-calculated and saved as images in files. To create pre-calculated shadow maps, id Software used the radiosity method. Lightmaps are used to determine what intensity of light each model should receive, but they do not determine the direction, which is why it was possible to observe that shadows sometimes appeared 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 separation of the renderer into components that were located in separate DLL files. This is what made it possible to include two renderers in the engine, which were located in separate files. It also made it possible to modify the game engine. 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 closed for other parts of the engine. Because the libraries were compiled for the native platform instead of interpreted, they could run faster than similar Quake components, which 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
Memory: 32 MB RAM
Video: 2 MB
Operating Systems: DOS
Processor: AMD Athlon  or Pentium II 
Memory: 64 MB RAM
Video: 8 MB
Operating Systems: Windows 98SE/2000/XP 
Processor: AMD Athlon or Pentium II 
Memory: 64 MB RAM
Video: 16 MB
Operating Systems: DOS
 
id Tech 3 ENGINE

 quake-3-arena

In 1999, the idTech 3 engine was released, which debuted with Quake III Arena. Initially, the engine was called Quake 3 Engine, but with the development of a new engine from id Software, id Tech 4, and the transition to a different naming scheme for the developed engines, it began to be called 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 engine's competitors on the market were Unreal Engine versions XNUMX and XNUMX and the first versions of Lithtech engines.

The technological features of the engine have improved markedly in the two years since the release of idTech 2. The first most noticeable change was the use of 3D models in MD3 format. The animation capabilities in the MD2 format are significantly superior to those in the MD2 format, which uses the id Tech 2 engine. MD10 models had a limit on the number of frames per second (to create an animation of only 3 frames), but in MDXNUMX there is no such limitation. 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 consist of several parts attached to each other. This way, 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 light maps, the engine uses the Gouraud shading method. The principle of the method is to sequentially calculate the normals to each of the faces of the three-dimensional model and further determine the normals of the vertices by averaging the normals of all faces adjacent to the vertex. Next, based on the normal values ​​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 capable of illuminating models with colored lighting. The lighting color value was taken from the so-called color grid. This property provided a very advanced lighting quality for that 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 - thereby symbolized the shadow of the character on the floor. The second creates opaque black shadows with hard edges. The third draws the second translucently depending on the lighting of the object. All these shadows did not “look back” at the geometry of the level and easily “sink” into 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 to more easily port games to different platforms, including UNIX-like systems. The engine does not implement hardware shaders, but software shaders in the form of scripts. Moreover, these shaders were not limited to just visualization but also contained a description of the object, the light 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
Memory: 128 MB RAM
Video: 16 MB
Video card: Radeon 7500 or GeForce MX 200 and higher
Operating Systems: Windows 98SE/2000/XP
Processor: AMD Athlon  or Pentium III 1 GHz
Memory: 256 MB RAM
Video: 32 MB
Video cardRadeon 7500 or GeForce 2 and higher
Operating Systems: Windows 98SE/2000/XP 
Processor: AMD Athlon or Pentium III 1 GHz
Memory: 256 MB RAM
Video: 64 MB
Video card: Radeon 8500 or GeForce Ti 3 and higher
Operating Systems: Windows 98SE/2000/XP 
id Tech 4 ENGINE  

 doom3

The release of id Tech 4 was a notable event in the history of computer games, since 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 little, we will say that after the release of id Tech 5, id Tech 4 was relicensed as free software. The engine uses OpenGL as an API.

id-tech-4-doom-iii-001

id Tech 4 was initially planned as an expansion for the Quake III game engine. This was initially envisioned as a complete rewrite of the engine's rendering, 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 rewrite of the rest of the engine. As a result, small fragments of id Tech 3 code migrated to id Tech 4 code.

id-tech-4-doom-iii-002

id Tech 4 added many new features that were missing from the id Tech 3 engine that preceded it. These included building bumps using normal maps and specular lighting. Doom 3, the first game to use the id Tech 4 engine, uses a unified model that generates lighting and shading on the fly. This means that any light sources affect the entire scene, and not just a predefined part of it. The capabilities of this technology include the possibility of self-shading, 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 type of dynamic lighting. Now all light sources on the map can change their brightness and the environment behind them changes, 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 a megatexture is that one huge texture is taken that covers the entire polygon map and highly detailed landscape. In different parts of itself, the texture taken begins to exhibit different properties, be it sand, earthen or stone surface. A megatexture can also store physical information about the terrain, such as the gravity in certain areas, or indicate what sound effect should be played if the player moves across certain parts of the map. That is, walking on rock will feel different from walking on grass. This technology is used in Enemy Territory Quake Wars.

id-tech-4-quake-004

The sound engine is 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 required a high-performance graphics accelerator that was at least compatible with OpenGL 2.0, and also 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. At that time, before the advent of id Tech 4, a strong CPU could compensate for a weak graphics card. Before the release of Doom 3, John Carmack warned players not to buy GeForce 4 MX graphics cards for the game, as these 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
Memory: 512 MB RAM
Video: 128 MB
Video cardRadeon 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
Memory: 1024 MB RAM
Video: 256 MB
Video cardRadeon X800XT or GeForce 6800 GT
Operating Systems: Windows XP / Vista / 7 / 8
Processor: AMD Athlon X2 3800 + or Core 2 Duo 6300
Memory: 1024 MB RAM
Video: 512 MB
Video cardRadeon 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 and gaming consoles Playstation 3 and Xbox 360. 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, which was held in San Francisco on June 11, 2007. The demo took place on an eight-core Apple Macintosh computer, however the demo used only one core and a single-threaded implementation of the OpenGL API. Quadro 7000 with 512 MB of video memory was used as video cards.

id-Tech-5-002

At E3 2007, which took place from July 11 to July 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. It was then announced that id Tech 5 would be used in id Software's new game in development, 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 LinuxGames that he was committed to minimizing the use of third-party commercial technologies in the engine that would ultimately prevent the engine from being made open source. Therefore, id Tech 5's source code will eventually be released, just like its predecessors.

idtech5-009

The engine demo featured approximately 20 GB of texture data and a fully dynamic, fluid world. The engine uses advanced MegaTexture technology, which uses textures with a resolution of up to 128 × 000 pixels (128 times larger than the last version of id Tech 000, which used a 16 × 4 pixel texture).

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 uses all 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 unlike the id Tech 4 engine's shading method, where shadows are produced with very sharp edges. The second is the refinement of 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
Memory: 2048 MB RAM
Video: 1024 MB
Video cardRadeon HD 2900 or GeForce 8800 GTX 
Operating Systems: Windows XP / Vista / 7 / 8
Processor: AMD Athlon X4 or Core i 3
Memory: 3078 MB RAM
Video: 1536 MB
Video cardRadeon HD 7770 or GeForce GTX 560
Operating Systems: Windows XP / Vista / 7 / 8
 
Processor: AMD FX 4350 or Core i 5 
Memory: 4096 MB RAM
Video: 2048 MB
Video cardRadeon 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 vote(s)]


Rate id Tech 4 1 1 1 1 1 1 1 1 1 1 Rating 94% [8 vote(s)]


Rate id Tech 5  1 1 1 1 1 1 1 1 1 1 Rating 94% [8 vote(s)]

 

 

People participating in this conversation

Comments (5)

This comment was made by the moderator on the site

The system requirements you wrote for DOOM are too high. The game ran on i386 with 4 MB of RAM, but ran perfectly on 486 with 8 MB of RAM. It seems like a video card was needed with 256 or 512 KB of video memory

This comment was made by the moderator on the site

They also forgot to add Kaldets, it’s based on id Tech 3. :lol:

This comment was made by the moderator on the site

Oh, I remember when in 2007. I first saw a demonstration of the idTech 5 game engine in the game Rage, the recording was still from a projector, then I was shocked by such graphics, but already in 2011. when Rage came out, after all the Crises, Dirts, GTA4 and Metro, I was no longer so enthusiastic :( PS: They delayed the release of the game too much and forgot to improve the graphics, leaving it the way it was shown in 2007.

This comment was made by the moderator on the site

3 games all the time? I know they are very strict about which studios they choose to license, but just 3 games? And this despite the fact that the 3rd game has not yet been released, and the 1st was very criticized for the graphics (or rather, for the rendering of the graphics). You can't judge an engine based on 2 games, but I will never forget my hatred of RAGE. We need to see what The Evil Within will be like in order to trace the dynamics. I hope all be fine. PS I looked at the list of games of the 4th version. There, too, the cat cried for them. Why sell an engine if almost no one needs it? Moreover, I didn’t see any super successful games on this list. PPS Note to the author. Wikipedia on the 5th part of the engine has not been seriously corrected since 2011. But you can just guess that the engine works on new consoles.

This comment was made by the moderator on the site

ohhhhhhhhh thank you for this) when I saw the very first photos, a tear flowed down my heart, I remembered how I played Wolfenstein 1993D at my father’s work for the first time in 3) I was simply blown away by the GRAPHICS and EFFECTS :-)