samedi 31 décembre 2016

Quelques artworks et overlays pour émulateurs sur TV HD 16/9

Je considère que l'on ne peut pas prétendre être un passionné de jeu vidéo sans s'intéresser à son histoire. Bien sûr, en particulier quand on est jeune, il peut être tentant de croire que les œuvres doivent être directement accessibles et appréciables, exonérant leur public de la démarche d'en apprendre davantage sur leur généalogie, leur contexte historique, leur support, leurs auteurs, etc. pour se contenter d'être des consommateurs face à un produit, c'est-à-dire en profiter passivement sans effort et sans se poser de question, décider très vite si on "accroche" ou pas, puis une fois lassé ou repu, passer aussitôt au produit suivant.
Si on est passionné par une forme artistique quelle qu'elle soit, on se rend pourtant très vite compte que cette vision d'œuvres que l'on pourrait juger ou même apprécier déconnectées de tout contexte, comme si elles venaient de nulle part, allaient nulle part, et ne reposaient sur rien, est absurde. Nier que les œuvres sont conçues et doivent être perçues par rapport à un contexte, c'est rester à jamais prisonnier du contexte de l'instant présent, des œillères à la mode ; alors que voyager mentalement dans le temps et être conscient de l'évolution des repères et des mentalités permet de multiplier les points de vue, de relativiser et travailler ses goûts, et donc de beaucoup plus profiter de l'art en général et du jeu vidéo en particulier.

L'émulation, dans ce cadre, a évidemment joué un rôle primordial dans l'histoire du jeu vidéo ; d'abord dans la démocratisation de l'accès au patrimoine vidéoludique, et plus largement dans sa conservation : combien de jeux d'arcade et de jeux sur console auraient tout bonnement disparu sans l'émulation, surtout après l'hécatombe subie par les développeurs et éditeurs classiques lors des dernières générations ? L'émulation aura ainsi indirectement bouleversé le cours de l'histoire du jeu : les auteurs indépendants à l'origine de la "vague rétro" de la fin des années 2000 ont en effet été influencés par le renouveau de l'intérêt pour le old school ; sans l'émulation, il est à peu près certain que l'on n'aurait pas eu droit à "Super Meat Boy", "VVVVVV", "Shovel Knight", etc.


L'émulation, cependant, peut poser au joueur quatre problèmes graphiques ou esthétiques :
  • Affichés "au naturel" sur des TV modernes, les jeux émulés n'ont pas du tout le rendu visuel pour lequel ils ont été conçus, à savoir le traitement des TV à tube cathodique ou des consoles portables de l'époque.
  • Si on utilise des filtres pour se rapprocher de ce rendu, on rencontre d'autres soucis : sur l'émulateur MAME par exemple, les "scanlines" remplaçant les lignes de balayage et la trame des tubes cathodiques posent problème dès qu'un jeu n'est pas affiché dans une résolution qui soit un multiple de sa résolution native. Pour dire les choses plus concrètement, si on affiche un jeu au format 224p horizontal (224 pixels de haut) dans une résolution qui fait le quadruple ou le quintuple de sa résolution native, à savoir 896 ou 1120 pixels de haut, les lignes de balayage sont régulières et l'image est bien nette, mais en 1080p (résolution des TV HD), les scanlines sont boueuses et dégueulasses et l'image est plus floue.
  • Sur le plan de l'ambiance, l'émulation fait perdre le contexte physique de l'expérience d'origine, qu'il s'agisse de la décoration des bornes d'arcade, du design des consoles ou des micro-ordinateurs ou de leurs contrôleurs, etc.
  • Affichés sur écran TV HD 16/9, les jeux émulés paraissent perdus au beau milieu d'un grand rectangle noir.
Ayant acquis à l'occasion des fêtes un nouveau PC plus performant, j'ai décidé d'en profiter pour résoudre ces quatre problèmes simultanément en concevant une série de divers artworks et overlays à utiliser sous MAME, RetroArch et WinUAE, que je me propose ici de partager avec vous.

Artworks 16/9 1080p pour MAME (arcade)

MAME est le meilleur émulateur de jeux d'arcade, et le plus pratique pour effectuer des réglages individuels propres à chaque jeu. Un artwork utilisé dans MAME peut comprendre principalement jusqu'à trois choses : un bezel, décoration qu'il y avait sur la vitre protégeant l'écran de la borne d'arcade, un backdrop, image sur laquelle se superposait l'action de certains jeux vectoriels, et des voyants qui servaient d'indicateurs d'état (la position du levier de vitesse dans les jeux de conduite comme "Out Run", par exemple). Techniquement, ces éléments graphiques sont ensuite coordonnés par un fichier texte, qui permet de définir la taille et la position exacte de chacun d'eux - y compris de l'aire de jeu.

Les artworks permettent ainsi d'afficher un jeu dans une résolution précise, indépendamment de la résolution de l'écran ; j'ai donc conçu, pour chacun des jeux de ma collection qui disposait d'un bezel d'origine, un artwork dont l'aire de jeu est un multiple de la résolution native du jeu - afin que les filtres simulant les effets des tubes cathodiques soient parfaits, afin que le bezel réadapté au format 16/9 permette de retrouver l'esthétique de la borne d'arcade originale, et afin que la pleine résolution de ma TV HD, à savoir 1920x1080, soit entièrement utilisée. Vous pouvez voir le résultat sur chacun des trente jeux concernés ci-dessous ; pensez bien à cliquer sur les miniatures et à afficher les images en pleine taille :

Alien Syndrome
     
Asteroids Deluxe
Bank Panic
Black Tiger
Bomb Jack
Bubble Bobble
Burger Time
Commando
Defender
Dig Dug
Donkey Kong
Donkey Kong Junior
Donkey Kong 3
Empire City 1931
Ghosts'n Goblins
Ghouls'n Ghosts
Guerrilla War
Ikari Warriors
Lady Bug
Loco-Motion
Lode Runner
Mario Bros.
Mr. Do!
Ms. Pac-Man
Out Run
Pac-Man
Pac-Mania
Renegade
Robotron : 2084
Strider

Ces artworks ont été réalisés pour l'essentiel grâce aux ressources de Mr. Do!'s Arcade, site hébergé par MAMEWorld mettant à disposition d'excellentes numérisations des artworks originaux pour bornes d'arcade. Dans certains cas, le travail que j'ai effectué a été minimal, mais dans d'autres, j'ai dû énormément remanier les images d'origine pour recréer une composition harmonieuse dans un format 16/9 (les jeux "Donkey Kong" dont les bezels ont une forme trapézoïde, certains bezels aux proportions trop carrées). Le cadre de la TV et les bords incurvés qui suggèrent une borne ont quant à eux été empruntés à l'internaute big10p, qui avait mis à disposition ses propres artworks sur le forum de MAMEWorld.
Les effets d'ombres, la balance des couleurs et l'éclairage ont été ajustés individuellement pour chaque jeu. L'idée était de donner une impression de lumière venant de l'écran de façon plus ou moins réaliste, tout en conservant un style visuel très propre qui ne pollue pas l'aire de jeu proprement dite. Le cadre de la TV est là pour suggérer la courbure de l'écran avec un overscan qui ne me semble pas gênant. Bien sûr, les filtres appliqués sur votre version de MAME dépendent de vos propres réglages, les artworks ne concernant que le cadre autour de l'aire de jeu (ça, et le backdrop de "Asteroids Deluxe").
Il va de soi que vous pouvez à votre tour éditer ou distribuer mon travail comme bon vous semble, étant donné que j'ai moi-même basé ce travail sur celui des autres.

Pour utiliser ces artworks dans votre installation de MAME, c'est vraiment très simple, il suffit de les télécharger en cliquant ici, puis de transférer le contenu du fichier ZIP (d'autres fichiers ZIP qu'il faut laisser intacts) dans le répertoire "Artwork" de MAME. Vous pouvez utiliser ces artworks pour d'autres jeux simplement en les copiant/collant puis en les rebaptisant du nom de la ROM du jeu (j'utilise par exemple celui de "Lode Runner" pour toute la série, celui de "Mr. Do!" se réutilise pour "Mr. Do's Castle", etc.).

Naturellement, beaucoup de bornes d'arcade n'ont pas de bezel ; pour que l'émulation de ces jeux se fasse également dans les meilleures conditions possibles, j'ai créé des artworks génériques pour toutes les résolutions les plus courantes, ce travail étant lui aussi basé sur celui de big10p :

Jeu horizontal 224p
     
Jeu horizontal 232p
Jeu horizontal 240p
Jeu de conduite 240p
Jeu horizontal 256p
Jeu horizontal pleine hauteur
Jeu Neo-Geo pleine largeur
Jeu Neo-Geo 304px de large
Jeu vertical 224p
Jeu vertical 240p
Jeu vertical 384p
Jeu vertical pleine hauteur

Les couleurs des bords peuvent sembler "flashy", mais dans ma pratique personnelle, elles encadrent l'action sans être intrusives. Remarquez qu'il y a deux artworks horizontaux 240p : un standard, et un qui utilise une diode en bas à droite de l'écran pour indiquer la position du levier de vitesse dans les jeux de conduite, comme "Out Run" précédemment - dans le ZIP à télécharger, cet artwork est conçu pour "Special Criminal Investigation" (cf. la miniature), mais peut être édité pour être adapté à un autre jeu. Il y a également deux artworks pour Neo-Geo ; la résolution technique de la console est 320x224 pixels, mais certains jeux utilisent la résolution 304x224 avec des bandes noires sur les côtés - j'utilise l'un ou l'autre artwork correspondant au cas par cas. Ces douze artworks sont téléchargeables en cliquant ici.

Pour les installer, il faut comme auparavant transférer le contenu du ZIP dans le répertoire "Artwork" de MAME. Le fichier artwork pour "Special Criminal Investigation" porte le nom de la ROM, "sci.zip", les autres ont des noms descriptifs commençant par "000_" pour qu'on les trouve plus facilement en haut de la liste alphabétique. Pour lier un artwork à un jeu, vérifier sa résolution depuis MAME (clic droit sur l'entrée du menu, "propriétés", hauteur en pixels pour les jeux horizontaux et largeur pour les jeux verticaux), puis copier/coller le fichier artwork correspondant, et rebaptiser la copie du nom de la ROM. Il faut noter que par exemple les jeux verticaux de résolution 192p peuvent bien entendu utiliser le fichier artwork 384p puisque la seconde résolution est le double de la première ; de la même façon, les jeux horizontaux en 192p peuvent utiliser le fichier artwork 240p car son aire de jeu fait 960 pixels de haut (240 multiplié par quatre), or, 960 est aussi égal à cinq fois 192. Les jeux verticaux en 256p peuvent également utiliser le fichier artwork 384p. Enfin, vous remarquerez que j'utilise les artworks de pleine hauteur pour les jeux vectoriels, puisqu'ils sont étirables à volonté sans altération de leur qualité.

Overlays 16/9 1080p pour RetroArch (consoles)

RetroArch n'est pas un émulateur proprement dit, mais une plateforme commune permettant de faire cohabiter plusieurs "noyaux" d'émulation au sein d'une même interface. C'est, il faut bien le dire, une usine à gaz, mais une fois qu'on a réussi à la paramétrer parfaitement, il est incroyablement pratique d'utiliser une seule application pour l'émulation de toutes les consoles de jeu.

Un des avantages de RetroArch est la grande abondance et la qualité de ses effets visuels, à l'aide de filtres ("shaders") ou bien de cadres graphiques similaires aux artworks : les overlays. Grâce à des fichiers de configuration propres à chaque système (ou même à chaque jeu) soigneusement placés dans le répertoire "config" de RetroArch, on peut ainsi habiller l'entièreté de sa ludothèque d'émulation de façon à retrouver le meilleur des sensations d'origine :

Nintendo Entertainment System
     
Super NES
Game Boy Color
Game Boy Advance
Nintendo 64 (pleine résolution)
Nintendo 64 (plus basse résolution)
Mega Drive
PlayStation
Game Boy
Nintendo DSi

Les cadres ci-dessus sont tous conçus pour évoquer l'aspect physique des consoles d'origine tout en restant discret, qu'il s'agisse de motifs propres aux consoles elles-mêmes, du design de leurs cartouches (cf. la SNES), ou d'une recréation littérale dans le cas des consoles portables (mon travail a pour ces dernières été minimal, avec beaucoup de récupération). Bien entendu, selon votre configuration de RetroArch, vous n'aurez pas forcément les mêmes shaders appliqués à l'image que sur ces captures d'écran.

Les overlays ne fonctionnent pas exactement de la même façon que les artworks de MAME, on ne peut à ma connaissance pas y spécifier la taille de l'aire de jeu ; pour que ces overlays encadrent l'image de façon appropriée, il faut donc d'abord régler le format de l'image dans le menu : "Settings" => "Video" => "Integer Scale" sur ON et "Aspect Ratio Index" sur "Core provided", sauf pour la NES et la SNES où il faut régler ce dernier sur "8:7 (1:1 PAR)" - je fais en effet partie de ces gens qui considèrent que les jeux NES et SNES ont été conçus pour être affichés dans leur résolution native et non en 4/3, qui les déforme horriblement.
Ces overlays tiennent compte des soucis qui apparaissent sans overscan, c'est-à-dire des bugs graphiques qui étaient à l'époque masqués par la bordure de la TV, par exemple dans "Super Mario Bros. 3" ; les plus gênants sont masqués ici aussi. Vous avez sans doute remarqué qu'il y a deux overlays pour Nintendo 64, dus aux deux résolutions possibles sur la machine, il faudra choisir l'un ou l'autre selon les cas ("Settings" => "Onscreen Overlay", puis sélectionner l'emplacement des fichiers sortis du ZIP).

Les cadres pour Game Boy et Nintendo DSi sont des cas spéciaux puisqu'ils ne sont pas techniquement des overlays mais sont liés à des shaders. Il y a en effet un jeu de shaders pour consoles portables qui flotte sur Internet, souvent mis à jour grâce à des efforts collaboratifs, qui comporte un shader Game Boy spectaculaire, absolument magnifique. Je me suis permis ici d'apporter de petites corrections à deux images utilisées dans ces shaders afin de les rendre plus détaillées, mieux cadrées en écran large, d'enlever des effets de reflets à mon avis nuisibles, et d'atténuer leur luminosité pour ne pas gêner le jeu.
Pour paramétrer ces shaders, il faut d'abord les trouver sur Internet, puis régler "Integer Scale" sur OFF et "Aspect Ratio Index" sur le format de votre TV ou de votre moniteur (les overlays de cette page sont conçus pour TV 16/9 1080p, les shaders s'adaptent eux à toute résolution), puis remplacer les fichiers du répertoire "resources" du shader par ceux que je vous propose ici (renommer les originaux d'abord pour ne pas les perdre, au cas où vous les préfèreriez).

Vous pouvez télécharger mes huit overlays pour RetroArch en cliquant ici, et mes deux corrections pour shaders Game Boy et Nintendo DSi en cliquant ici.

Overlay et masque 16/9 1080p pour WinUAE (Amiga)

Enfin, après les jeux d'arcade et les jeux sur consoles, on passe au micro-ordinateur de mon adolescence, l'Amiga, et au meilleur émulateur pour cette machine, WinUAE. L'Amiga était une machine compliquée, et WinUAE est un émulateur compliqué mais qui permet beaucoup de choses, et notamment des overlays et des masques bitmap.

Les jeux Amiga ont des aires de jeu de tailles extrêmement variables ; le menu d'un jeu peut être quasiment plein écran mais le jeu n'apparaîtra lui-même que dans une zone aux dimensions réduites. J'ai donc réalisé un overlay qui convienne à toutes les tailles, découvrant l'aire 4/3 au centre de la TV et masquant les bords de l'écran 16/9, puis j'ai ajouté à cela un masque bitmap créant de légères scanlines (cliquer sur la miniature et afficher l'image en pleine taille pour bien les voir) :


Le motif des bords est inspiré de la grille située au-dessus du clavier de l'Amiga, que je reconnaîtrais entre mille. Pour installer cet overlay et le masque, les télécharger en cliquant ici, transférer le contenu du ZIP dans le répertoire de référence de WinUAE, qui est en général le répertoire où l'application est installée ou un dossier public Windows dédié, puis se rendre dans les paramètres : dans "Host" => "Filter", faire correspondre dans les menus déroulants en haut "Overlays" avec "default_horz_bezel_AMIGA.png", et "Masks" avec "scanlines.png". Pour ma part, j'utilise ensuite les tirettes de taille et de positionnement horizontal et vertical pour que chaque jeu soit dimensionné dans un multiple de sa résolution native, et pour que l'aire de jeu se trouve bien au centre de l'écran.

Par ailleurs, je vous recommande très fortement de régler l'émulateur en "PAL" dans "Host" => "Display", l'Amiga était une machine européenne et son émulation se doit de tourner en 50Hz, la différence est spectaculaire.

Récapitulatif et rappel des liens de téléchargement

J'espère que ces fichiers et ces explications vous ont été utiles. Pour avoir joué à certains de ces jeux dans leur contexte d'origine, puis y avoir beaucoup joué sous émulation "nue", et enfin y avoir joué sous émulation avec des filtres et des cadres graphiques, je dois dire que ce dernier moyen de profiter du patrimoine vidéoludique est à mon avis le meilleur des trois : les outils modernes d'émulation permettent, je pense, de suffisamment recréer le contexte de l'époque afin que l'expérience conserve sa nature, son sens et sa qualité, sans pour autant nous imposer les nuisances qui allaient alors avec (qualité du signal vidéo ou de l'écran des consoles portables, résolution, problèmes de format, qualité des contrôleurs, temps de chargement, etc. ; auxquels il faut ajouter la difficulté de trouver du matériel d'origine en bon état de nos jours où n'importe quel quidam joue les spéculateurs).

Voici un rappel des liens de téléchargement vers les cinquante-quatre éléments proposés dans cette page :
Très bon jeu à tous !

Aucun commentaire