Je faisais partie des personnes qui s'impatientaient à l'idée de pouvoir enfin jouer à la trilogie Metroid Prime sur ma Nintendo Switch. Nintendo n'ayant montré aucun intérêt - au moins pour le moment - à me délivrer de cette attente, je me suis naturellement tourné vers la voie de l'émulation sur PC grâce à Dolphin, le célèbre émulateur GameCube/Wii.

Descendez jusqu'à la partie "rendu final" si les explications à rallonge ne vous intéressent pas : ça vaut le coup d'oeil !

Les contrôles : gloire au clavier/souris

Il n'est pas bien difficile de configurer Dolphin pour jouer à la ludothèque Wii par le bais d'une Mayflash DolphinBar notamment. Mais étant un joueur PC dans l'âme (et surtout car je n'ai ni ma Wi ni mes Wiimotes sous la main), il me semblait idéal de pouvoir jouer à Metroid Prime, lequel se joue "comme" un FPS, comme n'importe quel autre FPS sur PC : c'est-à-dire avec un clavier et une souris.

Les deux premiers opus de la série Metroid Prime sont sortis sur GameCube, et se jouaient à la manette. Il se trouve que j'ai une aversion pour les FPS à la manette, donc sans façon ! Metroid Prime Trilogy en 2009 a remis ces opus au goût du jour avec le motion control hérité de Metroid Prime 3, sorti sur Wii. Personnellement, je trouve que le motion control est déjà bien plus pertinent et agréable.

Au fond, pointer avec la WiiMote et jouer avec la souris peuvent se traduire par des inputs similaires... C'est dans cette idée que de nombreux joueurs configuraient manuellement leurs contrôles pour jouer ainsi, et depuis quelques années déjà. Outre le fait que ce soit assez compliqué à configurer, ce n'était pas encore parfait : par exemple les mouvements de caméra dus au motion control sont encore présents et contre-intuitifs.

C'est là que PrimeHack intervient ! PrimeHack est une version modifiée de Dolphin qui souhaite vous offrir la meilleure expérience possible sur Metroid Prime :

  • Dans l'idée, vous n'avez rien à configurer outre les paramètres graphiques à ajuster.
  • Le jeu sera lancé nativement avec des contrôles souris/clavier, et avec une caméra qui fonctionne comme n'importe quel autre FPS classique !
  • Vous avez des options simples d'accès telles que le contrôle du FoV (champ de vision), indispensable pour un FPS sur PC.
  • D'autres fixs en tous genres que vous n'avez pas besoin de savoir, excepté qu'il y a eu du gros travail derrière.

Lien du projet sur GitHub :

shiiion/dolphin
Dolphin fork intended to give Metroid Prime Trilogy mouselook controls - shiiion/dolphin

Les graphismes : "HD" pour soulager la rétine

Forcément, Metroid Prime est un jeu dont le premier titre est sorti en 2002, il y a presque 20 ans ; et il accuse son âge graphiquement parlant... enfin, pour ma part je trouve qu'il a très bien vielli. Il n'y a d'ailleurs pas de grande différence graphique entre les versions sorties à la fois sur GC et sur Wii, les deux consoles partageant une architecture interne sensiblement similaire.

La voie de l'émulation permet de monter la résolution native du jeu (autrement dit upscaling). Cela fait ressortir des détails et le jeu est déjà bien plus beau :

L'upscaling a ses limites, cette pratique ne change pas vraiment les modèles et textures du jeu. Mais il est justement très facile de changer les textures sur Dolphin, et pour Metroid Prime je vous conseille ces quelques "packs" (nous verrons plus tard comment les installer en prenant en compte les éventuels conflits).

Metroid Prime 1,2,3 and Trilogy HD Texture Pack
So I love the Metroid Prime series, and recently heard about the possibility of custom textures. Went searching, no one’s done the Trilogy yet. So, I decided to try it myself. I initially tried ESRGAN

Textures globales upscaled (par Malkierian) : ce pack contient des textures qui ont été améliorées par des algorithmes intelligents. Rien de suprenant en soit, et le résultat est inférieur à des textures refaites à la main, mais l'idée derrière est pertinente et le résultat est concret.

C'est subtil, mais on le remarque en comparant directement.

Problème : ces algorithmes sont réputés pour ne pas bien fonctionner sur les textes et les éléments fins tels que ceux présents dans les interfaces. Il faut donc un pack avec des textures d'interface refaites à la main !

Metroid Prime Trilogy - HD Interface Textures (V 1.6 | December 05, 2020)
The goal of this texture pack is to replace the most blurry and offensive low-res HUD textures in the Metroid Prime games that do not look good next to all the upscaled 3D elements with brand-new hand

HD Interface (par Terg500) : ce pack fait exactement ce qu'il dit, il améliore nettement les éléments de l'interface.

Avec ou sans lunettes ? Bon, peut-être pas à ce point...

De plus, il fournit quelques extras comme cette visée moins intrusive que j'apprécie personnellement :

Phazon UI v1.14 - The New Update
It is my absolute pleasure to announce the release of a new utility I’ve created to generate custom user interfaces for games in Dolphin. After months of prototyping, development hell, and grinding we

PhazonUI (par Zombie) : en parlant d'interface, ce serait bien d'avoir des contrôles affichés qui correspondent aux contrôles clavier/souris proposé par PrimeHack, non ? C'est ici que PhazonUI intervient. Ce script génère pour vous les textures appropriées !

Dotfix : enfin, il y a un "bug" visuel présent sur l'émulation de Metroid Prime (tout le monde est concerné) quand celui-ci est affiché sur une résolution plus haute que sa résolution native.

Un "pixel" d'une texture du HUD qui se multiplie en conséquence lors de l'upscaling : rien de gênant même en 4K (l'avez-vous remarqué en plein milieu sur le précédent screen ? non, ce n'était pas votre écran), mais si vous voulez résoudre le problème, il faudra changer 2 textures.

J'ai passé un peu de temps à chercher, et il n'y a pas de lien facilement accessible, donc je vous propose directement une archive faite par mes soins :

2 - Dotfix.7z
Nextcloud - a safe home for all your data

Cette archive contient les textures nécessaires à ce fix. Vous pouvez utiliser 7-zip pour la décompresser. A priori ce fix résout ce problème dans les phases de gameplay de Metroid Prime 1, je ne suis pas sûr quant au reste ; des investigations de la communauté sont en cours.

Installation et configuration

Installons tout ceci ! Tout d'abord, il vous faut une ISO compatible avec PrimeHack :

Je ne m'attarderai pas sur l'obtention de cette ISO. Il va de soit que vous dumpez votre jeu original en toute légalité...

Quant à PrimeHack lui-même, vous pouvez soit l'installer directement, soit utiliser PrimeHack Updater qui fait tout pour vous :

Releases · SirMangler/PrimeHack-Updater
An Updater for PrimeHack. Contribute to SirMangler/PrimeHack-Updater development by creating an account on GitHub.

Si Dolphin se plaint d'une librairie Visual C++ manquante, c'est probablement ceci qui vous manque. Notez que PrimeHack est au fond une version portable de Dolphin.

Et voilà ! Out-of-the-box tout pourrait bien fonctionner pour vous. Personnellement je ferais un tour dans les paramètres graphiques pour commencer. Notez que cela dépend énormément de votre configuration (à titre d'exemple, je suis sur un i5 6600k overclocké à 4.4Ghz et une GTX 1070).

Il va de soi que vous mettez régulièrement à jour votre OS et votre pilote graphique. Si ce n'est pas le cas, faites-le !

Veuillez donc lire la page dédiée du projet qui est régulièrement mise à jour. Pour ma part, j'ai noté selon mes tests que :

  • DX12 semble le plus performant parmi tous les backends disponibles avec une 1070. DX11 semble un bon compromis également, et Vulkan a des stutters plus réguliers.
  • Il est très important d'activer l'option asynchronous ubershaders.
  • Il n'est pas nécessaire pour autant de compiler les shaders au démarrage, mais si vous avez toujours des stutters c'est une voie à considérer.
  • Le sweetspot pour un FoV (à configurer dans l'onglet PrimeHack GFX) agréable et sans glitchs se situe entre 80 et 90 (j'utilise 85 par habitude).
  • Pensez à monter la résolution native à au moins 1080p si possible, sous limite de votre écran et de votre carte graphique.
  • Bien que le guide suggère de le désactiver, j'ai activé Synchronize GPU thread pour corriger un glitch visuel que j'avais au démarrage.

En résumé, il y aura un peu de trial & error à faire de votre part pour trouver la balance qualité/performance/stabilité.

Désormais, attardons-nous sur les contrôles clavier/souris. Si vous me lisez, vous êtes probablement (mais pas exclusivement) résident en France métropolitaine, et donc il est fort probable que vous utilisez un clavier AZERTY. Je me trompe ? Alors ça ne pose pas de problème à Dolphin en soit, cela dit j'ai dû modifier quelques touches et je suggère que vous devriez également vérifier.

Pour accéder aux paramètres de contrôle, je tire cette image du guide que vous devriez consulter par la même occasion :

Voici mes légères modifications :

Ces quelques modifications correspondent parfaitement aux textures affichées par PhazonUI, par ailleurs. Cela dit, il faudra imaginer que vous avez un clavier QWERTY. Pas de panique, vous utilisez toujours ZQSD pour vous déplacer, mais le jeu vous montrera la touche W au lieu de Z, par exemple. Ce n'est pas très gênant pour moi.

Pour installer les textures, téléchargez et décompressez les packs mentionnés ci-dessus. Quand vous en avez la possibilité, privilégiez toujours la version .dds. Quant à PhazonUI, vous devez executer le script PowerShell, pointer vers le dossier mentionné ci-dessous, et simplement demander un output (sans lui demander de les placer directement pour vous) des textures pour clavier/souris classique.

L'installation des textures se déroule probablement dans le dossier suivant de votre utilisateur :

C:\Users\foobar\Documents\Dolphin Emulator\Load\Textures\R3M

R3M correspond à la trilogie NTSC, mais cela peut être différent pour vous.

Quand il s'agit de placer des packs différents potentiellement en conflit, retenez les règles suivantes :

  • Dolphin charge tout ce qu'il trouve dans ce dossier, y compris dans les sous-dossiers récurrents.
  • Si deux textures rentrent en conflit, Dolphin charge la première version qu'il trouve et jamais la deuxième/dernière.

Compte tenu de ces informations, nous pouvons organiser les textures de cette façon dans ce dossier :

Dolphin chargera donc en premier lieu les textures clavier/souris, puis l'inteface HD, puis le dotfix, et enfin il charge le plus gros avec les textures "grossièrement" upscaled pour le reste.

Enfin, vous devez activer Load Custom Textures dans l'onglet Advanced des paramètres graphiques de Dolphin/PrimeHack.

Rendu final

Cette vidéo n'est pas de moi, mais d'un autre utilisateur de PrimeHack avec les mêmes textures (excepté PhazonUI). J'ai un rendu très similaire :

Montez la qualité YouTube au maximum ! Sachant qu'il y a toujours de la compression...

Voici quelques screenshots de ma part :

Pas mal pour un jeu de 2002, non ?

Quant aux contrôles, retenez les informations suivantes :

  • ZQSD pour se déplacer, Espace pour sauter, la souris pour bouger la caméra : comme un FPS classique.
  • Click gauche pour tirer, click droit pour verrouiller la visée.
  • Touche F pour missile (et dérivés).
  • Changer de faisceau : touches 1 (Power Beam), 2 (Wave Beam), 3 (Ice Beam), 4 (Plasma Beam)... vous pouvez aussi utiliser le scroll de la souris. Presser R seul revient à appuyer sur 1.
  • Changer de viseur : maintenir E + 1 (Scan Visor), 2 (Thermal Visor), 3 (X-Ray Visor) (ou E + scroll). Presser E seulement pour revenir à la visée normale.
  • Morph Ball : touche C pour l'activer/désactiver, touche Alt pour sauter, ZQSD pour contrôler, maintenir click droit pour les rampes magnétiques.
  • TAB : afficher la map du jeu (désactivez la hotkey vitesse d'émulation pour éviter un conflit), A pour zoom+ et R pour zoom-.
  • ² (= GRAVE sur Dolphin) : afficher le menu du jeu. Click gauche pour confirmer, Espace pour retour en arrire, ZQSD pour défiler.

Tout est assez intuitif. J'ai terminé Metroid Prime 1 sans aucun problème.

LA façon de jouer à la trilogie en 2021 ?

Bien sûr, vous êtes en droit de ne pas préférer le jeu au clavier/souris. Cela dit, je vous conseille d'y jeter un coup d'oeil... le retour en arrière me semble impossible personnellement, et même si la sortie de MP4 est dans un avenir lointain, je me demande si je pourrais m'y faire sur console.

Au jour où j'écris cet article, je viens de terminer Metroid Prime 1 dans ces conditions. Il n'y a eu aucun plantage, aucune incompatibilité des contrôles, tout était fluide. Il est vrai que cela demande de l'investissement pour tout faire fonctionner au départ, mais croyez-moi, ça vaut absolument le coup pour les heures que vous allez passer sur ces jeux.

Clairement, si vous avez un PC un minimum décent, n'attendez plus un énième Nintendo Direct pour que l'on vous permette d'y jouer dans les meilleures conditions possibles. Le développement de PrimeHack étant actif, il n'y a jamais eu de meilleur timing pour s'y mettre !

Outre vous avoir fait découvrir ces mods, j'espère que cet article saura en aider plus d'un à l'installation et la configuration de PrimeHack. Je vous conseille d'ailleurs de rejoindre leur Discord qui est très actif :

Join the PrimeHack Discord Server!
Check out the PrimeHack community on Discord - hang out with 4,570 other members and enjoy free voice and text chat.

Je tenais également à faire une mention honorable au projet URDE qui est en train de reverse-engineer les Metroid Prime pour en proposer une implémentation native. Peut-être qu'un jour nous n'aurons même plus besoin de Dolphin ?

AxioDL/urde
Data interchange and engine re-implementation for games by Retro Studios | Mirror - AxioDL/urde

Seconde mention honorable aux petits malins qui tentent l'expérience Metroid Prime en ultrawide et même en VR. Oui, oui, vous avez bien lu.

Bon jeu et à bientôt !