Avancé·2 min·19 août 2026

Réparer 30 ans de jeux bugués automatiquement

🎧 Résumé audio0:00 / 0:00
Un outil détecte et bloque les états de blocage dans les vieux jeux Sierra en analysant leur code.
Réparer 30 ans de jeux bugués automatiquement

Pourquoi ça compte pour toi

C'est un cas d'école de rétro-ingénierie et d'analyse statique : comment extraire de la logique métier (conditions de victoire, pièges) du code brut sans documentation, puis la transformer en correctif sans casser le reste. Utile si tu fais de l'IA pour analyser du code hérité ou si tu veux voir comment on applique l'interprétation abstraite à de vrais problèmes.

Ce qu'il faut retenir

  • 1.Décompile le jeu, construit un graphe des transitions possibles et détecte les situations sans issue.
  • 2.Génère automatiquement des garde-fous (conditions) qui empêchent l'impasse au dernier moment où tu peux encore agir.
  • 3.Testé sur 4 jeux (King's Quest IV, VI, Leisure Suit Larry 2, Laura Bow 2) — zéro code spécifique par jeu.

Tu galères avec le jargon ?

Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.

Comment ça marche

Le pipeline fait 4 choses :

1. Décompile le binaire en graphe jouable Il transforme le code machine du jeu en arbre de contrôle typé (JSON), puis l'interprète abstraitement : quelles salles sont accessibles depuis où, quels objets se gagnent/perdent, quels registres (variables du jeu) se modifient.

2. Isole les pièges Un piège, c'est un état où tu ne peux plus gagner mais le jeu continue. Exemple : dans Leisure Suit Larry 2, tu oublies la crème solaire à Los Angeles, tu montes sur le bateau, et des jours plus tard tu meurs sur un radeau sans échappatoire. L'outil détecte ça en trouvant les traversées unidirectionnelles (entre zones déconnectées) où des objets essentiels restent inatteignables après.

3. Synthétise un correctif Il calcule les conditions exactes pour traverser sans risque (avoir les bons objets en main), puis place un garde-fou au dernier moment — là où tu peux encore agir. Si l'objet fatal est le dip aux épinards en salle 138, le correctif refuse la traversée tant que tu l'as, mais placé à un endroit où tu peux le jeter par-dessus bord.

4. Compile et patche sans toucher à l'original Les scripts modifiés sont recompilés avec le même compilateur SCI que Sierra utilisait, et empaquetés au format de patch libre — les jeux Sierra historiques les reconnaissent nativement. Supprime les fichiers de patch = retour à l'état d'origine complet.

Le truc malin : les gardes négatives

La plupart des outils bloqueraient la traversée jusqu'à avoir l'objet. Ici, les gardes peuvent aussi dire « refuse tant que tu as ça ». C'est moins frustrant : tu n'es pas bloqué, juste averti que tu dois te débarrasser de quelque chose — et tu peux le faire.

L'état du projet

4 jeux testés et jouables. KQ5 est en cours — c'est plus complexe parce que les marchands doivent être payés dans un ordre précis (problème d'appariement).

La vraie force : rien n'est déclaré en dur. Le code découvre tout seul la salle de départ, la victoire, le signal de mort. Même logique pour les 4 jeux, moteurs SCI0 et SCI1.1 — zéro hack par titre.

Installation

Python 3 pur (stdlib uniquement). Nécessite deux chaînes d'outils externes (décompilateur C#, compilateur SCI C++) — à compiler depuis les sources. Instructions complètes dans le dépôt.

Et concrètement pour toi ?

Choisis ton profil — la lecture de l'article change selon qui tu es.

🔭 Curieux

Pour toi, c'est fascinant : une IA qui comprend la mécanique d'un jeu de 30 ans en lisant son code brut et qui le répare toute seule. Ça montre comment l'analyse de code devient une sorte de compréhension — l'IA apprend à penser comme le programmeur original.

Newsletters Noésis

3 minutes d'IA dans ta boîte mail, chaque matin.

Rejoins les francophones qui comprennent, essaient et progressent avec l'IA. Choisis ce que tu veux recevoir. Désabonnement en 1 clic.

Explorer les thèmes de cet article :