Unreal Engine

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Unreal Engine
Image illustrative de l'article Unreal Engine

Développeur Epic Games
Écrit en C++, Assembleur
Environnement Multiplate-forme
Type Moteur de jeu
Licence Propriétaire
Site web http://www.unrealengine.com/

Unreal Engine est un moteur de jeu vidéo développé par Epic Games et principalement orienté vers les jeux de tir à la première personne, même s'il tend à se diversifier.

Les principaux concurrents de ce moteur sont le id Tech, le Source engine ou plus récemment le CryENGINE et le Frostbite Engine.

Unreal Engine 1[modifier | modifier le code]

Création[modifier | modifier le code]

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[1]. 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[2]. À 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[3],[4]. 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[5]. 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[6]. 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 22 mai 1998, devenant ainsi un vitrine pour le moteur développé par Epic Games[7],[8].

Améliorations[modifier | modifier le code]

Lorsqu’Unreal sort en mai 1998, 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[9],[10],[11]. 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[12],[13]. 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é, 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[14]. 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[10].

Caractéristiques[modifier | modifier le code]

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[15]. 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é 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[13].

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éér son univers. Cela offre la possibilité au designer de l'unreal engine d'utiliser des "portals" pour cloisoner 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, Dreamcast ainsi qu'aux PC de la fin des années 1990.

Licence[modifier | modifier le code]

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[16].

Jeux utilisant l'Unreal Engine :

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 la PlayStation 2, la Xbox ou la Dreamcast. A l’époque, le développement des jeux PC et consoles sont en effet considéré comme deux choses différentes et souvent incompatible 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 multi-plateformes[17].

Unreal Engine 2.X[modifier | modifier le code]

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.

Caractéristiques[modifier | modifier le code]

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ée.

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 de la même époque.

Licence[modifier | modifier le code]

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 d’accord avec des studios tiers sans précédent. 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 célébres. 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[17].

Jeux utilisant l'Unreal Engine 2 :

Unreal Engine 3[modifier | modifier le code]

Du point de vue des graphismes, Unreal Engine 3 devrait entre autres gérer 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 de la même époque.

Rien n'est encore sûr, mais le site officiel du moteur précise qu'il nécessitera Direct X 9.0, on peut donc penser que contrairement à ses prédécesseurs, le moteur Unreal Engine 3, pour la plate-forme PC ne pourra être exécuté que sur environnement Microsoft Windows. Malgré tout, Roboblitz, premier jeu à avoir été commercialisé sur PC tout en étant basé sur Unreal Engine 3, possède un exécutable Linux, bien que la fonctionnalité de celui-ci n'ait pas été vérifiée.

Depuis novembre 2009, 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[18] (5 000 $ avant le 23 février 2011).

Jeux utilisant l'Unreal Engine 3 :

Unreal Development Kit[modifier | modifier le code]

Unreal Development Kit (UDK) était 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 (en Flowgraph) ;
  • 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]

En août 2005, alors qu'aucun jeu utilisant Unreal Engine 3 n'était encore sorti, Ken Beaulieu, vice-président d'Epic Games a annoncé que l'équipe travaillait 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 19 mars 2014, Epic Games annonce que son moteur sera disponible pour tous pour le prix de 19 $ par mois, ainsi que 5 % de royalties.

Depuis le 2 mars 2015, 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[19].

Jeux utilisant l'Unreal Engine 4 :

Notes et références[modifier | modifier le code]

  1. (en) Geoffrey Keighley, « The True Story Behind the Creation of Unreal - Action Aficionados », sur Gamespot.com,‎ .
  2. (en) Anthony Tan, « Tim Sweeney of Epic Games », sur beyond3d.com,‎ .
  3. (en) Benj Edwards, « From The Past To The Future: Tim Sweeney Talks - Inside the Shareware Business », sur Gamasutra.com,‎ .
  4. (en) Geoffrey Keighley, « The True Story Behind the Creation of Unreal - From Carpet to Foot », sur Gamespot.com,‎ .
  5. (en) Tolstiy, « Next gen engines: Tim Sweeney interview », sur Tolstiy.ru.
  6. (en) Zeality, « New Interview with Alexander Brandon », sur thasauce.net,‎ .
  7. (en) monokoma, « Unreal: PC - Beta / Tech Demo », sur Unseen64.net,‎ .
  8. (en) « Unreal is real », sur Unreal.com, GT Interactive,‎ .
  9. Grossman 2003, Introduction, p. 91.
  10. a et b Grossman 2003, Early Development, p. 91-92.
  11. (en) « Sweeney Apologizes for Unreal Woes », sur IGN.com,‎ .
  12. Grossman 2003, A Game Takes Shape, p. 92-94.
  13. a et b Grossman 2003, What Went Right, p. 96-100.
  14. Grossman 2003, New Code, New Features, p. 94-95.
  15. Grossman 2003, Where We Go from Here, p. 102.
  16. (en) Paul Lilly, « Doom to Dunia: A Visual History of 3D Game Engines », sur maximumpc.com,‎ .
  17. a et b (en) Mike Thomsen, « History of the Unreal Engine (page 2) », sur IGN.com,‎ .
  18. Plafond des revenus « non-taxés » par l'UDK.
  19. (en) « IF YOU LOVE SOMETHING, SET IT FREE », sur unrealengine.com,‎ (consulté le 3 mars 2015)

Annexes[modifier | modifier le code]

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.

  • Gossellin De Bénicourt Grégory, Les cahiers d'Unreal Engine 4 T1: Modélisation, Blueprints, Matériaux et Paysages, Éditions Graziel,‎ , 126 p. (ISBN 9791093846026)
  • Gossellin De Bénicourt Grégory, Les cahiers d'Unreal Engine 4 T2: Personnages, Intelligence Artificielle et Particules, Éditions Graziel,‎ , 126 p. (ISBN 9791093846033)
  • (en) Austin Grossman, Postmortems from Game Developer, Taylor & Francis,‎ , 328 p. (ISBN 9781578202140, lire en ligne) Ouvrage utilisé pour la rédaction de l'article
  • (en) Jason Gregory, Game Engine Architecture, CRC Press,‎ , 9864 p. (ISBN 9781439879184)
  • (en) Jason Busby, Zak Parrish et Jeff Wilson, Mastering Unreal Technology : Volume I: Introduction to Level Design with Unreal Engine 3, Pearson Education,‎ , 912 p. (ISBN 9780768688979) Ouvrage utilisé pour la rédaction de l'article

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :