Aller au contenu

Unreal Engine

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuisUnreal Engine 3)

Unreal Engine
Description de l'image Unreal Engine Logo.svg.

Informations
Développé par Epic Games
Dernière version 5.5 Preview 1[1]()
Écrit en C++Voir et modifier les données sur Wikidata
Supporte les langages C++etBlueprint
Système d'exploitation Microsoft Windows,GNU/LinuxetmacOSVoir et modifier les données sur Wikidata
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

Unreal Engineest unmoteur de jeu vidéopropriétaire développé parEpic Games.Les principaux concurrents de ce moteur sontUnityet leCryEnginedéveloppé parCrytek.

Unreal Engine 1

[modifier|modifier le code]

Fondée en1991par le programmeurTim Sweeney,Epic Gamesest au départ une jeunestartupdont lastratégie marketingest entièrement basée sur le principe dushareware.Fin1994,James Schmalz crée un prototype rudimentaire de jeu deflipperentrois dimensionsafin de développer ses champs de compétences. Fan inconditionnel deDoom,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 unmoteur physiqueet d’optimiser lesystème de rendu[3].

À cette époque,Doomreprésente la référence dujeu de tir à la première personne.Grand admirateur deJohn Carmackpour sa contribution à la création des moteurs 3D deWolfenstein 3DetDoom,Tim Sweeneya 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 uneprofondeur des couleursde 16-bit (65 536 couleurs, appelées « couleurs vraies ») en lieu et place des graphismes 8-bit usuels supportés par les standardsVGAetSVGA(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 baptisentUnrealet 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,Unrealest publié parGT Interactivele,devenant ainsi une vitrine pour le moteur développé parEpic 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 avecVolvoetGeneral Motors[10],[11].

Améliorations

[modifier|modifier le code]

Lorsqu’Unrealsort 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 modemultijoueur.Epic Gamescommence alors à réfléchir à uneextensionofficielle destinée à améliorer lecoderéseau du jeu et songameplayen multijoueur[12],[13],[14].Dans ce cadre,Tim Sweeneyet 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 pourUnreal,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 Gamesdécident finalement de faire de cette extension un jeu à part entière qu’ils baptisentUnreal Tournament[13].

Caractéristiques

[modifier|modifier le code]

L'Unreal Engineest programmé enC++et dans unlangage de script,baptisé «UnrealScript», utilisé pour 90 % du code lié augameplayd’Unreal Tournament[18].Le moteur utilise uneconception 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é auxplates-formesdans desbibliothèques logiciellessé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 niveauUnrealEdfait de l'Unreal Engineun 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é desmoddeurs[16].

L'Unreal Engine est axé sur la CSG (lagé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 desSkybox: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érationPlayStation,Nintendo 64,PlayStation 2etDreamcastainsi qu'auxPCde la fin desannées 1990.

Commeid Softwareavec leQuake engine,Epic Gamesmet 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 duQuake Engine.En plus des titres développés parEpic GamesetDigital Extreme,celui-ci a ainsi été utilisé par de nombreux studios de développement pour créer des jeux tels queDeus Ex,Runeou encoreStar Trek: Deep Space Nine: The Fallen[19].

Jeux utilisant l'Unreal Engine

[modifier|modifier le code]

Unreal Engine 2

[modifier|modifier le code]

Développement

[modifier|modifier le code]

La stratégie d’Epic Games évolue pour le développement de l’UnrealEngine 2, les développeurs souhaitant le rendre compatible avec laPlayStation 2,laXboxou laDreamcast.À 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].

Unreal Engine 2.X

[modifier|modifier le code]

À la suite d'un accord avecMicrosoft,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. SiUnreal Championshipsur Xbox utilise le moteur 2.0 pour obtenir des résultats médiocres (équivalents en détails moyen deUnreal Tournament 2003sur 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.

Caractéristiques

[modifier|modifier le code]

Autrement connu sous le nom deWarfare 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 trousBSP: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 desStatic meshes,c'est-à-dire des objets en3Dpré-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 laphysique ragdollpar 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érationPlayStation 2,Xbox,GameCubeetWii,ainsi qu'auxPCjusqu'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 jeuxTom Clancy's Splinter Cell,Deus Ex: Invisible War,la série desHarry Potter,Red Steel,BioShocketMirror's Edgepour 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].

Jeux utilisant l'Unreal Engine 2

[modifier|modifier le code]

Unreal Engine 3

[modifier|modifier le code]

Du point de vue des graphismes, Unreal Engine 3 gère ledisplacement mapping,diverses méthodes d'éclairage parpixel,leshadermodè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érationPlayStation 3,Xbox 360,ainsi qu'auxPCjusqu'à 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).

Jeux utilisant l'Unreal Engine 3

[modifier|modifier le code]

Unreal Development Kit

[modifier|modifier le code]

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:

  • UnrealEd, l'éditeur de jeu de Unreal Engine 3;
  • Unreal Kismet, éditeur de scripts (enFlowgraph);
  • Unreal PhAT, éditeur pour la physique dans le jeu (collisions, ragdolls etc);
  • Unreal Matinee, éditeur de cinématiques;
  • Unreal Swarm, pour la distribution de calculs;
  • L'éditeur SpeedTree, pour créer arbres, feuilles, herbes etc;
  • FaceFX, pour l'animation des visages.

Unreal Engine 4

[modifier|modifier le code]

Enaoû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 lahuitième générationde consoles. La seule personne à travailler sur le code source de l'Unreal Engine 4 estTim 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 laPlayStation 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 uneredevanceà partir d'un certainchiffre 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 nouveaulangage de programmation graphiqueappelé Blueprint.

Jeux utilisant l'Unreal Engine 4

[modifier|modifier le code]

Plateformes supportées

[modifier|modifier le code]

Unreal Engine 5

[modifier|modifier le code]

La cinquième version d'Unreal Engine est annoncée lors de l'évènement vidéo Summer Games Fest 2020 animé parGeoff 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é 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 virtualization 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 leet accessible officiellement aux développeurs le 5 avril 2022[28].

LaGDC2023 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 technologieSubstrate.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 detexture 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 1 Octobre 2024.

Jeux utilisant l'Unreal Engine 5

[modifier|modifier le code]

Notes et références

[modifier|modifier le code]
  1. (en)«Unreal Engine 5.5 Preview 1 is out», surUnreal Engine(consulté le).
  2. (en)Geoffrey Keighley, «The True Story Behind the Creation of Unreal - Action Aficionados», surGameSpot,.
  3. (en) Anthony Tan, «Tim Sweeney of Epic Games», surbeyond3d.com,.
  4. (en) Benj Edwards, «From The Past To The Future: Tim Sweeney Talks - Inside the Shareware Business», surGamasutra,.
  5. (en) Geoffrey Keighley, «The True Story Behind the Creation of Unreal - From Carpet to Foot», surGameSpot,.
  6. (en) Tolstiy, «Next gen engines: Tim Sweeney interview», surTolstiy.ru.
  7. (en) Zeality, «New Interview with Alexander Brandon», surthasauce.net,.
  8. (en) monokoma, «Unreal: PC - Beta / Tech Demo», surUnseen64.net,.
  9. (en) «Unreal is real», surUnreal.com,GT Interactive,.
  10. «Du jeu vidéo à l'industrie automobile, Epic Games veut diversifier les usages de l'Unreal Engine», surusine-digitale.fr(consulté le)
  11. «Volvo choisit Unreal Engine pour améliorer son système d'info-divertissement», surusine-digitale.fr(consulté le)
  12. Grossman 2003,Introduction,p. 91.
  13. aetbGrossman 2003,Early Development,p. 91-92.
  14. (en) «Sweeney Apologizes for Unreal Woes», surIGN,.
  15. Grossman 2003,A Game Takes Shape,p. 92-94.
  16. aetbGrossman 2003,What Went Right,p. 96-100.
  17. Grossman 2003,New Code, New Features,p. 94-95.
  18. Grossman 2003,Where We Go from Here,p. 102.
  19. (en) Paul Lilly, «Doom to Dunia: A Visual History of 3D Game Engines», surmaximumpc.com,.
  20. (en) Mike Thomsen, «History of the Unreal Engine (page 2)», surIGN,.
  21. Chris et Angel,Les infos chaudes du Net,janvier 2001,Joypadno104.
  22. (en) Mike Thomsen, «History of the Unreal Engine (page 3)», surIGN,.
  23. Plafond des revenus « non-taxés » par l'UDK.
  24. (en)«IF YOU LOVE SOMETHING, SET IT FREE», surunrealengine.com,(consulté le)
  25. «Bus Simulator 18», surpcgamingwiki.com
  26. «Fernbus Simulator», surpcgamingwiki.com
  27. (en)Epic Games, «A first look at Unreal Engine 5», surwww.unrealengine.com/,
  28. «Le moteur Unreal Engine 5 est officiellement accessible aux développeurs», surgamekult.com,(consulté le).
  29. «L'Unreal Engine 5.2 est disponible!», surUnreal Engine(consulté le)

Bibliographie

[modifier|modifier le code]

Document utilisé pour la rédaction de l’article:document utilisé comme source pour la rédaction de cet article.

Articles connexes

[modifier|modifier le code]

Liens externes

[modifier|modifier le code]

Sur les autres projets Wikimedia: