Pourquoi certains jeux vidéo boudent les miroirs ? C'est une question vieille de quelques décennies, à laquelle on vous répond de la manière la plus concise possible.
De la naissance des premiers jeux vidéo à nos jours, l’industrie vidéoludique a démontré une capacité impressionnante à innover et à confectionner des œuvres à la technicité de plus en plus colossale, affichant un taux de réalisme toujours plus minutieux pour chaque élément mis en lumière. Pourtant, il reste les miroirs, encore très souvent boudés dans les grosses productions. Pourquoi ?
Vous le savez peut-être déjà, dans notre monde réel, les miroirs consistent en une surface lisse sur laquelle est posée en arrière-plan une couche réfléchissante, un élément généralement fait d'aluminium. La magie opère ensuite grâce à la lumière qui frappe le miroir et qui respecte la loi de la réflexion, selon laquelle l'angle d'incidence est égal à l'angle de réflexion. Tout un processus délicat qui permet l’apparition de l'objet réfléchi. Dans les jeux vidéo, c'est précisemment cette diffusion de lumière que l’on essaye de reproduire, avec toutes sortes de techniques plus ou moins efficaces, d’ailleurs illustrées dans ce meme très amusant de Tara_is_a_Potato sur Reddit.
- Quora, Pourquoi tant de jeux vidéos renoncent à faire figurer des miroirs dans leurs décors ?
- 80.lv, How Do Mirrors in Video Games Work?
- Linkedin, Mirrors in game, Bryan Muir-Hardinge
- Inside Gaming, How mirrors work in video games (YouTube)
- Linkedin, HISTORY OF GAME GRAPHICS. MIRROR REFLECTIONS, Blacksteinn
Les joies de la duplication...
Si les sources citent généralement Dark Edge (1992) comme l'un des premiers jeux à afficher un reflet de miroir, de premiers exemples remontent aux années 1980. Dans Prince of Persia (1989) notamment, le personnage utilise un miroir entièrement fonctionnel qui fait partie intégrante du scénario : en le traversant, il fait surgir un clone de l’autre côté. Mais la technique utilisée est relativement simple, les développeurs n’ayant eu qu’à dupliquer le sprite du héros, puis à l’inverser. On trouve également des reflets dans les jeux Airheart (1986) et Quest for Glory (1989) (source : Blacksteinn) qui, là aussi, reposent sur un système de duplication. Pareil dans un certain Super Mario 64 (1996), premier volet de la franchise à proposer un gameplay 3D mais qui ne nécessite encore qu'une très faible résolution ; il suffit, là aussi, de copier le niveau et de le dupliquer pour simuler la présence d’un miroir. Un exemple rendu populaire par le YouTubeur THERPGLORD qui s'est infiltré dans les coulisses du célèbre niveau des miroirs :
Dans Duke Nukem 3D sorti en 1996, exemple également très souvent cité pour son procédé efficace, “chaque miroir du jeu est une pièce supplémentaire dans la pièce, mais en miroir. Un personnage y était ajouté, reproduisant les mouvements du joueur”, expliquent les développeurs du studio Blacksteinn dans un papier publié sur Linkedin. Bien sûr, les décors ont tout intérêt à être relativement vides pour que cela fonctionne de manière parfaitement fluide.
Un système davantage populaire est la réflexion planaire, très souvent utilisée pour illustrer les reflets sur l’eau quand la mer est calme, mais aussi pour les reflets sur les sols brillants, ou même pour les miroirs. Les développeurs ajoutent une caméra virtuelle dans une surface réfléchissante 2D qui diffuse une image miroir dès qu'elle entre dans le champ de vision du joueur. Mais les réflexions ne peuvent pas être appliquées à n'importe quel élément géométrique et il faut que l’espace en question reste relativement minimaliste. Autrement, les créateurs ont une astuce bien habile à disposition : réduire drastiquement la résolution de l'image réfléchie et plonger la pièce dans laquelle se trouve le miroir dans l’obscurité, histoire d'éviter les couacs.
Citons d’autres techniques populaires à la volée : Les cube maps, vieille technique souvent observée dans des jeux de course et qui ne peut s’appliquer aux miroirs mais plutôt à d'autres éléments tels qu'on les retrouve sur une voiture. Le principe est de concevoir six images 2D placées sur les faces d'un cube invisible, chacun représentant une vue dans une direction spécifique.
Et plus il y a le SSR, une technologie encore assez jeune :
Elle est apparue dans Crysis 2, et a été construite avec le shader, qui recevait les réflexions en utilisant le ray tracing, mais uniquement pour les objets visibles à l'écran et en prenant en compte les informations obtenues lors des étapes précédentes du rendu. Cette technologie était appelée Screen Space Reflections (SSR). Cette méthode est assez gourmande en ressources, mais elle est tout de même plus économe que le rendu supplémentaire. Eh oui, seuls les objets visibles par le joueur sont soumis à la réflexion. D'ailleurs, le SSR est souvent combiné avec des cube maps - Blacksteinn.
Notez bien que ces procédés peuvent être combinés entre eux pour former le meilleur des mondes.
Screen Space Reflections : L'image de gauche montre les limites des réflexions dans l'espace de l'écran. Remarquez l'importance des "fuites" qui se produisent sur les bords de l'image ou dans la partie de la piscine située du côté de la caméra, où les reflets commencent à s'estomper. Ce phénomène est dû au fait que le SSR ne peut pas refléter les objets situés hors de l'écran.
Réflexions planaires : L'image de droite montre le même niveau, mais cette fois-ci, les réflexions planaires ont été activées. Remarquez qu'il n'y a pas de fuite dans l'image, même sur les côtés et les bords de la piscine, le reflet est cohérent et précis. En effet, les reflets planaires peuvent refléter des objets situés hors de l'écran, quelle que soit la vue de la caméra - Unreal Engine, légende de l'image ci-dessus.
...jusqu'à l'enfer du raytracing
Avec l’arrivée du Ray tracing ("lancer de rayon" en français, technique de calcul d'optique utilisée pour le rendu en synthèse d'image), la manœuvre devient tout de suite bien plus complexe et demande un temps colossal au processeur. C'est après tout la technique la plus bluffante : elle ne recrée par que l'effet de lumière, mais la source lumineuse toute entière. La problématique est d’ailleurs bien expliquée par le professeur Ernest Adams, ancien game designer sur la franchise Madden d'Electronic Arts :
Avec la technique du ray tracing, vous calculez la couleur de chaque pixel sur l'écran en déterminant l'origine du rayon de lumière (virtuel) qui éclaire ce pixel, y compris les rebonds (réflexion) et les courbures (réfraction). Cela demande énormément de temps au processeur et prendrait trop de temps pour pouvoir jouer à un jeu en temps réel. Il faudrait encore plus de temps si la scène avait plusieurs sources de lumière, une fenêtre et une lampe par exemple.
En d’autres mots : avec le raytracing, quand le rayon rencontre une surface réfléchissante, il produit un rayon de réflexion, et puis il poursuit la simulation de la lumière en rebondissant sur la surface. Exemple à l’appui, cette image, partagée par l’intéressé sur le forum Quora, qui illustre notamment une variété de réfractions et de réflexions sur les verres comme sur le glaçon que l’on peut observer en bas à gauche. “Nous ne pouvons tout simplement pas rendre une centaine de ces rayons par seconde (pas encore.) Le raytracing en temps réel est un Saint Graal de l’infographie, car quand nous arriverons à maîtriser cette technique, nous n’aurons plus à utiliser tous ces moyens détournés que nous utilisons de nos jours pour l'imiter”, développe Adams. Imaginez donc qu’un miroir devrait ici calculer et raytracer l'ensemble du jeu, ce qui représente déjà naturellement une ponction énorme sur les ressources. Il devrait également s’adapter aux actions du joueur ainsi qu’aux changements dans l'environnement virtuel, ce qui ajoute encore une charge significative aux capacités de traitement du jeu. Et puis il faudrait aussi mettre en place une coordination particulièrement minutieuse entre les différents systèmes de rendu si le miroir doit refléter des reflets de l’eau ou des particules.
Pas le choix, pour garantir une expérience fluide et agréable de bout en bout, les développeurs doivent trouver un équilibre satisfaisant entre la qualité des réflexions et les performances globales du jeu et opter pour la meilleure technique selon le contexte. Dans Resident Evil 4 Remake, il existe des surfaces réfléchissantes, uniquement quand le raytracing est activé. Dans l’épisode Village, Capcom a inséré une vidéo préenregistrée de Lady Dimitrescu, jouée devant elle alors qu’elle semble observer son reflet. Une astuce plutôt maligne est très répandue.
Big thanks to @BoundaryBreak for investigating the #ResidentEvilVillage mirror, which as it turns out, isn't a mirror at all but a pre-recorded video of #LadyDimitrescu playing back in front of her.
— Do The Mirrors Work In This Game? (@DoMirrors) July 3, 2021
I feel betrayed! #Capcom pic.twitter.com/hq9flcRdTv
Des surfaces réfléchissantes sont visibles sur Skyward Sword et rendent le boss final franchement épique. Dans le remake de Dead Space, dans Back 4 Blood, ou dans Elden Ring, les miroirs ne fonctionnent simplement pas. Dans Cyberpunk 2077, ils fonctionnent, à condition que vous les activez dans votre salle de bain. Dans Hitman 3, ils fonctionnent et sont absolument bluffants. Et dans d'autres jeux encore, les miroirs sont tout simplement brisés. La page X (ex-twitter) Do The Mirrors Work In This Game? est une variante du phénomène Can we pet the dog? et cite, à tour de bras, quelques centaines d’exemples imagés de jeux où les miroirs marchent, ou non. Un petit régal à scroller en temps d’ennui.