Super Mario 64 – Le jeu qui gaspillait la mémoire de la N64 | Le site de Korben

Illustration générée par intelligence artificielle

Ce matin, j’ai découvert une information qui a particulièrement attiré mon attention. Savez-vous que Super Mario 64, ce chef-d’œuvre emblématique qui a révolutionné l’univers du jeu vidéo, était en réalité un véritable puits sans fond en termes de mémoire sur la Nintendo 64 ? C’est le programmeur Kaze Emanuar qui a pris le temps d’analyser le code source du jeu, et les résultats de son étude sont à la fois fascinants et préoccupants.

Pour appréhender l’ampleur des problèmes de mémoire, il convient de se replonger dans le contexte de l’époque. La N64 était dotée de 4 Mo de RDRAM rapide, une taille qui pourrait à peine contenir une simple photo prise avec un smartphone moderne. Dans cet espace limité, il fallait intégrer les textures, le code, la musique, les buffers de sortie, ainsi que les états des personnages. Autant dire que chaque octet comptait, ce qui rendait d’autant plus frustrante la manière dont Mario 64 utilisait la mémoire disponible.

Malgré ses défauts techniques, Mario 64 demeure un monument du jeu vidéo.

Effectivement, Mario 64 semblait avoir été livré avec une version debug, pleine de “code inutile”. Rien qu’en ce qui concerne le système audio, celui-ci absorbait à lui seul 512 Ko de mémoire. Plutôt que de réutiliser judicieusement les buffers, le jeu allouait 4 buffers d’échantillons pour chaque note, gaspillant ainsi 51 Ko de RAM, l’équivalent de 17 textures. Les fonctions mathématiques n’échappaient pas à ce gaspillage, puisque des tables de sinus et cosinus auraient pu être réduites d’un quart, économisant 12 Ko supplémentaires. Ce surplus était suffisant pour disposer de 4 textures de plus, tout en améliorant légèrement les performances.

Autre aberration, la gestion des objets dans le jeu. Chaque personnage, qu’il soit simple ou complexe, se voyait allouer uniformément 608 octets, une approche qui a de quoi faire frémir n’importe quel développeur. De plus, le jeu chargeait des banques de mémoire entières, comprenant bien souvent des objets inutiles. Par ailleurs, le build NTSC de Mario 64 ne profitait même pas des optimisations du compilateur, comme si Nintendo avait oublié d’activer le mode “optimisé” avant de lancer la production des cartouches. Cela dit, il est essentiel de mettre ces erreurs en perspective : seulement 7 programmeurs avaient 20 mois pour élaborer un jeu exceptionnel sur une console dont les ressources étaient encore en phase de développement.

Les travaux récents de programmeurs tels que Kaze Emanuar illustrent donc que grâce aux techniques modernes, il est désormais possible d’atteindre des performances jusqu’à six fois supérieures en utilisant le N64 Expansion Pack, un outil que l’équipe originale n’avait pas à sa disposition. La suite de l’histoire est révélatrice : les leçons tirées de ces erreurs ont été mises en pratique dans The Legend of Zelda: Ocarina of Time, qui était bien plus optimisé à sa sortie. C’est là que l’évolution des outils et des méthodes de développement a réellement porté ses fruits.

En résumé, même si Mario 64 présente des défauts techniques notables, il reste un pilier incontournable dans l’histoire du jeu vidéo. Lorsqu’on regarde le produit final, on ne peut que se demander si quelques Mo gaspillés en valaient vraiment la peine pour un jeu qui a indiscutablement façonné l’industrie du jeu.

Partagez cet article
article précédent

Les investisseurs adorent Lovable

article suivant

Code Red – Le ver qui voulait faire tomber la Maison Blanche | Le site de Korben

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire plus d'articles