Hardware29 juin 2026· via Tom's Hardware

Un jeu Pong qui réécrit son propre code à chaque image remporte l'IOCCC29

Un jeu Pong qui réécrit son propre code à chaque image remporte l'IOCCC29

Image : Tom's Hardware

Un clone de Pong qui réécrit son propre code source à chaque déplacement de la balle a remporté le premier prix de cette année au Concours International de Code C Obfusqué. Le programme, écrit par Jonah Uellenberg, ne se contente pas de jouer au jeu : il se recompile lui-même en un nouveau programme C pour chaque image, intégrant le score actuel, la position de la balle et les emplacements des raquettes dans le code fraîchement généré.

Le compilateur derrière la magie

Uellenberg n'a pas créé cette entrée gagnante à la main. Il a plutôt écrit un code source propre et commenté dans un nouveau langage qu'il a conçu, appelé Insert. Son compilateur personnalisé a ensuite traduit ce code en C obfusqué, tel que vu par les juges. Le compilateur applique des optimisations standards comme l'analyse de vivacité, le pliage de constantes et la fusion de variables, puis réduit les séquences de jetons répétées en définitions du préprocesseur C. Le résultat ressemble à un mur d'identifiants à une seule lettre et à un tableau de données dense où constantes et valeurs mutables partagent les mêmes emplacements.

Du quine au cycle de jeu

Le projet est une évolution du quine classique — un programme qui affiche son propre code source. La variante d'Uellenberg affiche une copie modifiée : le code source C pour l'image suivante, intégrant l'état mis à jour du jeu. L'exécuter produit l'image suivante, répétant le cycle en temps réel. Un script compagnon automatise la boucle de compilation et d'exécution pour que le match reste fluide. Après avoir vaincu l'adversaire IA, le programme bascule vers un jeu de plateforme à défilement latéral rappelant le dinosaure de Chrome, puis revient à Pong une fois le second défi relevé.

Un concours en constante évolution

L'IOCCC29 marque la deuxième édition depuis la fin de la pause de quatre ans du concours en 2025. Les juges ont présenté les gagnants lors d'une cérémonie diffusée en direct avant de publier le code source dans leur dépôt GitHub public. Yusuke Endoh, compétiteur chevronné dont les quines auto-modifiables ont inspiré Uellenberg, a remporté trois prix cette année. Les organisateurs du concours, Landon Curt Noll et ses collègues, ont publié les actes sous licence Creative Commons et ont annoncé l'ouverture de l'IOCCC30 pour la fin 2026.


Source : Tom's Hardware. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur Tom's Hardware →

← Retour à l'accueil