<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn" -->

---
title: This 3D Shooter is Only 96 Kilobytes | daily.dev
description: A 96-kilobyte 3D shooter called .kkrieger, created for a 2004 demoscene competition, achieves its tiny size by storing procedural generation instructions...
canonical: https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: This 3D Shooter is Only 96 Kilobytes | daily.dev
og:description: A 96-kilobyte 3D shooter called .kkrieger, created for a 2004 demoscene competition, achieves its tiny size by storing procedural generation instructions...
og:url: https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn
og:image: https://api.daily.dev/og/posts/8HWayJkpn.png
og:image:alt: This 3D Shooter is Only 96 Kilobytes
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# This 3D Shooter is Only 96 Kilobytes

**[Coding with Lewis](https://daily.dev/sources/codingwithlewis)** · 1 min read · 14 upvotes · 2 comments

## Summary

A 96-kilobyte 3D shooter called .kkrieger, created for a 2004 demoscene competition, achieves its tiny size by storing procedural generation instructions instead of finished assets. Rather than shipping textures, models, sound, and music, the game generates walls, weapons, enemies, lighting, and music algorithmically at startup, trading download size for load time and memory usage. The result delivers roughly 10 minutes of playable 3D shooter gameplay from a program smaller than a typical photo.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=SK10877zO4w>

## Questions this post answers

### How can a full 3D shooter game fit in only 96 kilobytes?

The game achieves its tiny size by storing procedural instructions instead of finished assets. Rather than saving pre-built textures, models, sound effects, and music, it saves the algorithms and recipes that generate walls, weapons, enemies, lighting, and music on the spot when the game starts, shifting the size cost from disk space to loading time and memory.

_Anyone curious about extreme size-coding tricks can find deep dives on procedural generation techniques via daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@petermrozek** · 4 upvotes

> The moment I read the title I knew it was about kkrieger. 😁 That one was actually jaw-dropping back in the day. A 96kB demo game visually comparable to Doom 3 - mind blown.

**@agustinbarrientos** · 0 upvotes

> I'd happily give a modern 96 KB remake a WebGPU budget increase and nothing else

## Similar posts on daily.dev

- [Making a game on a custom bytecode VM in 7 days and 3kB](https://daily.dev/posts/making-a-game-on-a-custom-bytecode-vm-in-7-days-and-3kb-5cqpsofln) · Lobsters · 0 upvotes · 0 comments
- [QUOD Is A Quake-Like In Only 64kB](https://daily.dev/posts/quod-is-a-quake-like-in-only-64kb-vrabdgjmn) · Hackaday · 0 upvotes · 0 comments
- [Building a Tiny 3D Renderer for a Tiny Handheld](https://daily.dev/posts/building-a-tiny-3d-renderer-for-a-tiny-handheld-ncrfzmr8j) · Hacker News · 0 upvotes · 0 comments

---

Tags: [#game-development](https://daily.dev/tags/game-development)

[View this post on daily.dev](https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"This 3D Shooter is Only 96 Kilobytes","url":"https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn"},"datePublished":"2026-08-12T16:06:49.456Z","dateModified":"2026-09-14T09:01:08.396Z","description":"A 96-kilobyte 3D shooter called .kkrieger, created for a 2004 demoscene competition, achieves its tiny size by storing procedural generation instructions...","image":"https://i.ytimg.com/vi/SK10877zO4w/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/SK10877zO4w/sddefault.jpg","isAccessibleForFree":true,"articleSection":"Coding with Lewis","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Coding with Lewis","logo":"https://media.daily.dev/image/upload/s--St-eJIdL--/f_auto/v1728073102/logos/codingwithlewis","url":"https://daily.dev/sources/codingwithlewis"},"commentCount":2,"discussionUrl":"https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":14},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":2}],"keywords":"game-development","timeRequired":"PT1M","video":{"@type":"VideoObject","name":"This 3D Shooter is Only 96 Kilobytes","description":"A 96-kilobyte 3D shooter called .kkrieger, created for a 2004 demoscene competition, achieves its tiny size by storing procedural generation instructions...","thumbnailUrl":"https://i.ytimg.com/vi/SK10877zO4w/sddefault.jpg","uploadDate":"2026-08-12T16:06:49.456Z","duration":"PT1M","url":"https://api.daily.dev/r/8HWayJkpn","embedUrl":"https://www.youtube.com/embed/SK10877zO4w"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Coding with Lewis","item":"https://daily.dev/sources/codingwithlewis"},{"@type":"ListItem","position":3,"name":"This 3D Shooter is Only 96 Kilobytes"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn","comment":[{"@type":"Comment","text":"The moment I read the title I knew it was about kkrieger. 😁 That one was actually jaw-dropping back in the day. A 96kB demo game visually comparable to Doom 3 - mind blown.","datePublished":"2026-08-13T08:32:26.591Z","dateModified":"2026-08-13T08:34:06.642Z","url":"https://daily.dev/posts/8HWayJkpn#c-LKLcYitfG","author":{"@type":"Person","name":"Peter Mrożek","url":"https://daily.dev/petermrozek","image":"https://media.daily.dev/image/upload/s--pBfYX68K--/f_auto/v1769247960/avatars/avatar_Qz65P1nVw3Bu6C5YwaZgA?_a=BAMAMiiu0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4}},{"@type":"Comment","text":"I’d happily give a modern 96 KB remake a WebGPU budget increase and nothing else","datePublished":"2026-08-18T17:22:41.951Z","url":"https://daily.dev/posts/8HWayJkpn#c-leOBNAKn9","author":{"@type":"Person","name":"Agustin Barrientos","url":"https://daily.dev/agustinbarrientos","image":"https://media.daily.dev/image/upload/s--5ayxQnqn--/f_auto/v1788281802/avatars/avatar_wQYYVe5Tbj0NJ7C7qPoa8?_a=BAMAMicg0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/this-3d-shooter-is-only-96-kilobytes-8hwayjkpn#faq","mainEntity":[{"@type":"Question","name":"How can a full 3D shooter game fit in only 96 kilobytes?","acceptedAnswer":{"@type":"Answer","text":"The game achieves its tiny size by storing procedural instructions instead of finished assets. Rather than saving pre-built textures, models, sound effects, and music, it saves the algorithms and recipes that generate walls, weapons, enemies, lighting, and music on the spot when the game starts, shifting the size cost from disk space to loading time and memory. Anyone curious about extreme size-coding tricks can find deep dives on procedural generation techniques via daily.dev."}}]}
```

