J’ai craqué. Après l’avoir lorgnée pendant des mois (et même années: elle est sortie en juin 2021), j’ai enfin acheté une Playdate. Ce petit bijou jaune avec sa manivelle, son écran noir et blanc non rétro-éclairé, et son charme tout droit sorti d’un univers parallèle où la Game Boy aurait épousé un Palm Pilot. Et je l’adore. C’est une console qui donne envie de créer, de bricoler, de tester.
Alors forcément, j’ai plongé dans le SDK tête la première.

Depuis quelques semaines, je développe tout un tas de petits jeux: certains originaux (Brixen par exemple) et d’autres portage de jeux qui ont marqué mon parcours videoludique.
Parmi ces ports, Picross. Mais pas n’importe lequel. Je me suis souvenu de Superpix, la version CPC de Kukulcan, celle avec 720 niveaux (!), trouvable sur CPC-Power.
Extraction de cerveaux de secteurs
Après avoir développé une version jouable qui tournait à peu près sur Playdate (merci encore le SDK), il me fallait les fameux 720 niveaux. Petit hic : je n’ai aucune idée du format d’encodage utilisé dans le fichier .dsk. Je pourrais demander à Kukulcan (il faudra d’ailleurs que je lui demande la permission si un jour je sors le jeu officiellement), mais cela serait moins amusant.
Je commence à ouvrir le fichier dans un hex editor, je farfouille, je devine des trucs, mais très vite je sens que ça va me prendre des heures, voire des jours. Et si je demandais à Claude Sonnet 4.5, le modèle d’IA d’Anthropic, de faire ça à ma place ? Juste pour voir. Je n’y crois pas trop.
Je lui balance le fichier .dsk en question, récupéré depuis CPC-Power, et une chouette petite librairie Lua faite par Claire CheshireCat pour lire ce genre de fichier. Je lui dis, en mode agent :
« Dans /stuff, il y a le fichier
Superpix (UK) (Face B) (2014) [Original].dskqui contient les 720 niveaux du jeu picross. Ils sont placés dans les secteurs avec des 1 et des 0. Fais un extracteur de niveaux en lua (regarde le fichier dsk.lua pour extraire des données du dsk). »
Il me sort un truc. J’exécute. Résultat… mitigé. Forcément.
Mais bon, pas question d’abandonner. Je tente un deuxième prompt, un peu plus guidé cette fois. Je lui file le début du premier niveau, à la main, basé sur une capture d’écran du niveau sur CPC-Power :

« Ce n’est pas bon. Le premier niveau devrait commencer par 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0,0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0,0,0,0,0, 1,1, 0, 1, 0, 1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1, 0,0,0,… »
Et là, magie noire.
Claude me pond un script qui :
- trouve tous les 720 niveaux ;
- génère un fichier compressé
picross_levels.binde 20882 octets ; - me fournit un lecteur en C pour les intégrer dans mon jeu.
Je tente un troisième prompt, pour finaliser l’intégration dans le moteur C de mon projet… et c’est bon. Ça marche. Nickel. Exactement comme sur l’image CPC d’origine.
Je pensais devoir tout extraire à la main ou abandonner l’idée. Au lieu de ça, je me retrouve avec un système complet prêt à l’emploi, et une IA qui s’est comportée comme un assistant technique de haut niveau. En silence. Sans râler. Presque trop facile.


Ce que j’en retiens
Il y a encore peu de temps, j’aurais dit que l’IA ne pouvait pas vraiment m’aider dans mes projets de rétrogaming un peu obscurs. Trop de contraintes, trop de formats bizarres, trop de contexte à injecter. Et pourtant.
Je ne dis pas que c’était sans effort. Il a fallu plusieurs tentatives, du guidage, un peu de reverse engineering maison pour orienter la machine. Mais à la fin, j’ai pu sortir en moins d’une heure ce qui m’aurait pris plusieurs soirs d’extraction manuelle et de débogage.









