Loading AI tools
moteur de jeu vidéo De Wikipédia, l'encyclopédie libre
Unreal Engine est un moteur de jeu vidéo propriétaire développé par Epic Games. Les principaux concurrents de ce moteur sont Unity et le CryEngine développé par Crytek.
Développé par | Epic Games |
---|---|
Dernière version | 5.5 Preview 1[1] () |
Écrit en | C++ |
Supporte les langages | C++ et Blueprint |
Système d'exploitation | Microsoft Windows, GNU/Linux et macOS |
Environnement | Multiplate-forme |
Type | Moteur de jeu |
Licence | Sources librement consultables, avec un système de redevance pour un usage commercial |
Documentation | docs.unrealengine.com |
Site web | www.unrealengine.com |
Fondée en 1991 par le programmeur Tim Sweeney, Epic Games est au départ une jeune startup dont la stratégie marketing est entièrement basée sur le principe du shareware. Fin 1994, James Schmalz crée un prototype rudimentaire de jeu de flipper en trois dimensions afin de développer ses champs de compétences. Fan inconditionnel de Doom, il décide de s’en inspirer et commence à écrire un programme capable d’afficher des textures et de les étirer de façon à simuler un effet 3D[2]. Début 1995, il parvient finalement à créer un moteur 3D fonctionnel dont il fait une première présentation en créant un niveau représentant un château médiéval. Sweeney se montre alors très intéressé par son projet et se joint à lui pour la programmation du moteur. Il prend notamment l’initiative de créer un éditeur de niveau, afin de simplifier le processus de création des niveaux, d’implémenter un moteur physique et d’optimiser le système de rendu[3].
À cette époque, Doom représente la référence du jeu de tir à la première personne. Grand admirateur de John Carmack pour sa contribution à la création des moteurs 3D de Wolfenstein 3D et Doom, Tim Sweeney a l’ambition de concurrencer ce grand nom du jeu vidéo[4],[5]. Il décide donc de prendre en main la programmation du moteur graphique et de le pousser au maximum de ses capacités. Dans cette optique, le moteur est modifié afin de gérer une profondeur des couleurs de 16-bit (65 536 couleurs, appelées « couleurs vraies ») en lieu et place des graphismes 8-bit usuels supportés par les standards VGA et SVGA (qui n’affichaient que 256 couleurs). Après 18 mois de travail acharné et sept refontes du code source, il parvient enfin à obtenir une version stable et performante du moteur[6]. Réalisant les possibilités offertes par cette technologie, Schmalz et Sweeney décident dès 1994 de l’utiliser pour créer un jeu vidéo qu’ils baptisent Unreal et qui donnera son nom au moteur de jeu[7]. Après la publication d'une première version de démonstration de la technologie utilisée pour celui-ci en 1995, Unreal est publié par GT Interactive le , devenant ainsi une vitrine pour le moteur développé par Epic Games[8],[9].
Au-delà du jeu video, l'Unreal Engine est également utilisé pour la création de systèmes d'info-divertissement automobile. Epic Games a ainsi mis en place des partenariats avec Volvo et General Motors[10],[11].
Lorsqu’Unreal sort en , le jeu est plutôt bien accueilli par la presse spécialisée et les joueurs, mais sa réputation est peu à peu ternie par les lacunes de son mode réseau qui rebutent les joueurs expérimentés. Conscient de ces lacunes, les développeurs se focalisent donc sur la correction des problèmes entachant le mode multijoueur. Epic Games commence alors à réfléchir à une extension officielle destinée à améliorer le code réseau du jeu et son gameplay en multijoueur[12],[13],[14]. Dans ce cadre, Tim Sweeney et Steve Polge se focalisent sur l'amélioration du code réseau et du moteur de jeu de l’UnrealEngine 1[15],[16]. Les délais étant moins contraignants que ceux imposés pour Unreal, les programmeurs disposent de suffisamment de temps pour exploiter pleinement le potentiel du moteur de jeu. Ils peuvent ainsi utiliser certaines caractéristiques du moteur qu'ils n'avaient encore jamais testées, ce qui leur permet notamment d'améliorer sensiblement le rendu graphique des personnages et des niveaux, permettant par exemple de multiplier par quatre le niveau de détail des apparences disponibles pour les personnages, notamment au niveau des visages[17]. Devant l’ampleur de la tâche, Epic Games décident finalement de faire de cette extension un jeu à part entière qu’ils baptisent Unreal Tournament[13].
L'Unreal Engine est programmé en C++ et dans un langage de script, baptisé « UnrealScript », utilisé pour 90 % du code lié au gameplay d’Unreal Tournament[18]. Le moteur utilise une conception orientée objet, ce qui lui permet d'être extrêmement modulaire. Les interfaces des différentes sous-parties du code étant clairement définies, les développeurs peuvent travailler sur l'une d'entre elles sans que cela n'affecte le reste du jeu. Cela a également permis d'isoler le code lié aux plates-formes dans des bibliothèques logicielles séparées, facilitant le portage du jeu sur d'autres plates-formes. Enfin, cette modularité se retrouve dans le langage de script du moteur de jeu. Tous les éléments du jeu, comme les armes ou les objets, sont définis de manière indépendante. Les programmeurs peuvent donc ajouter ou modifier ces éléments sans que cela n'affecte le code source. Cette conception orientée objet couplée avec l'éditeur de niveau UnrealEd fait de l'Unreal Engine un système performant pour créer de nouveaux jeux ou des modifications de jeux l'utilisant. Une grande partie du code a en effet été conçue de manière à rendre le jeu attractif pour les programmeurs et les artistes de la communauté des moddeurs[16].
L'Unreal Engine est axé sur la CSG (la géométrie de construction de solides) soustractive à l'inverse du quake engine, basé sur la géométrie additive. En résumé, pour construire un univers dans le quake engine, les éléments sont ajoutés au vide (un peu comme l'on construirait une maison en ajoutant des briques). Dans l'unreal engine, le monde est plein au départ et le designer creuse dans celui-ci pour créer son univers. Cela offre la possibilité au designer de l'unreal engine d'utiliser des "portals" pour cloisonner son monde en zones fermées bien distinctes et ainsi offre au moteur la possibilité grâce aux PVS (potential visibility sets) de n'afficher que la partie visible d'un univers. Ainsi, le moteur d'unreal pouvait offrir des intérieurs complexes et des extérieurs riches tout en offrant des performances impressionnantes pour l'époque. Pour le « ciel », Epic adopta le système des Skybox : procédé aujourd'hui courant pour représenter le ciel en 3D temps réel.
Unreal Engine est destiné aux consoles de la génération PlayStation, Nintendo 64, PlayStation 2 et Dreamcast ainsi qu'aux PC de la fin des années 1990.
Comme id Software avec le Quake engine, Epic Games met ensuite l’Unreal Engine à disposition sous licence. Particulièrement populaire dans la communauté des développeurs de mods, celui-ci devient rapidement le principal concurrent du Quake Engine. En plus des titres développés par Epic Games et Digital Extreme, celui-ci a ainsi été utilisé par de nombreux studios de développement pour créer des jeux tels que Deus Ex, Rune ou encore Star Trek: Deep Space Nine: The Fallen[19].
La stratégie d’Epic Games évolue pour le développement de l’UnrealEngine 2, les développeurs souhaitant le rendre compatible avec la PlayStation 2, la Xbox ou la Dreamcast. À l’époque, le développement des jeux PC et des consoles sont en effet considérés comme deux choses différentes et souvent incompatibles du fait de la rapide évolution de la puissance des ordinateurs. Pour l’Unreal Engine 2, Epic Games souhaite donc réconcilier les deux mondes en créant des outils permettant de facilement créer des jeux multiplateformes[20].
À la suite d'un accord avec Microsoft, l'Unreal Engine est rendu disponible aux développeurs sur Xbox[21]. Unreal Engine 2.X est une version spéciale du moteur 2.0 optimisée pour les jeux Xbox. Si Unreal Championship sur Xbox utilise le moteur 2.0 pour obtenir des résultats médiocres (équivalents en détails moyen de Unreal Tournament 2003 sur PC), son successeur, Unreal Championship 2: The Liandri Conflict, utilise le moteur 2.X et s'avère bien plus complexe et détaillé, grâce à une meilleure gestion des capacités de la console.
Autrement connu sous le nom de Warfare Engine.
Quand on en arrivait aux intérieurs complexes, où il fallait creuser nombre de détails, la première version du moteur peinait et affichait ce qu'on appelle des trous BSP : l'espace à afficher est trop segmenté en différentes surfaces, et on assiste à des bugs graphiques (principalement des répétitions de textures) ou même physiques (il arrive qu'un joueur puisse traverser le sol).
Dans des jeux qui demandaient toujours plus de détails, Epic a donc opté pour séparer les détails de la géométrie générale du niveau. Cette dernière resterait « à l'ancienne », et les premiers seraient remplacés par des Static meshes, c'est-à-dire des objets en 3D pré-calculés.
En plus des améliorations standard en termes de rendu de la géométrie, des textures et de l'éclairage, Unreal Engine apporta aussi le support pour l'animation squelettale (utilisée pour la physique ragdoll par le biais du Karma Engine).
Une transition entre les versions 2 et 3 du moteur, appelée 2.5, a aussi vu le jour. Celle-ci intègre quelques effets supplémentaires mais reste très proche de la version 2.
Unreal Engine 2 est destiné aux consoles de la génération PlayStation 2, Xbox, GameCube et Wii, ainsi qu'aux PC jusqu'au milieu des années 2000.
Avec l’Unreal Engine 2, c’est également la stratégie d’octroi des licences d’Epic Games qui évolue. Ainsi, le premier titre basé sur nouveau moteur à être publié – America's Army – n’a pas été développé en interne mais par un studio ayant acquis la licence. Ce changement de stratégie se traduit par un nombre sans précédent d’accords avec des studios tiers. L’Unreal Engine 2 est ainsi utilisé pour les jeux Tom Clancy's Splinter Cell, Deus Ex: Invisible War, la série des Harry Potter, Red Steel, BioShock et Mirror's Edge pour ne citer que les plus connus. Enfin, le nouveau moteur se différencie également de ses prédécesseurs par sa flexibilité. Ainsi, si au milieu des années 1990, les moteurs de jeux étaient généralement utilisés pour créer des clones du jeu original, l’Unreal Engine 2 change la donne en permettant la création de n’importe quel type de jeu vidéo[22].
Du point de vue des graphismes, Unreal Engine 3 gère le displacement mapping, diverses méthodes d'éclairage par pixel, le shader modèle 3.0 (tout en gérant des solutions de remplacement basées sur les anciennes versions) et l'environment mapping.
Pour optimiser les vitesses de calcul et d'affichage, Epic a décidé de baser ses objets 3D sur deux modèles : l'un de qualité moyenne — et donc rapide à afficher, et l'autre d'une qualité maximale. C'est le modèle de qualité moyenne qui est affiché, le modèle de qualité supérieure étant utilisée pour appliquer un relief très détaillé sur le modèle moyen sous forme de normal map, ce qui permet d'obtenir des modèles légers mais très détaillés.
Unreal Engine 3 est destiné aux consoles de la génération PlayStation 3, Xbox 360, ainsi qu'aux PC jusqu'à la fin des années 2000-début 2010.
Depuis , il est possible de télécharger Unreal Engine 3 sur le site d'Epic Games et de l'utiliser sans limitation et gratuitement pour une utilisation non-commerciale/promotionnelle. Il est toutefois possible de commercialiser un jeu réalisé avec le moteur contre l'acquisition d'une licence de 99 $ et le reversement de 25 % du chiffre de vente après les premiers 50 000 $ engrangés[23] (5 000 $ avant le ).
Unreal Development Kit (UDK) est un kit de développement de jeux vidéo basé sur Unreal Engine 3 et offrant un nombre important de possibilités de création, que ce soit pour le contenu comme pour le code source (celui-ci n'étant que l'UnrealScript). Epic Games a produit le kit de développement.
Les outils inclus sont :
En août 2005, alors qu'aucun jeu utilisant Unreal Engine 3 n'était encore sorti, Ken Beaulieu, vice-président d'Epic Games, annonce que l'équipe travaille depuis deux ans sur la version 4, sans donner plus de détails. Ce moteur graphique cible la huitième génération de consoles. La seule personne à travailler sur le code source de l'Unreal Engine 4 est Tim Sweeney, directeur technique et fondateur d'Epic Games. Michael Capps, président d'Epic Games, a indiqué que le moteur devrait être prêt vers 2012[réf. nécessaire].
Durant l'annonce de la PlayStation 4, Sony a présenté des enregistrements de jeux utilisant l'Unreal Engine 4.
Le , Epic Games annonce que son moteur sera disponible pour tous au prix de 19 $ par mois, ainsi que 5 % de royalties.
Depuis le , Unreal Engine 4 est gratuit, les développeurs l'utilisant pour développer des jeux ou vidéos commerciaux devant toutefois payer une redevance à partir d'un certain chiffre d'affaires[24]. À titre de comparaison, la société exigeait une redevance de 25 % pour Unreal Engine 3. L’Unreal Engine 4 permet de créer pour PS4, PS5, Xbox One, Xbox Series, Nintendo Switch, iOS, Windows, Steam, Linux, HTML 5, PlayStation VR, Android, Oculus, Gear VR, Steam VR, Magic leap et Google VR. Il propose également le C++, et un nouveau langage de programmation graphique appelé Blueprint.
La cinquième version d'Unreal Engine est annoncée lors de l'évènement vidéo Summer Games Fest 2020 animé par Geoff Keighley[27]. Celle-ci présente de nouvelles technologies présentées comme révolutionnaires par Epic Games. Lumen, un système d'éclairage dynamique à rebond de faisceaux, technologie semblable au raytracing, mais optimisée pour des jeux en temps réel. Nanite est aussi présenté, c'est une technologie se voulant bouleverser les normes établies dans le monde de la 3D. Cette technologie permet théoriquement un nombre infini de polygones dans une scène sans LOD grâce à une virtualisation des vertex, descendant le nombre de polygones affiché au nombre de pixels affichés à l'écran pour les modèles les plus complexes. Unreal Engine 5 se veut aussi compatible avec le DLSS, le DLSS 2.0, le DLSS 3 et le DLSS 3.5.
Elle est disponible en accès anticipé depuis le et accessible officiellement aux développeurs le 5 avril 2022[28].
La GDC 2023 a été marquée du côté d'Unreal Engine par l'annonce de la version 5.2, introduite par une démonstration au réalisme impressionnant de la nouvelle gestion en temps réel de terrains procéduraux gigantesques ainsi que l'arrivée d'un nouvel algorithme de calcul des réflexions multicouches sur les textures, connu en interne comme le "Projet Opale", et présenté dans l'éditeur comme la technologie Substrate. Comme cela remet en question tout l'ancien système de matériaux, des incompatibilités sont visibles entre les versions 5.1 et 5.2, et avec les outils externes de texture painting.
La version 5.2 est sortie le 11 mai 2023 apportant des améliorations et nouveautés au moteur[29].
La version 5.3 est disponible depuis le 6 septembre 2023 apportant des améliorations et nouvelles fonctionnalités.
La version 5.5 en Preview 1 est disponible depuis le .
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.