Loads a DOS emulator in your browser. Best on desktop.
A playable zombie-horde first-person shooter that fits in 5,234 bytes. Built from scratch in x86 assembly, running right here in your browser.
The record it targets
Stack 18 copies of tinyFPS and you still would not reach the record holder. It is about 18 times smaller than the current Guinness World Record for the fewest bytes in a first-person shooter, and smaller than a typical email signature.
The proof
The whole claim is one number: the byte size of the game's program. Here is the exact file, its fingerprint, and the commands to check both in under a minute.
95662730873d37ac6da6f3ac48d9a5e62894f3c24cf6264e72750bd41cc33223
# its size, in bytes $ wc -c fps_min.com 5234 # its cryptographic fingerprint $ shasum -a256 fps_min.com 95662730...cc33223 # and rebuild it from the source, byte for byte $ nasm -f bin fps_min.asm -o fps_min.com
A fresh build from the source produces a byte-identical file. It is one hand-written x86 assembly file with no external assets, no libraries, and no installer, so the 5,234 bytes really are the entire game. The full source is provided to Guinness World Records for adjudication.
How it is measured
The record is the size, in bytes, of the finished game as a single standalone program: one MS-DOS .COM executable with no external assets, no libraries, no installer, and no runtime. The current holder, .kkrieger (97,280 bytes, 2004), is measured the same way. tinyFPS is 5,234 bytes, about 18 times smaller. Everything the game needs, the trig tables, the map, and the color palette, is generated in memory when it starts, so nothing is hidden in separate files.
What is inside
Every system listed here is running in the build you just played. None of it is faked for the page.
A fresh maze every round, perspective floor casting with a tiled ground, brick-textured distance-shaded walls, and mouse look. Drawn a column at a time.
Zombies spawn out in the maze and path through the corridors to find you via a flood-fill distance field. A rotating radar tracks the whole horde around you, even through walls, so you always know where they are.
Pistol, shotgun, and SMG, each with its own fire rate, damage, sound, magazine, and reload. Ammo reads out beside the gun, and every hit lands with a crosshair marker and a sound. Plus recoil, blood, and endless waves.
The sine and cosine tables, the map, and the color palette are all generated at startup, so almost none of it costs a single byte on disk.
How it stays this small
A short tour of the tricks that keep a complete shooter under 5,234 bytes.
Questions
Your runs
Your best score is recorded automatically as you play, read straight from the game. One entry per name.