Pourquoi DOOM ne peut pas être porté sur la NeoGeo : Un regard sur les limites techniques de la console

Titre original : La NeoGeo est incapable de faire tourner ce jeu qui fonctionne pourtant sur toutes les machines

DOOM tourne sur des objets improbables, des vieux ordinateurs, des calculatrices et même des systèmes qui n’ont rien demandé. Cependant, il y a encore une machine qui lui résiste : il s’agit de la NeoGeo. Et la raison de cette incompatibilité est loin d’être évidente.

DOOM tourne partout... sauf là où on l'attendait presque

Il existe une blague qui est devenue une sorte de gimmick dans le domaine du jeu vidéo : si un appareil possède un écran, quelqu'un finira par faire tourner DOOM dessus. Le FPS d'id Software, sorti en 1993, est devenu le test ultime des bricoleurs, des programmeurs et des amateurs de machines improbables. Ces dernières années, on l’a même vu tourner sur l’écran d’un robot-tondeuse ou sur le minuscule affichage d’un test de grossesse. Ça ne sert à rien, mais c’est drôle, et le défi est bel et bien là.

Mais si DOOM peut tourner dans des environnements invraisemblables, le FPS n’a jamais fait d’apparition sur la console NeoGeo. Et cela peut surprendre, tant la machine de SNK est emblématique, que ce soit dans sa version borne MVS ou dans sa version domestique AES. À l’époque de sa sortie, au début des années 1990, cette console hors de prix était le rêve inaccessible de nombreux joueurs, notamment en raison de son catalogue de jeux d’arcade : Metal Slug, The King of Fighters, Samurai Shodown, Fatal Fury…

Le catalogue très solide de la NeoGeo n’a cependant jamais comporté DOOM. Et ça n’avait rien à voir avec le fait que le FPS n’était pas un jeu d’arcade : en réalité, la console n’est pas capable de faire tourner le jeu, car son architecture graphique a été pensée pour autre chose.

DOOM et la NeoGeo : mais quel est le problème ?

Une vidéo publiée sur YouTube par la chaîne Modern Vintage Gamer, relayée par Ars Technica, explique pourquoi il est « pratiquement impossible » de porter DOOM sur la NeoGeo.

Le fait est que, quand on parle de vieux hardware, on a tendance à tout réduire à une fiche technique : fréquence du processeur, mémoire, année de sortie. On en a l’habitude, donc ça semble logique, mais c’est un peu trompeur. La NeoGeo utilise notamment un Motorola 68000, une famille de processeurs que l'on retrouve aussi dans d'autres machines capables d'accueillir des formes de 3D logicielle ou des adaptations de jeux ambitieux. Vu de loin, on pourrait donc se dire que DOOM devrait au moins pouvoir se lancer dessus, quitte à ramer un peu.

Mais le problème est ailleurs : dans les faits, DOOM repose sur un rendu logiciel qui a besoin de dessiner des pixels dans un framebuffer, c'est-à-dire une zone mémoire représentant directement l'image affichée. En clair, le processeur calcule ce qu'il veut montrer, écrit les pixels, puis l'écran affiche le résultat. Ainsi, le portage de DOOM est possible sur les machines, y compris les plus improbables, qui peuvent accéder à ce genre de logique d’une manière ou d’une autre.

Et comme vous pouvez l’imaginer, ce n’est pas le cas de la NeoGeo : cette console a été essentiellement conçue pour afficher des sprites, c’est-à-dire des éléments graphiques « figés », conçus pour être affichés, déplacés et mis à l'échelle. Il suffit d’avoir déjà joué à Metal Slug ou à Fatal Fury pour comprendre de quoi il s’agit : on parle de 2D très maîtrisée, mais jamais de « pseudo-3D » à la DOOM.

Le problème est donc complexe à détailler techniquement, mais il peut se résumer très simplement : la NeoGeo n’a tout simplement pas été pensée pour accueillir des jeux comme DOOM.

La NeoGeo adore les sprites, DOOM adore les pixels

Pour illustrer cette limite, Modern Vintage Gamer a construit un moteur de raycasting simplifié, dans l'esprit de Wolfenstein 3D. Cette démonstration montre qu’il est possible d’obtenir quelque chose qui ressemble à un jeu en vue subjective sur NeoGeo, mais elle montre aussi que DOOM est techniquement au-dessus de Wolfenstein 3D. Contrairement à ce que l’on pourrait croire, le jeu de 1993 n’est pas une simple succession de couloirs plats : il gère aussi des hauteurs différentes, des angles, des ennemis plus variés, et ose même jouer sur la verticalité. Face à lui, Wolfenstein 3D est davantage un enchaînement de couloirs plats.

La NeoGeo est incapable de faire tourner ce jeu qui fonctionne pourtant sur toutes les machines

De ce fait, transposer la dynamique de DOOM sur un système qui manipule surtout des sprites impose des contorsions énormes. Pour obtenir un résultat jouable, il faudrait convertir des pans entiers du jeu, ou bien créer une version de la cartouche NeoGeo équipée de puces récentes capables de prendre une partie des calculs à leur charge. Mais alors, pourrions-nous réellement parler de portage de DOOM sur NeoGeo ? La communauté est très divisée sur le sujet.

L’exception qui confirme la règle ?

En somme, si la NeoGeo n’est pas capable de faire tourner DOOM, ce n’est pas parce qu’elle est trop faible pour ça : c’est juste qu’elle est trop spécialisée dans son domaine. On peut même considérer qu’elle a une trop forte « personnalité technique » pour se prêter au jeu du portage, contrairement à bien d’autres machines, dont certaines sont totalement improbables.

Mais cela ne veut pas dire que personne n’essaie de porter DOOM sur la NeoGeo d’une manière « traditionnelle » : des projets existent, notamment DoomGeo-AES, qui affiche régulièrement des avancées. Reste donc à savoir jusqu’à quand la console de SNK résistera avec élégance à l’intrusion de ce jeu passe-partout : d’une certaine manière, on aurait presque envie que cela dure éternellement pour entretenir le mythe.