Ping pong: A game that requires a C compiler to play
The IOCCC 2025 winning entry by Henry Uellenberg implements a fully playable two-player ping-pong game entirely within a single C source file, using the compiler itself to process player input at compile time and generate the output binary.
Background
- The International Obfuscated C Code Contest (IOCCC) is a long-running competition where programmers write the most creatively twisted C code possible, often using bizarre language tricks to produce something that compiles and runs correctly.
- This 2025 entry is both a playable game of Pong (the 1972 arcade classic) and a piece of source code that wins the contest by being intentionally hard to read, self-referential, or cleverly minimized.
- "A game that requires a C compiler to play" means the program's source itself is the game's medium — you don't just run a prebuilt binary; the act of compiling the code is part of the experience or puzzle.
- The IOCCC has been running since 1984; entries are judged on creativity, not practical use, and winning entries often become cult artifacts among programmers.