La Nintendo 64 traîne la même réputation depuis 1996 : d'excellents jeux, mais un brouillard atroce. Ce mur gris qui masquait tout ce qui se trouvait à plus de 6 mètres n'était pas un choix artistique. C'était une limite matérielle à laquelle chaque développeur travaillant sur la plateforme finissait par se heurter, et que la plupart acceptaient simplement. Pendant 30 ans, personne n'a trouvé comment contourner ce problème à grande échelle.
Le développeur James Lambert vient de le faire.
Le problème du brouillard sur N64, enfin expliqué
Lambert, qui a précédemment créé Portal 64 (un demake tournant sur du matériel N64 réel) et une romhack de Super Mario 64 compatible VR, s'est désormais tourné vers un projet de game jam intitulé Junkrunner 64. Le jeu tourne sur du matériel N64 réel ainsi que sur des émulateurs très précis comme Ares, et propose quelque chose que personne ne s'attendait à voir sur cette plateforme : une distance d'affichage comparable à celle de The Elder Scrolls V: Skyrim, le RPG en monde ouvert de Bethesda sorti en 2011, qui tournait sur du matériel lancé 15 ans après la N64.
"Vous pouvez vous tenir à un bout de la carte et voir jusqu'à l'autre extrémité", explique Lambert dans sa vidéo d'analyse. Lorsqu'il superpose une comparaison de taille, la carte de Junkrunner 64 fait paraître le monde de The Legend of Zelda: Ocarina of Time minuscule sur la même plateforme. L'équivalent le plus proche en termes d'échelle ? Skyrim.
Le coupable technique derrière tout ce brouillard sur N64 est un phénomène appelé Z-fighting. Le Z-buffer de la console, qui suit la profondeur des objets pour qu'ils s'affichent dans le bon ordre, n'est tout simplement pas assez précis pour gérer la géométrie lointaine. À mesure que les objets s'éloignent de la caméra, la N64 perd le fil de ce qui est le plus proche, et les éléments commencent à s'afficher dans le mauvais ordre. Une montagne lointaine s'affiche par-dessus une colline plus proche. Le brouillard était la solution vers laquelle tous les développeurs se tournaient, car il masquait le problème avant qu'il ne devienne visible.
Comment Lambert a réellement résolu le problème
Voici le point clé : la solution trouvée par Lambert est élégante précisément parce qu'elle reprend des techniques utilisées par les moteurs modernes, simplement adaptées au matériel de 1996.
"La solution, c'est que je dessine simplement le monde deux fois", explique Lambert. "D'abord, je dessine tout ce qui est loin, réduit d'environ 100, puis je fais une passe séparée où je dessine tout ce qui est proche." Le monde est divisé en tuiles avec plusieurs niveaux de détail (LOD). Les tuiles lointaines s'affichent avec un faible niveau de détail, et à mesure que le joueur s'approche, des versions plus détaillées les remplacent. Avant même qu'une tuile ne soit affichée, le moteur vérifie si elle est bien dans le champ de vision du joueur. Si ce n'est pas le cas, elle est totalement ignorée.
Le résultat est un monde en couches construit de l'arrière vers l'avant, où la géométrie peu détaillée remplit l'horizon et les tuiles haute définition prennent le relais au premier plan, sans aucun mur de brouillard nécessaire pour masquer les raccords.
info
La ROM de 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 chargé de la construction réelle de la carte, en créant les multiples variantes LOD pour chaque segment du monde ouvert. Une fois le tout assemblé, Pyroxene a confirmé que le jeu atteignait "un bon, voire parfois excellent, frame rate" sur le matériel. Pour une console vieille de 30 ans faisant tourner un monde de la taille de Skyrim, ce n'est pas rien.

Hover cycle hits 180 mph boosting
Rendre une grande carte intéressante à explorer
Construire le monde ouvert n'était que la moitié du problème. Lambert a reconnu que l'échelle seule ne suffit pas à rendre un jeu intéressant. "Cette carte immense est vraiment cool, mais elle rend le jeu moins bon s'il n'y a rien à faire et que le déplacement est très lent", dit-il.
La réponse pour le déplacement a été l'hover cycle du joueur, qui atteint des vitesses d'environ 180 mph lorsqu'il est entièrement amélioré et en mode boost. La réponse pour l'exploration a été plus réfléchie : la carte commence totalement masquée, et les joueurs la révèlent pièce par pièce au fur et à mesure de leurs déplacements. C'est un choix de design qui donne un réel intérêt à l'exploration, quelque chose que beaucoup de jeux en monde ouvert modernes, avec leurs cartes encombrées d'icônes, ont discrètement abandonné.
Lambert a été clair sur le fait que Junkrunner 64 est un projet de game jam et qu'il est peu probable qu'il se transforme seul en quelque chose de plus grand. Ce qui compte, c'est l'avenir de cette technologie. Les techniques développées ici alimentent directement le projet N64 plus vaste que Lambert a annoncé précédemment, un jeu en coop façon Magicka qui disposera désormais d'un véritable moteur de monde ouvert sur lequel s'appuyer.
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 actualités gaming pour plus d'histoires sur la scène du développement rétro. Assurez-vous de consulter également :


