Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
upsilandre retrogaming

DES JEUX NES SUR LA LYNX?

Un beau message plein d'humilité ^^

 

Y a quelques jours dans mon flux youtube j’ai une vidéo longplay de Phoenix1291 qui a attiré mon attention puisqu’il s'agissait ce coup ci de Ninja Gaiden 3 sur Atari Lynx! J’avais le souvenir que la Lynx avait eu un Ninja Gaiden mais je ne savais pas qu’elle avait eu aussi le Ninja Gaiden 3 et connaissant le jeu par coeur sur NES j’ai immédiatement eu envie de voir ce que ca pouvait donner sur Lynx, curieux de voir comment ils avaient porté le jeu.

Quelle ne fut pas ma surprise de découvrir une version étrangement fidèle a la version NES. J’ai un peu speedrunné le jeu donc j’ai fait les levels en boucle de très nombreuse fois et j’étais donc surpris de voir que les ennemis semblaient tous popper au même endroit, a la même frame, tous les timing semblaient vraiment tres proche et je voyais aucune variation sur le level design ou le placement des ennemis et items. J’ai même finit par jouer entièrement cette version en émulation pour constater effectivement que je retrouvais mes repères. J'étais pas du tout déboussolé.

 
L’autre truc qui me laissait une impression étrange ce sont les graphismes. La definition de la Lynx est tres faible, 160x102, ce qui nécessitait donc d’adapter les graphismes (256x240 sur NES) mais le résultat me donnait vraiment plus l’impression que ce sont les tuiles de la version NES qui avait été mouliné (downscalé) dans un outil plutot que des graphismes refaient pour s’adapter a une si faible résolution (car une résolution aussi limité nécessiterait un vrai travaille d’adaptation) et quand on voit le ratio de pixel entre les 2 version (5:8 a l’horizontal et 1:2 a la vertical) ca semble coller. Ca revient a transformer des tuiles 8x8 de la version NES en tuile 5x4, ca a pu etre mouliné de façon plus ou moins automatisé avec peut être quelques retouches et encore.
Et c’est en feuilletant la fiche technique de la Lynx que je réalise que le CPU est de la famille 6502 (donc de la famille de celui de la NES et même proche de celui de la PCE) et qu’on peut donc faire tourner dessus directement du code NES. Alors ca nécessite d’adapter les routines pour l’affichage et le son mais du coup tout s'éclaire. Cette version a été conçu très probablement a partir du code source de la version NES ainsi que les data convertie de la version NES.
C’est la que j’ai eu l’idée du test ultime. Dans le précédant billet je vous ai parlé des hitbox et notamment d’un bug dans Ninja Gaiden 3. Le 7eme rocher du 6eme boss qui a une hitbox complètement buggé. allons tester ceci sur la version Lynx!
 
ici le bug sur NES pour rappel

 

C’est pour cette raison que je me suis tapé tout le jeu mais ca en valait la chandelle puisque j’ai pu constater effectivement qu’on retrouve exactement le même bug! Ca semble maintenant évidant que ce jeu Lynx est vraiment un recyclage de la version NES. Probablement que la similitude de CPU et de performance leur a inspirer cette idée de le recycler sur Lynx de cette façon en utilisant directement la source NES.
Le résultat est quand même très mitigé. La lisibilité du jeu en prend un sérieux coup avec ce downscaling violent, une vrai bouillie de pixel comparé a la version NES. Mais c’est pas tout, le framerate aussi est complètement a la rue (autour de 20fps) tres loin des 60fps sans faille de la version NES. Le son est une horreur au point que j’ose espérer que ce soit un problème d'émulation tellement c’est inaudible (et pourtant la BO du jeu NES est sublime). On perd aussi les plateformes destructibles (stage 5 et 7) qui ici deviennent statique sans doute pour éviter de reproduire l’effet visuel. On perd l’effets visuel de priorité/transparence du stage 6 quand on s‘enfonce dans le sol (voir le gif), on perd tous les effets de parallaxe (stage 2,3 et 7). Et la palette semble assez mal exploité. Le seul gain c’est la portabilité a l'époque (et l’absence de flickering de sprite)
 
Le type d’effet de parallaxe qui a disparu sur la version Lynx pour devenir statique

 

Conclusion si vous voulez jouer a Ninja Gaiden 3 ca se passe sur NES, evitez la version Lynx . Par contre j’aime bien la démarche d’avoir tenter de faire tourner directement un jeu NES sur une Lynx. L’idée c’est de faire un portage a moindre coût sans devoir recoder et refaire tout le jeu comme c’est le cas habituellement mais ca a quand meme du être un jolie casse-tete.
Et puis ca m’a donné quelques idées. Je me suis amusé a faire un script Mesen pour la version NES qui downscale toutes les tuiles (8x8 > 4x4 au lieu de 5x4 donc une résolution horizontal un poile plus faible que sur Lynx), qui baisse artificiellement le framerate a 20fps (sans ralentir le jeu) et qui ajoute artificiellement de l’input lag. En gros ca simule la version Lynx sur NES https://drive.google.com/open?id=1wEwlA7BR7ecI7mfMpEVIqxAfbw7ujHBy
J’ai fais aussi une version plus généraliste du script qui ne fait que réduire la résolution des jeux NES pour jouer a la NES en Lowres (128x120). Comme il sagit d’un vrai downscale des tuiles ca fonctionne bien mieux qu’en appliquant un filtre sur l’image (ce que j’avais aussi testé avec des scripts). On évite les problèmes de sampling et de shimmering lorsque ca bouge. La seule contrainte c’est qu’il faut que ce soit un jeu NES avec de la CHR-ROM (a peu prêt la moitié des jeux NES), le script vous dit de toute façon si le jeu est compatible. https://drive.google.com/open?id=1CdA1qBSdxK0iHR5yj8d2Ew5HY0ZHt-os
Dans le même élan j’ai fais aussi un script qui permet de baisser le framerate d’un jeu NES (la fréquence d’affichage mais pas la vitesse du jeu) avec les boutons de la souris. Et pour être réaliste ça fait varier aussi l’input lag en corrélation. C’est un bon moyen pour ceux qui sont sceptique sur l'intérêt et la différence entre du 60fps et du 30fps ou du 30fps et du 20fps. Ca permet de tester son ressentie en temps réel sur ces différences de framerates pendant que vous jouez. C’est compatible aussi avec les jeux PAL. https://drive.google.com/open?id=10ZsykUb9julzLEgRRIc721jp-Rz0g54g
 
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
F
Castlevania ! GG :)
Répondre
U
ca m'a pas l'aire tres bien fichue ce système de commentaire :D
F
Oh non j’allais dire le 3 justement !!<br /> Pourquoi ? Parce que c’est celui que j’ai pas fait et je me suis dit « c’est pas le 1 ou le 2 ça »<br /> (Je ne peux pas te répondre à toi ??)
U
Fail! C'est Castlevania 3 :D<br /> C'est le premier com sur le blog, ca me permet de tester :)