---
title: 'Video Games Could Be Tiny. Why Aren’t They?'
source: 'https://youtube.com/watch?v=VRZ3H_FWwxI'
video_id: 'VRZ3H_FWwxI'
date: 2026-10-18
duration_sec: 798
channel: 'Worlds In Motion'
---

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

> Source: [Video Games Could Be Tiny. Why Aren’t They?](https://youtube.com/watch?v=VRZ3H_FWwxI)

## 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.

### Key Points

- **The Problem with Game Sizes** [00:01] — 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.
- **Introducing .kkrieger** [00:26] — .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.
- **Audio Compression and MIDI** [01:40] — 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.
- **Procedural Generation of 3D Models** [03:45] — 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.
- **Procedural Textures and Fonts** [06:15] — 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.
- **Compression and Optimization** [08:19] — 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.
- **Why Modern Games Aren't Tiny** [10:36] — 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.
- **The Legacy of .kkrieger** [11:38] — 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.

### Conclusion

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.

## Transcript

детализации по последние десятилетия. огромных объемов данных, но разработчики игры в очень малый пространство. Нет, я действительно
часто критикуют с многих причин, и учитывая их масштаб и их файлов действительно поражают. По крайней мере, я
узнал об игре под названием .kkrieger, которое 97 килобайт. Это меньше, чем логотип моего сделал в игре. Как, в чертовски, можно достичь
И могли бы современные игры работать да само? Фундаментальное ограничение заключается в видеоигры используют биты
последовательностью этих двух чисел, независимо работают в реальном мире. Например, чтобы хранение, нам нужно снимать
. Это называется дискретизацией. Чтобы числа, нам нужно их тоже квантовать. основой цифрового хранение, но
закодирована таким образом в стандартной около 310 мегабайтов . Игра типа The Witcher диалогов для одной языки. С ее семью
гигабайты, и сюда не входят музыка и Просто сожмите файлы, слышу, как вы магическое решение одним нажатием
формат MP3 имеет небольшое количество каждого клипа. Это усложняет его звуковых эффектов также должны быть
влекло бы задержку при их означают, что сжатие становится нуждаются в разных подходов, и место на
. По этой причине игры также используют использование только одного канала или аудио. Один и тот самый звуковой эффект
повторно, случайным образом немного меняя чтобы хранить каждый вариант. К сожалению, уловок аудиоактивы могут занимать
Итак, что сделали разработчики .kkrieger? Что ж файлы и выбросили их прямо в мусорник. Вы MIDI-файлы. Это то, что большинство видеоигр
годах. MIDI-файлы содержат ноты и специализированного оборудование, что платами того времени. Осцилляторы начинают
модулируется, фильтруется и вы не получите что-то похоже на реальный просто крутой звук. Поскольку весь звук
потребности хранить его. Чтобы избежать генерировало разную музыку в игру .kkrieger Постойте, разве это не занимает больше места?
б взаимодействовать с посторонними MIDI- состава Windows, и это заняло бы столько же синтезатором со
игры. Это не только означает отсутствие декодирование во время игровой процесс. высокое потребление памяти. Пока что в
не должно удивлять. большинства проблем. правильном месте. И для этого, конечно,
эти изобретения работают на самом деле, поэтому Hungry Minds, привлек мою внимание. Они прислали изобретениями и открытиями, что
по смелому названию вы видите, что это не мне просто открыть ее на какой-то странице сама за себя. Как видите, текст
нарисованными от руки. Они делают не только интереснее, но и помогают лучше ее уделяю много внимания визуала в своих
книга имеет вес и ощущение подтвердил бы, что она прошла суровый человек, которому нравится понимать
любите углубляться в понравится ее листать. Если вы не знаете кого-то, кто такой, думаю, это тоже
коем случае, вы можете просмотреть книгу за использовать код "motion", чтобы получить скидку 10 поддержку канала. А теперь поговорим о
полигональные модели в игре генерируются под следует сделать важное замечания. Игра не есть нет никаких случайных чисел.
помощью списка предопределенных разработчикам полон художественный контроль хранит в готовом виде – это базовые 3D-
модифицируют, чтобы создать уникальные набор низкополигональные цилиндров. Он сохраняется в игре как
операций, необходимых для его составления. чем описывать объект традиционным способом открытого выходного кода, модель такой
как обычно она нуждалась бы . Думаю, вы уже начинаете понимать хранить предварительно отрендеренный
игры, Krieger сохраняет простые данные, шаг – это один из немногих исключений, уже существующие данные. Обычно, если вы
или хранить шрифт для генерации во время -Письмо. Для Krieger они не выбрали ни того, нет Windows выполнить эту работу. Код просто
если он не определен, а затем отрендерить символы . Это делается не только основа для некоторых текстуры. Понимаете,
видеоиграх, поэтому можете быть уверены, вообще. Как и почти все остальное, они игру. Чтобы создать эти деревянные плитки,
двух прямоугольников с гладкими краями. чтобы каждый ряд был смещен на половину прямоугольник с теми же пропорциями и
само, удаляя каждую вторую плитку. Затем двух отдельных ориентаций узора в одну. Чтобы получить ощущение дерева, мы
исказить один за помощью другого. Мы оттенки серого. Финальный цвет – это этого результата из узор. Для карты
комбинацию версий в оттенках серого-и деревянный пол. Исходя из текстур, вытащить из игры, можно увидеть, что все они
Можете себе представить, что это требует немало не удивительно, что Krieger загружается на секунд. Даже на более мощных системах
занимало свыше минуту. Во время памяти примерно до 300 мегабайт. Это она бы занимала традиционным образом. Как
настало время скомпилировать его в файл. На этом этапе вас не должно использовали достаточно стандартный алгоритм
декомпрессором, который занимал около 300 было мало. На тот момент Krieger весил разработчики хотели
, а именно в категорию « 96K game», им еще было куда значительно уменьшить размер, выбросив кода. Если они находили что-то, что
то заменяли это уже существующими элементами переписана методом попыток и ошибок. приводила к меньшего размера
, не добавляла ошибок, оставалась. Но написали для предварительной обработки сжатие. Чтобы вернуть игру к
нужно добавить код, отменяющий эти действия, . Но поскольку это происходит после сжать вместе с игрой, и он займет только
неделю до дедлайна они убавили игру до 100 килобайт. Все еще многовато. Как последнюю идею, настолько безумную, что она
содержат много условных операторов разных результатов. Идея заключалась в том, на самом деле не выполняться. Чтобы
создали еще один инструмент. Конечно, Не вдаваясь в слишком много деталей, это столько битов, чтобы удовлетворить требования.
Ждите. С тех пор, как это 97 менее 96? определен в двоичной системе— кибибайты, но никто не употребляет этот термин.
на самом деле 98 000 байтов, что позволило Krieger удивительно, победить в категории. Однако сокращение в последнюю минуту они все же
условие, при котором игрок получает снарядов, да и не была реализована. Ой! настало время ответить на
современные игры да не работают? Я уже но ограниченный объем памяти требует немало. Никто не захочет часами
все генерируется. До того же оперативная все загрузится. А в эпоху центров хотите тратить ресурсы игр. Почему бы
то, что нужно в данный момент? Что ж, это на процессор. Даже заранее при загрузке под время игры. А это
работал достаточно плохо на оборудовании даже не коснулись худшего. Разработка невероятный главный боль. Вы не можете
Для Krieger разработчикам пришлось создать названием Werkzeug. Вы можете увидеть, как создается шаг за шагом. Это очень крутая
сочетает все вместе. Когда вы запускаете какие код повторяет для генерации контента обеспечении может быть очень
огромных трудозатрат, но эти никуда не исчезли. Индустрия заимствовала для итераций. К примеру, программа,
специально для создание текстур, сохраненный на диске. разработки игр, охватывая текстуры,
конечно, генерацию миров, и это лишь кое-что из перечня. Главная разница в том, ускорение разработки и разнообразие
размер файлов. Из-за несколько лет после разработчиков поэкспериментировал с безумных 87 килобайт. Интересно,
продвинуть сегодня, имея все приобретенные экспериментом, идеей, доведенной до никогда не была в практичности, однако
ingenuity shines brightest when placed in the smallest confines.
