(Re)découvrez Metroid Prime Trilogy sur PC
Découverte du mod PrimeHack qui permet de jouer à Metroid Prime avec les contrôles clavier/souris, ainsi que des textures HD qui permettent de lui donner une seconde jeunesse visuelle.
Avertissement légal
Je tiens à être fermement clair : je n'encourage pas l'illégalité et je vous incite à posséder les versions originales que vous pouvez très bien dumper pour les émuler. Le jeu vidéo est une oeuvre protégée par le droit d'auteur qu'il convient donc de respecter.
Nous savons bien l'hypocrisie potentielle derrière, mais mélanger l'émulation au piratage nuit au développement de l'émulation qui est important pour la pérennité des jeux-vidéos. Merci de bien comprendre que l'intention de cet article est de chercher à sublimer un jeu et de s'intéresser au développement qui l'entoure plutôt que d'inciter à son piratage.
Pick the distress call
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 !
Cet article a été mis à jour le 16/11/2021 avec la version 1.0.5 de PrimeHack. Certaines captures d'écran ne sont pas à jour. Il est possible que la dernière version ne soit pas couverte, je vous suggère donc fortement de consulter le GitHub pour vous tenir au courant.
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 (par exemple beaucoup de mécaniques sont adaptées et automatisées au clavier/souris comme les interactions nécessitant des mouvement "précis" dans MP3)
PrimeHack fonctionne sur Windows et Linux. Pas de version macOS pour l'instant, et j'étais tenté de les aider dans le support, mais disons que Dolphin n'a jamais été très optimisé pour macOS (peut-être un jour avec Metal ?).
De plus, sachez que si PrimeHack est conçu en premier lieu pour les joueurs clavier/souris, il fonctionne totalement avec une manette classique. Utile si vous voulez par exemple faire MP3 comme vous aviez fait MP1 & MP2 sur GameCube.
Lien du projet sur GitHub :
Metroid Prime "HD" ?
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 vieilli. 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).
Textures upscaled (par l'IA)
Ce pack conçu par Malkieran contient des textures qui ont été améliorées par des algorithmes intelligents. Rien de surprenant en soi, 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 visible.
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 !
HD Interface Textures
Ce pack gracieusement offert par Terg500 fait exactement ce qu'il dit : il améliore nettement les éléments de l'interface. C'est un indispensable sur des hautes résolutions je trouve.
De plus, il fournit quelques extras comme cette visée moins intrusive que j'apprécie personnellement (mais si vous ne l'aimez pas, vous n'êtes pas obligé de l'utiliser) :
Phazon UI
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, proposé par Zombie, intervient.
Ce script génère pour vous les textures appropriées à vos contrôles !
Dotfix (obsolète depuis 1.0.4)
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. En effet, 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 (on peut le voir sur quelques captures d'écran ci-dessus en y faisant attention).
Auparavant, je proposais une archive contenant les textures corrigées, mais depuis la version 1.0.4, ce n'est plus nécessaire car PrimeHack les intègre directement.
Installation
Installons tout ceci ! Tout d'abord, il vous faut une ISO (l'image d'une version du jeu, la vôtre en théorie...) compatible avec PrimeHack :
Je ne m'attarderai pas sur l'obtention de cette ISO. Il va de soi que vous dumpez votre jeu original en toute légalité...
Si Dolphin se plaint d'une librairie Visual C++ manquante, c'est probablement ceci qui vous manque.
Méthode classique (rapide et simple)
Quant à PrimeHack lui-même, vous pouvez soit l'installer directement, soit utiliser PrimeHack Updater qui fait tout pour vous :
Et voilà ! Out-of-the-box tout pourrait bien fonctionner pour vous.
Méthode portable (conseillée)
J'aime faire les choses proprement et de façon contrôlée : j'opte personnellement pour une installation manuelle qui me permettra d'activer le mode portable de Dolphin ce qui permet d'avoir plusieurs installations différentes de Dolphin sans qu'elles ne rentrent en conflit (même s'il y a très peu de soucis à utiliser plusieurs versions simultanément, tant que ce sont toutes des versions récentes).
Pour ce faire :
- Téléchargez l'archive PrimeHack sur GitHub et décompressez-la dans un endroit adapté non-privilégié (donc pas Program Files, mais Documents par exemple)
- Dans ce dossier qui devrait contenir
Dolphin.exe
, créez un fichierportable.txt
(ou juste "portable" si votre Windows n'affiche pas les extensions communes)
Ce fichier indique simplement du fait de son existence à Dolphin que vous souhaitez tout organiser dans ce dossier. Dolphin ne lira pas et ne touchera pas à vos paramètres déjà présents dans Documents/Dolphin Emulator.
En lieu et place de Documents/Dolphin Emulator, vous aurez un dossier User (dans le dossier PrimeHack qui contient Dolphin.exe) qui servira la même fonction (ce dossier sera créé au premier lancement de PrimeHack). Gardez ça en tête pour la suite du tutoriel qui demandera parfois ce chemin (notamment pour les textures custom, sinon vous pouvez passer outre) et remplacez-le en conséquence.
Mettre à jour
PrimeHack est en développement actif. Bien qu'utilisable en l'état, il reçoit souvent des mises à jour pour améliorer l'expérience :
- Si vous avez opté pour l'installation classique, vous avez juste à télécharger la nouvelle version qui pointera vers les mêmes paramètres dans vos documents.
- Quant à la méthode portable, il vous suffira de déplacer le dossier User dans la nouvelle archive.
Configuration
Réglages graphiques et performances
Personnellement je ferais un tour dans les paramètres graphiques pour commencer. Notez que cela dépend énormément de votre configuration :
- Dolphin n'utilise que 2 cœurs maximum : un CPU 4 cœurs ou plus est donc fortement conseillé (les 2 cœurs restants pour l'OS et d'autres programmes sans gêner Dolphin)
- La performance single-core prime donc sur presque tout le reste (IPC et fréquence sont d'importants facteurs)
- Un GPU milieu de gamme est conseillé pour upscale le jeu en 1080p, il n'y a pas besoin d'une RTX dernier cri pour le faire !
A titre d'exemple, je suis sur un i5 6600k overclocké à 4.4Ghz et une GTX 1070 (une config' "haut du milieu" de gamme en 2016). Cette dernière n'est sollicitée qu'à 40% en moyenne en 4k, soit 6x la résolution native. Autrement dit, même une carte qui commence à dater peut afficher très largement en 1080p.
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 mais donnera le meilleur résultat sur des GPU AMD. OpenGL est envisageable en dernier recours.
- Il est très important d'activer l'option asynchronous ubershaders. C'est une option qui permettra de réduire drastiquement les stutters provoqués par des shaders (effets) nouvellement rencontrés.
- Il n'est pas nécessaire mais plutôt conseillé de compiler les shaders (rencontrés) au démarrage. Personnellement, au fur et à mesure que le shader cache se remplissait, j'ai fini par activer cette option pour compiler l'ensemble au démarrage au lieu de subir des premières minutes sous les 60FPS (surtout une fois sur MP3).
- 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 sûr.
En résumé, il y aura un peu de trial & error à faire de votre part pour trouver la balance qualité/performance/stabilité.
Personnellement j'utilise la V-Sync au niveau global dans le panneau de configuration NVIDIA. Si ce n'est pas le cas pour vous, activez-la ici.
Aussi, je n'utilise pas d'anti-aliasing car je préfère jouer avec un upscaling élevé (je joue sur un écran 4K également). Si l'aliasing vous gêne, n'hésitez pas à l'activer, vous devriez avoir de la marge.
L'écran violet, flickering, et autres soucis
Vous avez envie de lancer PrimeHack pour tester, mais malheureusement au moment de lancer un jeu, vous avez ce soucis (si vous ne l'avez pas, tant mieux, passez à la suite) :
Pas de panique ! C'est assez commun et il s'agit d'une désynchronisation du jeu. PrimeHack est configuré par défaut pour optimiser au maximum les performances (ce qui permet d'y jouer sur des PC moyens) au prix de ce problème quand la synchronisation initiale ne fonctionne pas correctement.
Parfois, simplement relancer le jeu suffit... Mais si ça ne suffit pas, voici quelques pistes à essayer une par une :
- Changer de backend : si vous avez ce soucis sur DX12, tentez DX11. Si vous avez ce soucis sur Vulkan, tentez autre chose ! Cela vient du fait que tous les GPU ne sont pas égaux quant à leur support des différentes API 3D.
- Vous pouvez activer Synchronize GPU thread (clic droit sur le jeu > propriétés) pour tenter de corriger ce glitch visuel. Il y a un coût en performance mais tant que vous êtes au-dessus des 60FPS, ce n'est pas perceptible.
- Enfin, toujours dans les propriétés du jeu, vous pouvez désactiver Enable Dual Core mais c'est en dernier recours, car comme vous l'imaginez cela aura un coût en matière de performances.
Ce bug peut aussi survenir de par l'utilisation de savestates, les sauvegardes intrinsèques à Dolphin (et non au jeu) que vous pouvez utiliser avec les touches F1, F2, F3... De façon générale, ne les utilisez pas car elles sont sources de bugs en tous genres.
Globalement, les propriétés du jeu ressemblent à ceci chez moi :
Comme indiqué ci-dessus, les options Enable Dual Core et Synchronize GPU thread dépendront du compromis performances/glitchs adapté à votre machine. Très probablement ces options devraient être bonnes pour vous.
Note sur l'option Speed up Disc Transfer Rate : comme son nom l'indique, cette option tire parti de votre matériel plus moderne que la Wii/GC pour accélérer les temps de chargement en jeu (notamment l'ouverture des portes). C'est agréable, mais cela peut causer des glitchs : notamment des moments où les musiques ne chargent pas dans un endroit/boss précis. C'est assez aléatoire, et personnellement je préfère jouer sans quitte à attendre un peu plus (expérience authentique...).
Réglages des contrôles
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 soi, 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 depuis PrimeHack 1.0.3 (j'ai dû réécrire cette partie, car depuis cette version il y a un menu dédié bien plus simple à appréhender), il faut procéder ainsi :
Voici mes légères modifications :
VERSION 1.0.4+ : je vous conseille dans le groupe de paramètres Camera de cocher l'option Scale Cursor Sensitivity by Window Size.
Je vous conseille avant tout de réinitialiser les paramètres à ceux par défaut de PrimeHack avec le bouton Default. Enfin configurez comme bon vous semble. Par défaut j'avais le verrouillage sur L-Shift, mais c'était bien plus ergonomique de l'avoir sur le click droit (je trouve). De même la Morph Ball était liée à Ctrl, mais avec C j'y ai accès sans besoin de faire de gymnastique avec la main gauche.
Au cas où, GRAVE correspond à la touche ² sur votre clavier. En général GRAVE désigne la touche directement au-dessus de TAB, soit ² sur nos pauvres AZERTY.
Tant qu'on y est, je vous informe d'un petit conflit : la touche TAB est également un raccourci reconnu par défaut sur Dolphin qui accélère la vitesse d'émulation (plus précisément, elle lève la limite des 100%). Je m'en suis rendu compte car à chaque fois que je voulais accéder au menu du jeu, j'entendais un petit artéfact auditif, qui était en fait le son-même du jeu qui s'était accéléré pendant le temps d'appui de la touche TAB.
Ces quelques modifications correspondent parfaitement aux textures affichées par Phazon UI, 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.
Textures custom (facultatif)
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
Ou bien si vous aviez procédé à une installation portable de PrimeHack :
...\PrimeHack\User\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 (pas besoin en 1.0.4+, ce screen date d'une version antérieure), 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.
Le bloom de Metroid Prime 3 (obsolète depuis 1.0.4)
VERSION >= 1.0.4 : PrimeHack depuis sa version 1.4.0. active une option qui réduit le bloom dans MP3. Vous n'avez donc plus besoin des instructions suivantes qui permettaient d'obtenir le même résultat.
VERSION < 1.0.4 : Metroid Prime 3 est un jeu qui utilise le bloom intensivement. Le bloom est une technique utilisée dans les jeux vidéos qui cherche à imiter le phénomène de diffraction de la lumière qui s'applique pour une caméra réelle. C'est un "flou lumineux" en quelque sorte qui cherche à rendre un jeu plus réaliste (il peut aussi le rendre plus dreamy), mais aussi pour servir de cache-misère (le fléau de la génération Wii/PS3/360 ?).
Le problème sur des jeux qui l'utilisent intensivement, c'est que le bloom ne s'upscale pas très bien en dehors de sa résolution native. Metroid Prime 3 l'utilise à un tel point (contrairement aux deux premiers opus) que le désactiver altère complètement le rendu de certaines textures du jeu. Bien que PrimeHack permette de le désactiver facilement dans les paramètres avancés, je conseille de plutôt préférer ce code AR pour Dolphin :
cc1bc704 c002a470
0458B018 bfc00000
0458B01c bf800000
0458B020 bf000000
0458B024 3f000000
0458B028 3f800000
0458B02c 3fc00000
Vous devrez cocher la case "Enable cheats" dans Dolphin. Ce code sera ensuite à ajouter dans l'onglet AR Codes dans les propriétés du jeu.
Le code a été gracieusement fourni par shiion sur le Discord PrimeHack. Il a été mis à jour par Nova77 pour veiller à ce que ce code n'altère pas MP1 et MP2, mais pour qu'il s'applique seulement à MP3.
Cheats manager (facultatif)
Une fois le jeu lancé, vous pouvez revenir sur la fenêtre Dolphin, et accéder au Cheats Manager tel que montré ci-dessus. Vous pouvez activer des options pour améliorer votre confort de jeu telles que les cutscenes passables, ou encore cacher les popups intrusives quand on récupère un objet.
Rendu final et impressions
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 (je vous conseille de monter la qualité au maximum) :
Voici quelques screenshots de ma part :
Pas mal pour un jeu de 2002, non ?
Au moment de commencer MP3, j'avais reçu mon écran 4k. La claque !
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 arrière, ZQSD pour défiler.
Tout est assez intuitif. J'ai terminé Metroid Prime 1 (dont les commandes sont citées en exemple) sans aucun problème, mais aussi Prime 2 et Prime 3. Depuis la version 1.0.3, le grapple lasso de Metroid Prime 3 a été retravaillé et devrait fonctionner de façon intelligente.
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.
J'ai pu terminer toute la Trilogie avec PrimeHack (c'était avec la version 1.0.2a). 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. Moi, je sais que j'y rejouerai encore et encore de cette façon !
The last Metroid is in captivity...
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.
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 ?
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. Moi ? Je m'en suis tenu au 4k@60fps avec clavier/souris, et c'était déjà une claque.
Bon jeu et à bientôt !