Pong game recompiles its own source code every frame — winning entry at IOCCC29 was generated by a custom compiler

Pong game recompiles its own source code every frame — winning entry at IOCCC29 was generated by a custom compiler

The IOCCC29 winner writes each frame as fresh C source, compiles it, then runs it.

When you purchase through links on our site, we may earn an affiliate commission. Here’s how it works .

Today in cursed code: a computer program that plays pong by modifying its own source code. (Each frame is a new compilation). https://t.co/kS2ACZ7r79 pic.twitter.com/7yIc9tXSdP June 26, 2026

In his entry notes, Uellenberg writes that the winning code “isn't really obfuscated. It never was,” stressing that it’s compiler output rather than anything mangled by hand. The Insert compiler targets C and runs the size-optimization passes that a production compiler would, such as liveness analysis to strip dead code, constant folding, and a variable-merging pass that reuses one variable slot for many values. Repeated token sequences are then packed into C preprocessor defines to shave bytes. By his account, optimization and obfuscation tend to collapse into the same output, which is why the result reads as a wall of single-character identifiers and a data array that mixes constant and mutable values.

A quine is a program that prints its own source code when you run it. Uellenberg's version prints a modified copy of itself: the source for the next frame, with the updated game state baked in. Run that, and it prints the frame after, and so on.

The player moves the right paddle by passing “w” or “e” as a command-line argument, competes against a computer opponent, and runs a bundled script that automates the compile-and-run cycle so the match plays in real time. Beating the computer switches the program to a second game, a side-scrolling jumper modeled on the Chrome dinosaur runner, and clearing that switches it back.

IOCCC29 is the second contest since organizers ended a four-year hiatus running from 2020 to 2024. 2025’s winners were presented via a YouTube livestream on June 6th before the source went to the contest's GitHub repository.

Retro enthusiast injects Snake game into vintage S3 graphics card VBIOS

Key considerations

  • Investor positioning can change fast
  • Volatility remains possible near catalysts
  • Macro rates and liquidity can dominate flows

Reference reading

More on this site

Informational only. No financial advice. Do your own research.

Leave a Comment