A Pong game that rewrites its own code every frame wins IOCCC29

A Pong clone that rewrites its own source code each time the ball moves has claimed the top prize at this year’s International Obfuscated C Code Contest. The program, written by Jonah Uellenberg, does not merely play the game—it recompiles itself into a new C program for every frame, embedding the current score, ball position and paddle locations into the freshly generated code.
The compiler behind the magic
Uellenberg did not craft the winning entry by hand. Instead, he wrote clean, commented source in a new language he designed called Insert. His custom compiler then translated that code into the obfuscated C that judges saw. The compiler runs standard optimizations such as liveness analysis, constant folding and variable merging, then collapses repeated token sequences into C preprocessor defines. The result reads like a wall of single-letter identifiers and a dense data array where constants and mutable values share the same slots.
From quine to game loop
The project is an evolution of the classic quine—a program that prints its own source code. Uellenberg’s variant prints a modified copy: the C source for the next frame, with the updated game state baked in. Run that, and it outputs the frame after, repeating the cycle in real time. A companion script automates the compile-and-run loop so the match stays fluid. After defeating the AI opponent, the program flips to a side-scrolling jumper reminiscent of the Chrome dinosaur game, then cycles back to Pong once the second challenge is cleared.
A contest that keeps evolving
IOCCC29 marks the second edition since the contest’s four-year hiatus ended in 2025. Judges presented the winners in a live-streamed ceremony before releasing the source to the public GitHub repository. Veteran competitor Yusuke Endoh, whose self-modifying quines inspired Uellenberg, took three awards this year. The contest’s organizers, Landon Curt Noll and colleagues, published the proceedings under Creative Commons and announced they will open IOCCC30 toward the end of 2026.
Source: Tom's Hardware. AI-assisted editorial synthesis — TechnoExpress.

