La Nintendo 64 traîne la même réputation depuis 1996 : de super jeux, un brouillard terrible. Ce mur gris qui cachait tout au-delà de 6 mètres n'était pas un choix stylistique. C'était une limitation matérielle que tous les développeurs travaillant sur la plateforme rencontraient, et que la plupart acceptaient. Pendant 30 ans, personne n'avait trouvé comment contourner ce problème à grande échelle.
Le développeur James Lambert vient d'y parvenir.
Le problème du brouillard de la N64, enfin expliqué
Lambert, qui avait précédemment créé Portal 64 (un demake fonctionnant sur du matériel N64 réel) et un romhack de Super Mario 64 compatible VR, a maintenant tourné son attention vers un projet de game jam appelé Junkrunner 64. Le jeu fonctionne sur du matériel N64 réel et sur des émulateurs très précis, dont Ares, et il présente quelque chose que personne n'attendait sur la plateforme : une distance d'affichage comparable à celle de The Elder Scrolls V: Skyrim, le RPG en monde ouvert de Bethesda sorti en 2011 et fonctionnant sur du matériel sorti 15 ans après la N64.
"Vous pouvez vous tenir à un coin de la carte et voir jusqu'à l'autre bout", explique Lambert dans sa vidéo explicative. Lorsqu'il superpose une comparaison de taille, la carte de Junkrunner 64 éclipse complètement le monde de The Legend of Zelda: Ocarina of Time sur la même plateforme. L'équivalent le plus proche en termes d'échelle ? Skyrim.
Le coupable technique derrière tout ce brouillard de la N64 est quelque chose appelé le Z-fighting. Le Z-buffer de la console, qui suit la profondeur des objets pour qu'ils soient rendus dans le bon ordre, n'est tout simplement pas assez précis pour gérer la géométrie distante. Lorsque les objets s'éloignent de la caméra, la N64 perd la trace de celui qui est le plus proche, et les choses commencent à être rendues dans le mauvais ordre. Une montagne lointaine se rend par-dessus une colline plus proche. Le brouillard était la solution que tous les développeurs utilisaient car il cachait le problème avant qu'il ne devienne visible.
Comment Lambert a vraiment résolu le problème
Voici le truc : la solution trouvée par Lambert est élégante précisément parce qu'elle reflète les techniques utilisées par les moteurs modernes, simplement adaptées au matériel de 1996.
"La solution, c'est que je dessine le monde deux fois", explique Lambert. "D'abord, je dessine tout ce qui est loin, réduit d'environ 100 fois, puis je fais un passage séparé où je dessine tout ce qui est proche." Le monde est divisé en tuiles à plusieurs niveaux de détail (LOD). Les tuiles distantes sont rendues en basse résolution, et à mesure que le joueur s'approche, des versions plus détaillées les remplacent. Avant même qu'une tuile ne soit rendue, le moteur vérifie si elle est dans le champ de vision du joueur. Si ce n'est pas le cas, elle est complètement ignorée.
Le résultat est un monde superposé construit de l'arrière vers l'avant, où la géométrie basse résolution remplit l'horizon et les tuiles haute résolution prennent le relais au premier plan, sans mur de brouillard nécessaire pour masquer les jointures.
info
La ROM Junkrunner 64 de Lambert est disponible en téléchargement sur GitHub pour quiconque souhaite l'essayer sur un émulateur N64.Le collaborateur Pyroxene s'est occupé de la construction de la carte, créant les différentes variations LOD pour chaque partie du monde ouvert. Une fois tout assemblé, Pyroxene a confirmé que le jeu atteignait "un bon, et parfois même excellent, taux d'images par seconde" sur le matériel. Pour une console vieille de 30 ans exécutant un monde de la taille de Skyrim, ce n'est pas rien.

Le cycle volant atteint 290 km/h en boostant
Créer une grande carte qui vaut la peine d'être explorée
Construire le monde ouvert n'était que la moitié du problème. Lambert a reconnu que l'échelle seule ne rend pas un jeu intéressant. "Cette carte massive est vraiment cool, mais elle rend le jeu moins bon s'il n'y a rien à y faire et que les déplacements sont très lents", dit-il.
La réponse pour les déplacements était le cycle volant du joueur, qui atteint des vitesses d'environ 290 km/h lorsqu'il est entièrement amélioré et en boost. La réponse pour l'exploration était plus réfléchie : la carte commence complètement cachée, et les joueurs la révèlent morceau par morceau en se déplaçant dans le monde. C'est un choix de conception qui donne de véritables enjeux à l'exploration, quelque chose que de nombreux jeux en monde ouvert modernes avec des cartes encombrées d'icônes ont discrètement abandonné.
Lambert a clairement indiqué que Junkrunner 64 est un projet de game jam et qu'il est peu probable qu'il se développe en quelque chose de plus grand par lui-même. Ce qui compte, c'est la direction que prendra la technologie ensuite. Les techniques développées ici alimentent directement le projet N64 plus vaste que Lambert avait annoncé précédemment, un jeu coopératif de type Magicka qui bénéficiera désormais d'un véritable moteur de monde ouvert sur lequel construire.
Pour tous ceux qui ont grandi en plissant les yeux à travers le brouillard de la N64 en se demandant de quoi le matériel était réellement capable, voici la réponse. Gardez un œil sur le prochain projet de Lambert, et consultez les dernières nouvelles du jeu pour plus d'histoires de la scène du développement rétro. Assurez-vous de consulter également :







