Un voyage dans le temps : de l'Amiga à Godot
En 1993, dans une Bagdad sous sanctions, Rabah Shihab et son équipe créaient Babylonian Twins sur un Amiga 500. Avec seulement 512 Ko de RAM, sans disque dur, le développement se faisait directement en assembleur 68000, chaque sprite et chaque ligne de balayage à la main. Le jeu ne demandait rien au système d'exploitation de l'Amiga, utilisant directement les registres du blitter pour déplacer les tuiles et lisant les joysticks depuis le port matériel.
Babylonian Twins était le premier jeu commercial produit en Irak, mais les circonstances ont empêché sa distribution. Ce n'est qu'en 2008 que le jeu a refait surface grâce à un forum Amiga, et en 2010, il a été porté manuellement sur iPhone, atteignant plus de deux millions de téléchargements.
L'IA : une aide précieuse pour le portage
Quand Rabah a décidé de porter le jeu sur Godot, il a fait appel à un modèle de langage large (LLM) pour lire l'assembleur 68000 d'origine. Ce type de modèle utilise l'apprentissage automatique pour comprendre et interpréter des langages de programmation complexes. Le LLM a non seulement simplifié la conversion des fichiers, mais a aussi pris des décisions sur la façon de transposer le code vieux de trente ans.
L'utilisation de l'IA a drastiquement accéléré le processus. Là où un portage manuel aurait pris des mois, le modèle a permis de franchir ces étapes en quelques semaines. Rabah a été surpris par la rapidité et l'efficacité du modèle, même si quelques erreurs se sont glissées sans qu'il s'en aperçoive immédiatement.
Les défis du portage
Porter un jeu des années 90 à une plateforme moderne comme Godot n'est pas sans défis. Il ne s'agit pas seulement de traduire du code, mais aussi de mettre à jour les graphismes et l'audio pour répondre aux attentes modernes. Godot, avec son système de scènes et son langage GDScript, offre une flexibilité qui n'était pas disponible sur l'Amiga.
Le modèle de langage a aidé à interpréter les commandes bas niveau de l'Amiga et à les adapter aux API de Godot. Par exemple, les registres du blitter et le coprocessor vidéo de l'Amiga ont été remplacés par les shaders et les nœuds de Godot.
Une renaissance numérique
Le résultat est une version de Babylonian Twins qui conserve l'esprit du jeu original tout en l'apportant à une nouvelle génération. Les graphismes ont été améliorés, la musique remastérisée, et le gameplay affiné pour les écrans modernes. Rabah a pu se concentrer sur ce qui comptait le plus : préserver l'expérience de jeu tout en l'adaptant aux technologies contemporaines.
Le portage de Babylonian Twins sur Godot montre à quel point les outils modernes comme les LLM peuvent transformer des projets anciens en réussites actuelles. Rabah a pu revisiter son œuvre avec des outils qui auraient semblé de la science-fiction en 1993.
Conclusion
Porter un jeu Amiga de 1993 sur Godot avec l'aide d'une IA est une aventure fascinante qui montre la puissance des technologies actuelles. Pour les développeurs qui cherchent à moderniser leurs anciens projets, l'IA offre de nouvelles opportunités pour faire revivre le passé.
Discutons de ton projet en 15 minutes.