Prenez un succès incontournable du jeu vidéo des années '90 (allez, 1989): Prince of Persia. Prenez un briscard de la programmation sur une machine mythique et merveilleuse: MrSid et son C64. Arriva ce qui devait arriver: après la SNES, le PC, l'Amiga, les téléphones Java et l'iPod et la calculatrice HP48, le titre à succès de l'Apple II arrive sur Commodore 64.
Au départ, je pense à une ancienne version qui aurait refait surface, mais non: MrSid refait bel et bien le jeu entre 2008 et 2011 -- chacun son hobby. L'Apple II et le C64 tournent avec le même processeur, le MOS 6502. C'est énorme. Ca signifie qu'en prenant simplement le "binaire" de PoP sur Apple II, une partie du jeu "tournerait" directement sur C64 ... toute la "logique" du jeu, en fait. Les mécanismes graphiques et sonores des deux machines sont totalement différentes, en revanche. Et à relire pour la 3eme fois le peu d'information que je trouve sur le graphisme de l'Apple II, j'aime autant dire que cette différence est importante. La machine de Steve Wozniak travaille essentiellement avec un gros 'framebuffer' (une image bitmap unique, remise à jour à chaque étape du jeu) alors que le C64 a un hardware inspiré des consoles et machine d'arcade de l'époque: caractères reprogrammables et sprites hardware. Le moteur de rendu devra donc être intégralement refait.
La tâche à laquelle MrSid s'attelle donc, c'est de reprendre le binaire de la version Apple II, le désassembler et le cartographier. Il s'est évidemment mis en chasse du code source d'origine, qui a été perdu corps et bien ... eh oui, on travaillait sur floppy à l'époque >_<. Ce qui a survécu, en revanche, et que MrSid exploite au maximum, c'est la "documentation" du jeu. Quelques schémas qui expliquent les grandes lignes du moteur graphique, la liste des animations, l'organisation en mémoire des objets, leur position, les animations, et tout ça. Ca fait toute la différence! Au milieu de l'inconnu, il y a maintenant des points de repère qui permettent de comprendre le code parfois curieux de Jordan Mechner. Code-trampoline, liste d'instructions ... Si tout ça vous parle, ne vous en tenez pas à ce que je vous raconte: allez lire le blog dans lequel MrSid raconte en détail sa réalisation étape par étape... vidéos à l'appui.
Au fait, MrSid, c'était aussi le portage de Giana Sister (version C64) et International Karate sur DS. ^_^
31.10.2011
Prince of Persia sur C64 ...
00:05 Écrit par PypeBros | Lien permanent | Commentaires (6) | Trackbacks (0) | Envoyer cette note |
Facebook | |
|
del.icio.us |
|
Digg













Trackbacks
Voici l'URL pour faire un trackback sur cette note : http://c64charleroi.skynetblogs.be/trackback/6789459
Commentaires
Je suis admiratif car ayant chipoté au plus bas niveau avec des émulateurs, de l'assembleur etc je peux
dire qu'il a dû trimer pour arriver à ce résultat-là.
Superbe conversion.
Écrit par : Steph | 01.11.2011
C= rules !
Écrit par : Max | 01.11.2011
Écrit par : cyborgjeff | 02.11.2011
Écrit par : c64 | 03.11.2011
Écrit par : cyborgjeff | 03.11.2011
Écrit par : c64 | 05.11.2011
Écrire un commentaire