Prince of Persia libéré !
Prince of Persia est un jeu vidéo culte qui a réellement marqué l’histoire des jeux vidéo, en particulier pour son innovante technique d’animation rotoscopique. Or sa version originelle, sortie sur Apple II en 1989, vient d’être libérée par Jordan Mechner.
C’est son père qui, il y a trois semaines, en faisant du rangement, a retrouvé dans un carton trois vieilles disquettes 3.5″, âgées de plus de 20 ans, dans lesquelles se trouvait encore le précieux code source du jeu.
Le code source, qui est maintenant disponible sur GitHub, est de l’assembleur pour 6502, un processeur utilisé sur une très grande variété de machines différentes, ce qui laisse pas mal d’espoir de voir apparaître de nouveaux portages. La riche documentation technique, fournie à l’époque par Jordan pour aider les développeurs effectuant les portages commerciaux, devrait alors être encore une fois d’un grand secours.
La disponibilité du code source rend les choses beaucoup plus simples, bien que la programmation en assembleur puisse paraître effrayante pour beaucoup de programmeurs “modernes”, et évite d’avoir recours au reverse engineering comme lors du superbe travail de portage de Prince of Persia sur Commodore 64, économisant ainsi beaucoup d’énergie et de talent.
Le choix de la licence utilisée n’est pas encore très clair, Jordan indiquant juste dans le README:
We did this for fun, not profit. As the author and copyright holder of this source code, I personally have no problem with anyone studying it, modifying it, attempting to run it, etc. Please understand that this does NOT constitute a grant of rights of any kind in Prince of Persia, which is an ongoing Ubisoft game franchise. Ubisoft alone has the right to make and distribute Prince of Persia games.
Je lui ai demandé des précisions sur son Twitter, moyen de communication qu’il semble privilégier, et j’espère qu’il répondra rapidement. En attendant, vous pouvez toujours jouer au clone Flash de POP :
Et ainsi réfléchir aux Ghz de CPU et aux Go de RAM que vous utilisez, alors que la version dont on a aujourd’hui le code source faisait que le Mhz du 6502 et ses quelques Ko de RAM suffisaient à obtenir le même résultat.
À l’époque où un jeu vidéo était une œuvre indissociable de son développeur, inventeur aussi bien de l’idée originale que du scénario, créateur aussi bien du code source que des graphismes ; et où chaque instruction assembleur utilisée était un trésor d’optimisation de code (when men were men and wrote their own device drivers)…