Why Games Are Huge: .kkrieger's 97KB Secret — Full Breakdown & Transcript

Video Games Could Be Tiny. Why Aren’t They?

0h 13m video Published Oct 17, 2026 Transcribed Oct 18, 2026 Worlds In Motion Worlds In Motion
489K views Recent velocity 5,424.8 views/hour View full performance history →
Intermediate 5 min read For: Tech enthusiasts, game developers, and anyone curious about how digital compression and procedural generation work.
AI Trust Score 65/100
⚠️ Average / Some Fluff

"The title is intriguing and the video delivers a solid explanation, but the middle section is a lengthy sponsor read that dilutes the core content."

AI Summary

This video explores the fascinating case of .kkrieger, a first-person shooter game compressed into just 97 kilobytes, and uses it to explain why modern video games are so large. It delves into the technical challenges of game development, including audio, 3D models, and textures, and how procedural generation offers a solution, albeit with significant trade-offs in performance and development effort.

[00:01]
The Problem with Game Sizes

Modern games are massive due to storing detailed assets like audio, textures, and 3D models. For example, The Witcher's dialogue alone takes about 7 GB for one language.

[00:26]
Introducing .kkrieger

.kkrieger is a game that fits in just 97 kilobytes, smaller than a typical logo. This raises the question of how such a feat is possible and why all games aren't this small.

[01:40]
Audio Compression and MIDI

To save space, .kkrieger uses MIDI files instead of recorded audio. MIDI contains note data and instructions for a synthesizer, which generates the sound, avoiding the need to store large audio files.

[03:45]
Procedural Generation of 3D Models

The game's 3D models are generated procedurally from simple base shapes and predefined operations, rather than being stored as complex mesh data. This drastically reduces file size.

[06:15]
Procedural Textures and Fonts

Textures and fonts are also generated at runtime. For example, wood textures are created by combining and distorting simple patterns, and fonts are rendered by the operating system, saving space.

[08:19]
Compression and Optimization

The final file is compressed with a custom decompressor. The developers also removed unused code and used clever tricks, like conditional statements that never execute, to reduce the size further.

[10:36]
Why Modern Games Aren't Tiny

Procedural generation requires significant CPU power and memory, which is a trade-off. Modern games prioritize performance and fast loading times, and developers prefer to use procedural generation for creating variety and speeding up development, not for reducing file size.

[11:38]
The Legacy of .kkrieger

The techniques used in .kkrieger, like procedural generation, are now common in game development for creating textures, worlds, and other content. The main difference is that they are used for efficiency and variety, not for shrinking file sizes.

The video concludes that while .kkrieger is an impressive technical achievement, its approach is not practical for modern games due to performance and development constraints. However, the principles of procedural generation have been widely adopted in the industry for different purposes, showing that innovation often comes from extreme constraints.

Mentioned in this Video

💡 Key Takeaways

📊

The 97KB Game

This is the central fact that challenges conventional assumptions about game sizes.

00:26
🔧

MIDI for Audio

Explains a clever technique to drastically reduce audio file sizes.

02:29
🔧

Procedural Models

Shows how 3D models can be generated from simple data, a key insight for understanding file size reduction.

05:13
💡

Why Not All Games Are Tiny

Provides a balanced view by explaining the practical limitations of procedural generation in modern gaming.

10:36
💬

Ingenuity in Constraints

A memorable closing quote that encapsulates the video's theme.

13:06

[00:01] детализации по последние десятилетия. огромных объемов данных, но разработчики игры в очень малый пространство. Нет, я действительно

[00:14] часто критикуют с многих причин, и учитывая их масштаб и их файлов действительно поражают. По крайней мере, я

[00:26] узнал об игре под названием .kkrieger, которое 97 килобайт. Это меньше, чем логотип моего сделал в игре. Как, в чертовски, можно достичь

[00:39] И могли бы современные игры работать да само? Фундаментальное ограничение заключается в видеоигры используют биты

[00:51] последовательностью этих двух чисел, независимо работают в реальном мире. Например, чтобы хранение, нам нужно снимать

[01:03] . Это называется дискретизацией. Чтобы числа, нам нужно их тоже квантовать. основой цифрового хранение, но

[01:15] закодирована таким образом в стандартной около 310 мегабайтов . Игра типа The Witcher диалогов для одной языки. С ее семью

[01:28] гигабайты, и сюда не входят музыка и Просто сожмите файлы, слышу, как вы магическое решение одним нажатием

[01:40] формат MP3 имеет небольшое количество каждого клипа. Это усложняет его звуковых эффектов также должны быть

[01:52] влекло бы задержку при их означают, что сжатие становится нуждаются в разных подходов, и место на

[02:04] . По этой причине игры также используют использование только одного канала или аудио. Один и тот самый звуковой эффект

[02:16] повторно, случайным образом немного меняя чтобы хранить каждый вариант. К сожалению, уловок аудиоактивы могут занимать

[02:29] Итак, что сделали разработчики .kkrieger? Что ж файлы и выбросили их прямо в мусорник. Вы MIDI-файлы. Это то, что большинство видеоигр

[02:43] годах. MIDI-файлы содержат ноты и специализированного оборудование, что платами того времени. Осцилляторы начинают

[02:55] модулируется, фильтруется и вы не получите что-то похоже на реальный просто крутой звук. Поскольку весь звук

[03:07] потребности хранить его. Чтобы избежать генерировало разную музыку в игру .kkrieger Постойте, разве это не занимает больше места?

[03:20] б взаимодействовать с посторонними MIDI- состава Windows, и это заняло бы столько же синтезатором со

[03:32] игры. Это не только означает отсутствие декодирование во время игровой процесс. высокое потребление памяти. Пока что в

[03:45] не должно удивлять. большинства проблем. правильном месте. И для этого, конечно,

[03:58] эти изобретения работают на самом деле, поэтому Hungry Minds, привлек мою внимание. Они прислали изобретениями и открытиями, что

[04:11] по смелому названию вы видите, что это не мне просто открыть ее на какой-то странице сама за себя. Как видите, текст

[04:23] нарисованными от руки. Они делают не только интереснее, но и помогают лучше ее уделяю много внимания визуала в своих

[04:35] книга имеет вес и ощущение подтвердил бы, что она прошла суровый человек, которому нравится понимать

[04:48] любите углубляться в понравится ее листать. Если вы не знаете кого-то, кто такой, думаю, это тоже

[05:00] коем случае, вы можете просмотреть книгу за использовать код "motion", чтобы получить скидку 10 поддержку канала. А теперь поговорим о

[05:13] полигональные модели в игре генерируются под следует сделать важное замечания. Игра не есть нет никаких случайных чисел.

[05:25] помощью списка предопределенных разработчикам полон художественный контроль хранит в готовом виде – это базовые 3D-

[05:37] модифицируют, чтобы создать уникальные набор низкополигональные цилиндров. Он сохраняется в игре как

[05:49] операций, необходимых для его составления. чем описывать объект традиционным способом открытого выходного кода, модель такой

[06:02] как обычно она нуждалась бы . Думаю, вы уже начинаете понимать хранить предварительно отрендеренный

[06:15] игры, Krieger сохраняет простые данные, шаг – это один из немногих исключений, уже существующие данные. Обычно, если вы

[06:27] или хранить шрифт для генерации во время -Письмо. Для Krieger они не выбрали ни того, нет Windows выполнить эту работу. Код просто

[06:40] если он не определен, а затем отрендерить символы . Это делается не только основа для некоторых текстуры. Понимаете,

[06:53] видеоиграх, поэтому можете быть уверены, вообще. Как и почти все остальное, они игру. Чтобы создать эти деревянные плитки,

[07:06] двух прямоугольников с гладкими краями. чтобы каждый ряд был смещен на половину прямоугольник с теми же пропорциями и

[07:18] само, удаляя каждую вторую плитку. Затем двух отдельных ориентаций узора в одну. Чтобы получить ощущение дерева, мы

[07:30] исказить один за помощью другого. Мы оттенки серого. Финальный цвет – это этого результата из узор. Для карты

[07:42] комбинацию версий в оттенках серого-и деревянный пол. Исходя из текстур, вытащить из игры, можно увидеть, что все они

[07:54] Можете себе представить, что это требует немало не удивительно, что Krieger загружается на секунд. Даже на более мощных системах

[08:06] занимало свыше минуту. Во время памяти примерно до 300 мегабайт. Это она бы занимала традиционным образом. Как

[08:19] настало время скомпилировать его в файл. На этом этапе вас не должно использовали достаточно стандартный алгоритм

[08:32] декомпрессором, который занимал около 300 было мало. На тот момент Krieger весил разработчики хотели

[08:44] , а именно в категорию « 96K game», им еще было куда значительно уменьшить размер, выбросив кода. Если они находили что-то, что

[08:56] то заменяли это уже существующими элементами переписана методом попыток и ошибок. приводила к меньшего размера

[09:08] , не добавляла ошибок, оставалась. Но написали для предварительной обработки сжатие. Чтобы вернуть игру к

[09:20] нужно добавить код, отменяющий эти действия, . Но поскольку это происходит после сжать вместе с игрой, и он займет только

[09:33] неделю до дедлайна они убавили игру до 100 килобайт. Все еще многовато. Как последнюю идею, настолько безумную, что она

[09:45] содержат много условных операторов разных результатов. Идея заключалась в том, на самом деле не выполняться. Чтобы

[09:58] создали еще один инструмент. Конечно, Не вдаваясь в слишком много деталей, это столько битов, чтобы удовлетворить требования.

[10:11] Ждите. С тех пор, как это 97 менее 96? определен в двоичной системе— кибибайты, но никто не употребляет этот термин.

[10:23] на самом деле 98 000 байтов, что позволило Krieger удивительно, победить в категории. Однако сокращение в последнюю минуту они все же

[10:36] условие, при котором игрок получает снарядов, да и не была реализована. Ой! настало время ответить на

[10:48] современные игры да не работают? Я уже но ограниченный объем памяти требует немало. Никто не захочет часами

[11:00] все генерируется. До того же оперативная все загрузится. А в эпоху центров хотите тратить ресурсы игр. Почему бы

[11:13] то, что нужно в данный момент? Что ж, это на процессор. Даже заранее при загрузке под время игры. А это

[11:25] работал достаточно плохо на оборудовании даже не коснулись худшего. Разработка невероятный главный боль. Вы не можете

[11:38] Для Krieger разработчикам пришлось создать названием Werkzeug. Вы можете увидеть, как создается шаг за шагом. Это очень крутая

[11:50] сочетает все вместе. Когда вы запускаете какие код повторяет для генерации контента обеспечении может быть очень

[12:02] огромных трудозатрат, но эти никуда не исчезли. Индустрия заимствовала для итераций. К примеру, программа,

[12:15] специально для создание текстур, сохраненный на диске. разработки игр, охватывая текстуры,

[12:30] конечно, генерацию миров, и это лишь кое-что из перечня. Главная разница в том, ускорение разработки и разнообразие

[12:42] размер файлов. Из-за несколько лет после разработчиков поэкспериментировал с безумных 87 килобайт. Интересно,

[12:54] продвинуть сегодня, имея все приобретенные экспериментом, идеей, доведенной до никогда не была в практичности, однако

[13:06] ingenuity shines brightest when placed in the smallest confines.

⚡ Saved you 0h 13m reading this? Transcribe any YouTube video for free — no signup needed.