QD Reacts : Unreal Engine 5

Et la lumière dynamique fût. 

Propulsé en 1998 avec la sortie du premier jeu de tir Unreal, le moteur de jeu Unreal Engine s’apprête aujourd’hui à lâcher sa cinquième version. Annoncée le 13 mai dernier, cette future référence des outils de développement jeu vidéo est dans les tuyaux depuis maintenant 2 ans, pour sa sortie est calée à 2021. Avec en ligne de mire, la nouvelle génération incarnée par la PlayStation 5 et la Xbox Series X. Impatients de savoir ce que cette technologie va apporter à notre quotidien de joueuses et joueurs ? Suivez le guide, pour un premier point avec l’un de nos spécialistes maison !  

D’abord une première question simple : ça sert à quoi l’Unreal Engine ?  

Anthony Lead Maya Tools Developer  

On a tendance à simplifier en employant le terme générique de « moteur de jeu », mais en réalité l’Unreal Engine est un environnement de développement qui permet de créer des jeux ; il est composé de moteurs et d’outils. Lorsqu’on parle d’Unreal Engine, on pense en premier lieu à son moteur de rendu, mais il vient également avec un moteur audio, pour les bruitages et la musique, un moteur physique pour la simulation, un moteur d’animation pour les personnages, un moteur d’IA principalement dédié à la navigation – le « pathfinding » – et tout un tas d’autres fonctions… On a également des outils, comme un éditeur de terrain, un éditeur d’effets spéciaux, des éditeurs dédiés au mécaniques de jeu, etc… Bref, on a tout pour assembler les éléments d’un jeu et le programmer pour qu’il soit jouable ! 

Très schématiquement, si j’ai accès à ce moteur, je peux créer un jeu vidéo tout seul ?  

Oui c’est possible. Techniquement, l’environnement de développement contient tout ce qu’il faut pour concevoir un jeu de A à Z. Bon, ça demande d’être polyvalent pour adresser tous les aspects de la création d’un jeu, mais techniquement c’est possible. 

Il s’adresse à qui exactement ce moteur de jeu ?  

Historiquement c’était surtout réservé aux gros studios. La licence était assez chère et il fallait un bon niveau technique pour arriver à l’utiliser. Aujourd’hui, il est beaucoup plus simple, mieux documenté et plus abordable. C’est donc devenu une option très sérieuse pour les studios plus modestes, voire pour des petites équipes indépendantes. L’éditeur est d’ailleurs disponible gratuitement, donc tout le monde apprendre à l’utiliser. 

Quels sont les points essentiels à retenir sur Unreal Engine 5 ? 

Il y a beaucoup de petites nouveautés ; en dehors de la compatibilité avec la nouvelle génération de consoles, je retiens deux ajouts majeurs : Lumen et Nanite. Lumen, c’est une nouvelle technologie qui permet de calculer dynamiquement l’illumination globale d’une scène, et Nanite est système de gestion des géométrie 3D qui permet d’afficher un nombre colossal de triangles à l’écran. Ces deux points sont très importants, ils demandent beaucoup d’efforts chez les développeurs. Habituellement, une grande partie de l’éclairage des jeux est « statique », c’est à dire précalculée et non modifiable par le joueur. Il arrive que notre personnage de jeu porte une source de lumière, comme une lampe torche, mais cet éclairage dynamique reste très simple. On n’a que l’impact direct de la source de lumière et généralement une seule ombre ; on n’a pas du tout le reste de la propagation de la lumière dans la pièce, avec une multitude de rebonds. Ce calcul est trop complexe pour qu’on puisse se permettre de le faire en temps réel pendant le jeu. On doit donc le précalculer et le mélanger à l’éclairage dynamique pour que le résultat soit crédible. La technologie Lumen permet de faire ce calcul en temps réel, dynamiquement ; théoriquement on n’a plus besoin de précalculer l’éclairage. Ça pourrait faire gagner beaucoup de temps aux artistes ! 

Et c’est la même chose pour Nanite : la préparation des éléments graphiques pour les adapter à un affichage en temps réel demande beaucoup d’efforts. On doit fabriquer des versions dégradées de nos éléments pour limiter le nombre de triangle à l’écran. Avec Nanite, en théorie on va pouvoir importer directement la version très haute résolution d’un élément graphique. Dans les faits, si on peut vraiment prendre les versions haute-résolution et les envoyer dans le jeu sans opération supplémentaire, ça va faire gagner beaucoup de temps aux artistes.  

La démo qui a été présentée est très impressionnante, d’un point de vue de néophyte ; en tant que développeur, quel est ton ressenti sur ces images ? 

Je dirais que les images vues dans la démo sont presque plus impressionnantes pour moi, en tant que développeur, que pour un néophyte. Le fait de pouvoir afficher autant de détails et d’avoir un éclairage globale dynamique, c’est bluffant ! Et ça ne s’explique pas simplement par la puissance de la nouvelle génération de consoles ; ils ont réellement mis en place des choses très intéressantes dans ce nouveau moteur de rendu. À vrai dire, pendant le premier visionnage, je suis resté très prudent, en partant du principe que si ça avait l’air d’être trop beau pour être vrai, c’est probablement que ça ne l’était pas. Mais après avoir étudié la question plus en détail, l’approche d’Epic me semble tenir la route. Il reste encore à voir les limitations du système, parce qu’il y en a forcément. Par exemple, pour le moment on n’a pas tout vu sur la gestion de la transparence ou de la réflexion. On n’a pas de gros plan sur les cheveux du personnage, il n’y a pas beaucoup de végétation… La question est de savoir si tout ça est compatible avec Lumen et Nanite.  

Cette nouvelle version d’Unreal Engine, qu’est-ce que ça va changer très concrètement pour les joueurs ?  

D’abord, les jeux vont gagner en qualité graphique. Il va clairement y avoir un gain au niveau de la mise en scène et de l’ambiance, si c’est bien utilisé. Et on va avoir des environnements beaucoup plus vastes et détaillés. Je pense qu’il va y avoir de plus en plus de petits studios qui vont être capables de fournir de résultats spectaculaires, avec un budget modeste. Donc indirectement, les joueurs vont en profiter. 

Et pour les équipes de développement ?  

Pour les codeurs et les artistes, potentiellement on peut gagner beaucoup de temps de production, ce qui ouvre beaucoup de possibilités : soit faire la même chose qu’avant mais avec des délais, budgets et équipes plus réduites. Soit garder les mêmes données, mais mettre sur d’autres aspects les efforts économisés, pour améliorer la qualité globale. Dans les deux cas ça promet pas mal de changements dans la façon de fabriquer les jeux. Mais attention, ces gains de temps ne s’appliquent pas à tous les métiers, ça ne concerne que le rendu. On ne peut donc pas appliquer magiquement une formule et prédire des temps d’itération moins longs pour tous les jeux, ça reste malgré tout très dépendant des projets. Et puis il faut aussi garder à l’esprit que les jeux sont de plus en plus multiplateformes – PC, consoles, mobiles. Il faut donc que ces nouveautés soient disponibles sur toutes ces plateformes. En résumé, c’est très excitant mais il reste encore beaucoup d’inconnues. Attendons d’avoir accès au moteur complet pour évaluer son réel impact. 

As-tu un conseil pour celles et ceux qui veulent se lancer sur Unreal Engine ?  

Avant tout chose, je dirais que le plus important c’est d’apprendre l’anglais ! Le logiciel est gratuit, donc si on est motivé il n’y a qu’à se lancer. Il y a d’ailleurs des tonnes de tutoriels sur le net et la documentation est bien faite. En revanche, les ressources les plus intéressantes sont en anglais, donc la maîtrise de la langue me semble être le prérequis essentiel. 

Merci Anthony pour cet avis d’expert ! On rappelle que la version 5 d’Unreal Engine est attendue en phase de test pour début 2021, avec un lancement complet prévu à l’automne.