Dans un élan de curiosité j’ai adapté mon script de monitoring des ressources CPU et du framerate a une trentaine de jeu NES que j’affectionne. J’ai pas le temps de les explorer tous en profondeur mais ca permet quand même de confirmer certain avis.
Je suis toujours impressionné notamment par Contra et Super Contra qui sont des jeux tres exigent en ressource puisque c’est a la fois du shmup avec plein de bullets (surtout avec le spread gun) avec plein d’ennemis , de l’IA et en meme temps du platforming qui implique un environnement en interactions avec le joueur, les ennemis et même les bullets. Puis du scrolling, de chouettes musiques... C’est un scénarios difficile pour une machine 8bit et pourtant le jeu est super solide a 60fps, c’est difficile de le faire dérailler. La courbe de ressource peine a atteindre les 100%. A comparer avec Megaman 3 c’est le jour et la nuit. Y a même pas de RAM supplémentaire et le jeu se paie même le luxe de proposer un mode 2 joueurs. Dans Super Contra ont a même l’ajout d’un scrolling multidirectionnel. Pour moi Contra fait partie des références de ce point de vue et c’est d’autant plus mérité qu’il fait aussi partie des vieux jeux NES donc ce n’est pas juste le résultat d’un long savoir faire mais d’un véritable effort d’optimisation. Chapeau Konami.
Et justement en parlant de Konami je suis obligé aussi de citer un autre de leurs jeux et encore plus vieux c’est Castlevania et lui aussi est redoutable de solidité a 60fps, ca bronche pas. Et encore une fois c’est d’autant plus remarquable que Castlevania fait vraiment partie de la première vagues de gros jeux NES (au moment ou sort le FDS au Japon) peu apres SMB et bien avant les Megaman, Batman, Contra, Ducktales... Y avait pas grand chose en face a cette époque, ah si y avait le Ghosts’n Goblins de Micronics a 20fps tout glitché :).
Sur la qualité du code le face a face Konami vs Capcom a cette époque était bien a l’avantage de Konami. Capcom avait la qualité de leur pixel art mais du coté du code ils avaient plutôt a priori cette volonté d’universalité pour partager le code entre différents jeux et donc peu propice a l’optimisation mais ca leur permettait une bonne cadence de production.
Je ne peux pas parler de Contra et Super C sans parler de Contra Force qui est une sorte de spin-off, une sorte de Contra 3 toujours par Konami mais probablement pas la même team. Le jeu est tres différent dans la forme et aussi au niveau du code et du framerate qui est catastrophique, tout l'inverse de Contra. Je le fais droper dans une scène vide et immobile juste en tirant et alors même qu'on ne peut tirer que 2 balles simultanément (ah c'est pas le spread gun de Contra!). C'est un exemple encore plus flagrant que Megaman 3 d'un jeu qui aurait du être locké en 2vbl (30fps) pour que ce soit tout simplement jouable :)
Pour terminer je vais citer un jeu Natsume que j’aime beaucoup, Power Blade. Un jeu vraiment tres agréable a jouer qui s’inspire beaucoup de Megaman (c’est assumé, Aller voir Power Blazer la version Jap) et qui m’a beaucoup impressionné sur le monitoring car la courbe est vraiment tres basse, elle peu même descendre en dessous des 25% et même face a 8 ennemis ca tiens ses 60fps. Ca met encore un gros coup a Megaman 3 d’autant que la on est sur un jeu très semblable (même si c’est pas la même qualité de pixel art). Natsume c’est vraiment un studio sous-traitant qui faisait du tres bon boulot sur NES et venait bousculer les grands régulièrement.
Je citerais bien d’autres jeux que j’aime beaucoup et qui sont très solide aussi comme Jackie Chan ou Splatterhouse qui font partie des jeux moins connu mais vraiment très agréable a jouer et que je conseille.
Je met ici le pack qui regroupe tous mes scripts de monitoring. A utiliser avec l'émulateur MESEN (version 0.9.6 minimum): MesenScriptFramerate
Et certain script sont un peu défaillant du a un marqueur mal choisie car certain jeu ont un fonctionnement un peu tordu (et j’ai pas le temps de creuser plus) mais c’est indiqué dans le nom du fichier.