id Tech 4
Créateur | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
---|---|
Développé par | id Software |
Première version | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Dernière version | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Version avancée | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Dépôt | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Assurance qualité | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Écrit en | C++ |
Interface | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Supporte les langages | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Système d'exploitation | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Environnement | Windows, Mac OS X, Linux, Xbox, Xbox 360, PlayStation 3 |
Taille des données | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Formats lus | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Formats écrits | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Langues | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Type | Moteur de jeu |
Licence | Licence publique générale GNU |
Documentation | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Site web | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Chronologie des versions
L'id Tech 4, plus connu sous le nom de Doom 3 engine est un moteur de jeu vidéo développé par id Software et utilisé pour la première fois dans le jeu Doom 3.
Conçu principalement par John Carmack, celui-ci a aussi créé d'autres moteurs par le passé comme le Doom engine et le Quake engine, qui ont été généralement reconnus comme de grandes avancées technologiques dans le domaine.
Historique[modifier]
L'id Tech 4 a d'abord été conçu comme une amélioration du Quake engine. À l'origine, il était prévu de complètement réécrire le moteur de rendu du Quake Engine, tout en gardant certains sous-systèmes comme l'accès aux fichiers et la gestion de la mémoire. Après que le nouveau moteur de rendu fut fonctionnel, il fut décidé de passer du langage C au C++, ce qui nécessita une réécriture et une restructuration complète du reste du moteur. Le moteur actuel ne contient donc que très peu de code issu du moteur Quake engine, ce qui en fait le premier vrai nouveau moteur d’id Software depuis 1996.
Ajouts par rapport à l'id tech 3[modifier]
L'id Tech 4 est sorti avec de nombreuses nouvelles technologies par rapport au Quake 3 engine (id tech 3) qui l'a précédé. Cela inclut le bump mapping, le normal mapping et la lumière spéculaire. D'autres fonctionnalités ont été ajoutées par la suite au moteur, comme la technologie MegaTexture (notamment utilisée dans le jeu Enemy Territory: Quake Wars).
IA et scripting[modifier]
Les personnages non joueurs ont une intelligence artificielle (IA) rudimentaire (de type pathfinder) et le jeu est enrichi d'un langage de script appelé DoomScript.
Pixel shaders[modifier]
L'id tech 4 permet divers effets propres à la génération d'effets vidéo en pixel shader : déformation, flou, bump mapping, etc.
Réécriture complète en objet[modifier]
Le moteur a été entièrement réécrit en C++.
Réécriture des formats de fichier[modifier]
Les fichiers du jeu sont désormais entièrement encodés avec le format ASCII qui était déjà utilisé pour coder les entités dans l'Id Tech 3. Ce format est plus lent à charger mais plus souple, plus adapté à l'objet et plus facile à déboguer.
Les cartes du jeu (maps) ne sont plus codées sur un simple fichier .bsp, mais encodées sous la forme de 4 fichiers différents afin de mieux isoler les différentes partie du programme :
- le fichier « .map », lu par l'éditeur de niveaux du jeu et par le jeu lui-même, qui contient les entités et autres informations. Il sert à générer 3 autres fichiers :
- le fichier « .cm », qui définit une collisionmap pour le moteur physique ;
- le fichier « .proc », qui contient toute la géométrie pré calculée par le compilateur : triangles, portails, volumes de lumière des lampes statiques ;
- le fichier « .aas », qui contient des structures pour guider l'IA.
L'occlusion n'est plus approximativement pré-calculée dans des tables, elle est calculée en temps réel à l'aide de portails stockés dans le bsp.
Éclairage et ombres dynamiques en temps réel[modifier]
La principale innovation de l'id Tech 4 est l'utilisation totale de l'éclairage dynamique. Les volumes d'ombres sont rendus en polygones avec un algorithme appelé Carmack's Reverse. Les volumes d'ombre des lampes statiques sont pré-calculés à la compilation de la map, les volumes d'ombre de lampes mobiles sont calculés en temps réel.
Alors qu’auparavant les moteurs 3D combinaient grossièrement les lumières pré-calculées ou les lightmaps avec des lumières dynamiques dont l'effet changeait la luminosité d'un objet entier, l'approche utilisée par l'id Tech 4 a permis un éclairage et un ombrage plus réaliste qu'auparavant.
Synchronisation des lèvres[modifier]
Quake 4 offre une technologie de synchronisation des lèvres en temps réel. Un système qui est similaire à celui du Source Engine, avec onze émotions faciales génériques et le support des langues anglaise, française, italienne et espagnole (le Source Engine est indépendant de la langue).
Technologie de rendu MegaTexture[modifier]
MegaTexture est une technologie apparue avec Enemy Territory: Quake Wars. Elle est conçue pour éliminer les textures répétitives dans un environnement.
La version originale de l'id Tech 4 a été critiquée pour son inaptitude à gérer les paysages et les décors extérieurs. La technologie MegaTexture corrige ce problème en permettant l'utilisation d'une seule texture massive recouvrant tout le niveau.
Il est actuellement nettement plus simple de charger une seule texture de 32000x32000 pixels que seize textures de 4000x4000 pixels. Le résultat est considérablement plus détaillé qu'avec des textures répétitives. De plus, la sous-couche MegaTexture permet aussi d'appliquer une grande variété de paramètres à certaines zones, comme la tenue de route des véhicules, les bruits de pas ou les particules à utiliser pour les explosions. Ce qui limite l'utilisation de polygones supplémentaires.
Futures améliorations prévues[modifier]
Les ombres gérées par l'id Tech 4 original ont un gros défaut : leurs contours sont tous parfaitement nets. Les jeux suivants basés sur ce moteur permettront l'utilisation de véritables ombres douces par une véritable gestion de la pénombre, calculée par rapport à la distance entre la lumière et le cache[réf. nécessaire].
Liste de jeux utilisant l'id Tech 4[modifier]
- Doom 3
- Doom 3: Resurrection of Evil
- Doom 3: The Lost Mission
- Quake 4
- Prey
- Enemy Territory: Quake Wars
- Wolfenstein
- Brink
- Quadrilateral Cowboy
Notes et références[modifier]
Article connexe[modifier]
Erreur Lua dans Module:Catégorisation_badges à la ligne 170 : attempt to index field 'wikibase' (a nil value).Erreur Lua dans Module:Suivi_des_biographies à la ligne 189 : attempt to index field 'wikibase' (a nil value).
Cet Article wiki "Id Tech 4" est issu de Wikipedia. La liste de ses auteurs peut être visible dans ses historiques et/ou la page Edithistory:Id Tech 4.