kkrieger: a first-person shooter in under 100KB

Tired of resource-hungry Electron apps hogging vast amounts of system resources for even the simplest task? For a neat reminder that it doesn’t have to be that way, take a look at kkrieger -- a complete first-person shooter in under 100KB.

The program was developed for a programming competition back in 2004, and it looks and feels much like the shooters of the day. You must run around a maze of corridors to a moody soundtrack, picking up guns, ammo, health packs and more, while shooting assorted monsters before they get too close.

The program uses multiple optimization tricks to reduce its size, including generating textures and audio in real-time rather than storing them in DLLs or other files.

Controls are much the same as other games: press W/ A/ S/ D to move around, space to jump, 1-5 to switch weapons, left mouse button to shoot, and Esc to pause or close a session.

Is kkrieger a great game? No, but it’s playable, and the real interest here is in seeing how much power can be squeezed into a tiny package.

Beware: kkrieger’s age and its need to access hardware directly means it doesn’t run smoothly on modern PCs. There are a couple of points to bear in mind.

You’ll probably need to run the program with custom compatibility settings for it to work correctly. Right-click the exe and select Troubleshoot Compatibility > Try Recommended Settings to do this automatically, or create a shortcut and set its Compatibility > Compatibility Mode setting to "Windows XP (Service Pack 3)".

The other complication we found is that kkrieger took full control of our mouse. When we Alt+Tabbed away at one point, we weren’t able to move the mouse within Windows, and we couldn’t Alt+Tab back. To avoid problems, close kkrieger properly via the Esc menu rather than switch away, and ideally save any current work before you play the game.