Histoire de la technologie - id Tech Engine
INFORMATIONS GÉNÉRALES SUR LA TECHNOLOGIE |
Commençons par la préhistoire, avec le moteur qui a jeté les bases de la création des jeux modernes, à savoir le moteur Wolfenstein 3D. Le moteur Wolfenstein 3D est un pseudo-moteur 3D, ce qui signifie que les graphismes du moteur Wolfenstein 3D tentent de simuler un espace de jeu en 5D, mais ne sont pas en 1992D. Le moteur a été développé principalement par John Carmack, programmeur en chef chez id Software, pour Wolfenstein XNUMXD, sorti le XNUMX mai XNUMX.
Pour l'époque, le moteur disposait des technologies et des capacités les plus révolutionnaires, mais était le plus optimisé pour les faibles exigences système et tout le matériel de jeu de l'époque.
CARACTÉRISTIQUES Moteur Wolfenstein 3D |
Tous les objets qu'il contient sont affichés sous forme de sprites - des dessins en deux dimensions qui changent de taille en fonction de la distance. Les sprites ont été utilisés dans tous les moteurs 2.5D et les premiers jeux 3D tels que le moteur BUILD et DukeNukemXNUMXD, Shadow Warrior, Exhumed et Redneck Rampage. Cela est dû au fait que l'utilisation de sprites au lieu de textures réduit la consommation de ressources.
Le Raycasting est utilisé pour couper les murs invisibles et leurs faces. Le Raycasting est une technologie qui analyse et affiche la position 3D sur un écran 2D en temps réel, en tenant compte de la distance des côtés.
Le moteur implémente également des graphiques VGA, des murs texturés et la possibilité d'utiliser une carte son au lieu du haut-parleur intégré.
LIMITES Moteur Wolfenstein 3D |
La plupart des limitations de ce moteur étaient dues au fait que la carte du jeu était placée sur une grille à deux dimensions, c'est-à-dire était en fait bidimensionnel. Le mouvement vertical était également impossible. Une performance spéciale a créé l'illusion de la tridimensionnalité. C'est ainsi qu'est apparu le concept des moteurs 2.5D. Il ne supporte pas la différence de hauteur géométrique, les différences d'éclairement. Les murs ne peuvent être orientés que "nord-sud" ou "ouest-est". Le moteur élimine également la présence de surfaces inclinées.
Un fait intéressant - selon John Carmack, le moteur de jeu a été inspiré par la démonstration technologique du jeu de rôle informatique à la première personne Ultima Underworld: The Stygian Abyss en 1991. Carmack a affirmé qu'il pouvait créer un moteur de rendu plus rapide, dans lequel il réussi.
ID Tech 1 MOTEUR |
id Tech 1 est un moteur développé par la société américaine id Software et utilisé dans les jeux informatiques Doom, Heretic, HeXen, Strife, HacX et d'autres jeux créés sous licence. C'est aussi un pseudo-moteur 3D, mais cette fois l'accent mis dans le développement n'était pas sur la vitesse du moteur, le moteur Wolfenstein XNUMXD est devenu la base qui devait être finalisée. Initialement écrit sur les ordinateurs NeXT, Doom a ensuite été porté sur DOS pour sa première version, puis sur plusieurs autres consoles de jeux et systèmes d'exploitation.
CARACTÉRISTIQUES DU MOTEUR |
Passons immédiatement aux caractéristiques du moteur et à ses différences par rapport au moteur 3D Wolfenstein précédent. Premièrement, le sol et le plafond peuvent maintenant avoir n'importe quelle hauteur et l'orientation des murs n'est pas nécessairement dans le sens "nord-sud" ou "ouest-est". Il y avait une illumination changeante, augmentant le réalisme des graphismes.
Ascenseurs, ouverture des portes à distance, abaissement et abaissement des plafonds, marches montantes et autres éléments mobiles. L'introduction de technologies permettant de se déplacer en hauteur, ce qui a eu un effet positif sur le gameplay. Les personnages pouvaient désormais sauter, tomber des toits et voler dans les airs.
Le sous-système sonore prenait en charge le son stéréo et mixait jusqu'à 8 effets simultanément. Le son stéréo permettait de reproduire le son de différentes directions depuis le joueur, augmentant ainsi le réalisme du jeu.
Le personnage se balançait de haut en bas tout en se déplaçant, ce qui créait l'illusion de marcher. Il était permis de connecter des modules supplémentaires avec des niveaux, des graphiques et des sons. L'idée d'extensibilité est venue de John Carmack, qui modifiait lui-même les jeux et voulait que les autres fassent de même.
INCONVENIENTS DU MOTEUR |
Le labyrinthe (carte de niveau) a un sol horizontal avec un plafond et des murs verticaux. Le labyrinthe a été créé de manière à ce que deux pièces ne puissent pas être l'une au-dessus de l'autre. Ainsi, la carte de niveau est complètement bidimensionnelle.
Les défauts du système de mouvement en hauteur ont créé de nombreuses incohérences et bugs dans le gameplay, par exemple, la plate-forme ne pouvait que monter et descendre sans pouvoir se déplacer à gauche et à droite. Tout au long du jeu, l'échelle des sprites et des textures est constante. Par conséquent, il n'était pas possible d'installer une affiche très détaillée sur un mur moins détaillé. Les auteurs n'ont pas calculé les collisions verticales d'objets. Par conséquent, l'Irok ne pouvait pas courir sous un cacodémon volant ou, après avoir accéléré sur un toit, sauter par-dessus une torche.
Le jeu n'a pas non plus effectué d'autres vérifications sur l'axe z - par exemple, un diablotin rôdant dans le sous-sol pourrait bien endommager un joueur quelques centaines de mètres plus haut dans le grenier, et une fusée qui a explosé à la base du bâtiment infligerait des dégâts à un monstre sur le toit. Le joueur peut utiliser des interrupteurs quelle que soit la hauteur.
La structure particulière du niveau nécessitait de dessiner tout le niveau avant de le lancer. L'assemblage est automatique - sur les ordinateurs de l'époque en moins d'une minute, cependant, cela rendait difficile la visualisation du niveau en temps réel pendant le montage. De plus, le partitionnement binaire divisait les murs en "segments" - cela compliquait la géométrie du niveau. Une telle partition est appelée arbre BSP (Binary Space Partition) et est utilisée pour la détection de collision et le tri des objets visuels par ordre de distance à l'observateur.
Pour la même raison, les ascenseurs et les plates-formes peuvent monter et descendre, mais pas dans un plan horizontal. Le mouvement horizontal limité à Hexen n'était pas à la hauteur de la puissance des remorques Duke Nukem 3D. La hauteur de la texture, si elle est répétée verticalement, doit toujours être de 128 texels. Ceci n'est pas nécessaire pour les textures non répétitives. Correction dans de nombreux ports de Doom.
CONFIGURATION REQUISE POUR LE MOTEUR id Tech 1 |
Configuration minimale requise | Exigences système efficaces | Configuration système optimale |
Processeur: pentium-pro
RAM: 32 Mo de RAM
Vidéo: 2 MB
Systèmes d'exploitation: DOS |
Processeur: AMD Athlon ou Pentium II
RAM: 64 Mo de RAM
Vidéo: 8 MB
Systèmes d'exploitation: Windows 98SE/2000/XP |
Processeur: AMD Athlon ou Pentium II
RAM: 64 Mo de RAM
Vidéo: 16 MB
Systèmes d'exploitation: DOS |
ID Tech 2 MOTEUR |
id Tech 2, anciennement connu sous le nom de moteur Quake II, est un moteur de jeu développé par John Carmack en 1997. Le moteur, en plus d'être le premier moteur 3D, comportait de nombreuses innovations qui ont même affecté la communauté des joueurs modernes. Bien que le moteur ait été développé principalement pour Quake II, il a ensuite été autorisé par de nombreux autres développeurs. L'arborescence de développement du moteur Quake illustre les jeux et les moteurs basés sur id Tech 2.
Les processeurs de 1997 étaient encore faibles, ce qui empêchait la prise en charge du chargement de niveau incrémentiel comme les portails dans le moteur de construction. Le format de niveau utilise toujours l'arborescence BSP. En plus de cela, le moteur utilise la technologie Skyline - les polygones de niveau sont d'abord calculés d'en haut, jusqu'à l'horizon limite conditionnel, non pas comme modélisé dans le niveau, mais comme le personnage le voit, puis d'en bas.
Carmack développait une interface de conception de niveau qui permettait au développement du jeu d'être beaucoup plus rapide, puisque la compilation elle-même prenait plusieurs heures. Diverses astuces d'optimisation ont également été utilisées - lors de la compilation elle-même, le système a été divisé en deux espaces au moyen d'algorithmes différents, que le joueur aurait dû voir et n'aurait pas dû voir. L'espace que le joueur a vu a été supprimé par le jeu, ce qui a agi comme une optimisation pendant le jeu, mais a tout de même nécessité beaucoup de temps à calculer. Pour que cette méthode fonctionne, une étanchéité complète du niveau était nécessaire.
Pour le ciel, une texture SkyBox statique a été utilisée, qui pouvait s'étirer au moment de la compilation pour donner l'effet d'un horizon sans fin.
Des fonctions ont été intégrées au moteur permettant d'appliquer des modifications à la géométrie du niveau. le processus de compilation prenait trop de temps, ces fonctions simplifiaient la vie des développeurs.
Au lieu d'un éclairage statique, le moteur a commencé à utiliser des sources lumineuses tridimensionnelles et la méthode des cartes lumineuses - des cartes lumineuses dans lesquelles les données lumineuses de chaque surface sont pré-calculées et enregistrées sous forme d'images dans des fichiers. Pour créer des cartes d'ombres pré-rendues, id Software a utilisé la méthode de la radiosité. Les cartes lumineuses sont utilisées pour déterminer la quantité d'intensité lumineuse que chaque modèle doit recevoir, mais elles ne déterminent pas la direction, grâce à laquelle il a été possible d'observer que les ombres allaient parfois quelle que soit la direction des lampes ou simplement suspendues dans les airs. De plus, dans le rendu logiciel, la lumière était simple et blanche, mais dans le matériel, c'est-à-dire dans OpenGL, elle était colorée. L'éclairage couleur en action 3D a été implémenté pour la première fois dans ce moteur.
Une autre caractéristique intéressante était la division du moteur de rendu en composants qui se trouvaient dans des fichiers DLL distincts. C'est ce qui a permis d'inclure deux moteurs de rendu dans le moteur, qui se trouvaient dans des fichiers séparés. Il a également permis de modifier le moteur pour les jeux. La logique du jeu a également été déplacée vers des fichiers séparés pour deux raisons :
id Software pourrait publier le code source de ces bibliothèques, tout en gardant fermé le code source du moteur de rendu lui-même des autres parties du moteur. Étant donné que les bibliothèques ont été compilées pour la plate-forme native au lieu d'être interprétées, elles pouvaient s'exécuter plus rapidement que les composants Quake équivalents qui devaient exécuter la logique de jeu QuakeC dans un interpréteur limité.
CONFIGURATION REQUISE POUR id Tech 2 Engine |
Configuration minimale requise | Exigences système efficaces | Configuration système optimale |
Processeur: pentium-pro
RAM: 32 Mo de RAM
Vidéo: 2 MB
Systèmes d'exploitation: DOS |
Processeur: AMD Athlon ou Pentium II
RAM: 64 Mo de RAM
Vidéo: 8 MB
Systèmes d'exploitation: Windows 98SE/2000/XP |
Processeur: AMD Athlon ou Pentium II
RAM: 64 Mo de RAM
Vidéo: 16 MB
Systèmes d'exploitation: DOS |
ID Tech 3 MOTEUR |
1999 a vu la sortie du moteur idTech 3, qui a fait ses débuts avec Quake III Arena. Initialement, le moteur s'appelait Quake 3 Engine, mais avec le développement d'un nouveau moteur par id Software, id Tech 4, et la transition vers un schéma de nommage différent pour les moteurs développés, il est devenu connu sous le nom d'id Tech 3. Le moteur Tech 3 n'est pas basé sur id Tech 2 et a été écrit avec une table rase. Au moment de la sortie du premier jeu basé sur cette technologie, les concurrents du moteur sur le marché étaient Unreal Engine des première et deuxième versions et les premières versions des moteurs Lithtech.
Les caractéristiques technologiques du moteur se sont nettement améliorées au cours des deux années qui ont suivi la sortie d'idTech 2. Le premier changement le plus notable a été l'utilisation de modèles 3D MD3. Les capacités d'animation au format MD2 sont nettement supérieures à celles du format MD2, qui utilise le moteur id Tech 2. Les modèles MD10 avaient une limite de fréquence d'images (seulement 3 images par seconde pour créer une animation), alors que MDXNUMX n'a pas une telle limite . Cela vous permet de créer des animations plus grandes et plus réalistes que sur le moteur Quake II.
Une autre caractéristique importante du format MD3 est que les modèles peuvent être constitués de plusieurs parties attachées les unes aux autres. Ainsi, chaque partie du corps du personnage, comme le torse, les jambes et la tête, peut bouger indépendamment l'une de l'autre. Chaque partie du modèle peut avoir son propre ensemble de textures.
Le moteur dispose de plusieurs options d'éclairage en fonction des paramètres de l'utilisateur. En plus des lightmaps, le moteur utilise la méthode d'ombrage de Gouraud. Le principe de la méthode est de calculer successivement les normales à chacune des faces du modèle XNUMXD puis de déterminer les normales des sommets en faisant la moyenne des normales de toutes les faces adjacentes au sommet. De plus, sur la base des valeurs des normales pour le modèle de réflexion sélectionné, l'éclairage de chaque sommet est calculé, qui est représenté par l'intensité de la couleur au sommet. Le moteur est capable d'éclairer les modèles avec un éclairage coloré. La valeur de la couleur d'éclairage a été prise à partir de la soi-disant grille de couleurs. Cette propriété offrait une qualité d'éclairage très poussée à l'époque.
id Tech 3 est capable de travailler avec trois types d'ombres différents. La première, relativement simple, dite "bulle" ou ombre portée - symbolisait ainsi l'ombre du personnage sur le sol. La seconde crée des ombres noires opaques avec des bords durs. Le troisième dessine le second de manière semi-transparente en fonction de l'éclairage de l'objet. Toutes ces ombres n'ont pas "regardé en arrière" sur la géométrie du niveau et se sont facilement "enterrées" dans le mur.
Le moteur implémente une machine virtuelle qui permet d'exécuter des parties de code indépendamment du programme principal. Cela a permis de changer le moteur lui-même de manière plus flexible, mais aussi de porter plus facilement les jeux sur différentes plates-formes, y compris les systèmes de type UNIX. Le moteur n'implémente pas de shaders matériels, mais des shaders logiciels sous forme de scripts. De plus, ces shaders ne se limitaient pas au seul rendu, mais contenaient également une description de l'objet, la lumière qu'il émet et le son si le personnage marchait dessus ou plongeait dans l'eau, etc.
CONFIGURATION REQUISE POUR LE MOTEUR Id Tech 3 |
Configuration minimale requise | Exigences système efficaces | Configuration système optimale |
Processeur: AMD Athlon ou Pentium III 700 GHz
RAM: 128 Mo de RAM
Vidéo: 16 MB
Carte vidéo: Radeon 7500 ou GeForce MX 200 ou supérieur Systèmes d'exploitation: Windows 98SE/2000/XP |
Processeur: AMD Athlon ou Pentium III 1GHz
RAM: 256 Mo de RAM
Vidéo: 32 MB
Carte vidéo: Radeon 7500 ou GeForce 2 ou supérieur Systèmes d'exploitation: Windows 98SE/2000/XP |
Processeur: AMD Athlon ou Pentium III 1GHz
RAM: 256 Mo de RAM
Vidéo: 64 MB
Carte vidéo: Radeon 8500 ou GeForce Ti 3 ou supérieur Systèmes d'exploitation: Windows 98SE/2000/XP |
ID Tech 4 MOTEUR |
La sortie d'id Tech 4 a été un événement important dans l'histoire des jeux informatiques, car au moment de sa sortie, il s'agissait de l'un des moteurs de jeu les plus avancés et les plus innovants sur le plan technologique. Le moteur a été lancé en tant que produit entièrement commercial disponible pour des licences à des tiers. En regardant un peu plus loin, après la sortie d'id Tech 5, id Tech 4 a été relicencié en tant que logiciel libre. Le moteur utilise OpenGL comme API.
id Tech 4 était initialement prévu comme une extension du moteur de jeu Quake III. Cela a été initialement envisagé comme une réécriture complète du moteur de rendu, tout en conservant d'autres sous-systèmes tels que l'accès aux fichiers et la gestion de la mémoire. Cependant, après que le nouveau rendu soit devenu fonctionnel, la décision a été prise de passer du langage de programmation C au C++. Cela a nécessité une restructuration complète et une réécriture du reste du moteur. En conséquence, de petits fragments du code id Tech 3 ont migré vers le code id Tech 4.
id Tech 4 ajoute de nombreuses nouvelles fonctionnalités introuvables dans le moteur id Tech 3 qui l'a précédé. Celles-ci comprenaient des renflements de construction utilisant des cartes normales et un éclairage spéculaire. Doom 3, le premier jeu propulsé par id Tech 4, utilise un modèle unifié qui génère de l'éclairage et de l'ombrage à la volée. Cela signifie que toutes les sources de lumière affectent l'ensemble de la scène, pas seulement une partie prédéterminée de celle-ci. Les possibilités de cette technologie incluent la possibilité d'auto-ombrage, qui est mis en œuvre à l'aide de volumes d'ombre. En utilisant les volumes d'ombre, les personnages peuvent projeter des ombres sur eux-mêmes : par exemple, le menton d'une personne peut projeter une ombre sur sa poitrine.
Cette fois, les programmeurs d'id Software ont fait de leur mieux et ont développé un tout nouveau type d'éclairage dynamique. Désormais, toutes les lumières de la carte peuvent changer leur luminosité et l'environnement change derrière elles, de manière absolument dynamique et "à la volée" dans les conditions de post-rendu, au lieu de l'illusion de dynamisme en modifiant la luminosité des objets et des textures.
Une toute nouvelle technologie appelée mégatexture a également été développée. L'essence de la mégatexture est qu'une seule texture énorme est prise, qui couvre toute la carte du polygone et un paysage très détaillé. Dans différentes parties d'elle-même, la texture prise commence à montrer des propriétés différentes, qu'il s'agisse de surface de sable, de terre ou de pierre. Une mégatexture peut également stocker des informations physiques sur le terrain, telles que la force de gravité dans certaines zones, ou spécifier quel effet sonore doit être joué si le joueur se déplace sur certaines parties de la carte. C'est-à-dire que marcher sur un rocher semblera différent de marcher sur de l'herbe. Cette technologie est utilisée dans Enemy Territory Quake Wars.
Le moteur audio utilise la technologie EAX de Creative Labs. Le modèle de réseau a la forme d'un client-serveur.
L'inconvénient du moteur id Tech 4 était qu'il avait besoin d'un GPU haute performance qui était au moins compatible avec OpenGL 2.0 et avait des shaders de pixels et de vertex entièrement programmables. Le moteur lui-même ne prenait pas en charge le rendu logiciel, qui était fourni par la série de cartes graphiques intégrées Intel GMA. À l'époque, avant id Tech 4, un processeur puissant pouvait compenser une carte graphique faible. Avant la sortie de Doom 3, John Carmack a averti les joueurs de ne pas acheter de cartes graphiques GeForce 4 MX pour le jeu, car ces cartes prennent en charge OpenGL 1.x mais pas OpenGL 2.0.
CONFIGURATION REQUISE POUR LE MOTEUR id Tech 4 |
Configuration minimale requise | Exigences système efficaces | Configuration système optimale |
Processeur: AMD Athlon XP 2100+ ou Pentium 4 2 GHz
RAM: 512 Mo de RAM
Vidéo: 128 MB
Carte vidéo: Radeon 9600 Pro ou GeForce FX 5600 ou supérieur Systèmes d'exploitation: Windows XP / Vista / 7 / 8 |
Processeur: AMD Athlon XP 3200+ ou Pentium 4 3.2 GHz
RAM: 1024 Mo de RAM
Vidéo: 256 MB
Carte vidéo: Radeon X800XT ou GeForce 6800 GT Systèmes d'exploitation: Windows XP / Vista / 7 / 8 |
Processeur: AMD Athlon X2 3800 + ou Core 2 Duo 6300
RAM: 1024 Mo de RAM
Vidéo: 512 MB
Carte vidéo: Radeon X1800 XT ou GeForce 7800 GT Systèmes d'exploitation: Windows XP / Vista / 7 / 8
|
ID Tech 5 MOTEUR |
id Tech 5 est un logiciel multiplateforme conçu pour être utilisé sur des ordinateurs personnels, des ordinateurs Macintosh, des consoles de jeux Playstation 3 et Xbox 360. La principale caractéristique d'idTech 5, comme ses prédécesseurs, était et reste qu'il est écrit en OpenGL, pas en DirectX. Le moteur id Tech 5 est utilisé dans les jeux : Rage, Wolfenstein : The New Order et The Evil Within.
id Tech 5 a été officiellement annoncé pour la première fois lors de la conférence mondiale des développeurs d'Apple à San Francisco le 11 juin 2007. La démo a eu lieu sur un Apple Macintosh à huit cœurs, mais la démo n'a utilisé qu'un seul cœur et une implémentation à un seul thread de l'API OpenGL. La carte vidéo utilisée était une Quadro 7000 avec 512 Mo de mémoire vidéo.
Lors de l'E3 2007, qui a eu lieu du 11 au 13 juillet 2007 à Santa Monica, en Californie, le moteur a été montré à des concédants potentiels mais pas au public. La première véritable démonstration publique a eu lieu à la QuakeCon 2007 lors du keynote annuel animé par John Carmack lui-même. À l'époque, il avait été annoncé qu'id Tech 5 serait utilisé dans un nouveau jeu en développement d'id Software, Rage, qui était basé sur une toute nouvelle propriété intellectuelle.
Lors de la QuakeCon 2007, John Carmack, développeur principal du moteur de jeu chez id Software, a déclaré au site Web LinuxGames qu'il souhaitait minimiser l'utilisation de technologies commerciales tierces dans le moteur, ce qui empêcherait finalement le moteur d'être open source. Par conséquent, le code source d'id Tech 5 sera finalement publié, tout comme ses prédécesseurs.
Le moteur a fait l'objet d'une démonstration avec environ 20 Go de données de texture et un monde mutable entièrement dynamique. Le moteur utilise la technologie avancée MegaTexture, qui utilise une texture avec une résolution allant jusqu'à 128 000 × 128 000 pixels (16 fois plus que la dernière version d'id Tech 4, qui utilisait une texture de 32 768 × 32 768 pixels).
En raison de la politique secrète d'id Software, il n'y a pas d'informations complètes sur le moteur, mais certaines conclusions peuvent être tirées. id tech 5 utilise toujours la version 3.0 des shaders, qui équivaut à DirectX 9.0. La différence entre cette version du moteur et son prédécesseur réside dans deux caractéristiques, la première est l'utilisation de la technologie Penumbra. La technologie vous permet de créer une pénombre plus fluide pendant le processus de rendu, et l'effet est obtenu à l'aide de cartes d'ombre. Ce n'est pas comme la méthode d'ombrage d'id Tech 4, où les ombres sortent avec des bords très durs. La seconde est le raffinement de la technologie de méga texture.
CONFIGURATION REQUISE POUR LE MOTEUR id Tech 5 |
Configuration minimale requise | Exigences système efficaces | Configuration système optimale |
Processeur: AMD Athlon X4 ou Core 2 Quad
RAM: 2048 Mo de RAM
Vidéo: 1024 MB
Carte vidéo: Radeon HD 2900 ou GeForce 8800 GTX Systèmes d'exploitation: Windows XP / Vista / 7 / 8 |
Processeur: AMD Athlon X4 ou Noyau i 3
RAM: 3078 Mo de RAM
Vidéo: 1536 MB
Carte vidéo: Radeon HD 7770 ou GeForce GTX 560 Systèmes d'exploitation: Windows XP / Vista / 7 / 8 |
Processeur: AMD FX 4350 ou Core i 5
RAM: 4096 Mo de RAM
Vidéo: 2048 MB
Carte vidéo: Radeon HD 6970 ou GeForce GTX 580 Systèmes d'exploitation: Windows XP / Vista / 7 / 8
|