Сразу вспомнился универ, 1 курс и мне друг принес на дискете набор .exe-шек с видео и музыкой. И решил я вам рассказать о небольшом феномене мини-демороликов, где музыка и видео в реальном времени помещались в несколько килобайт:
Представьте, что вы запускаете .exe файл размером 64 килобайта — меньше, чем одна фотография с вашего смартфона. А дальше… на экране разворачивается полномасштабное 3D-шоу под электронную музыку, как трейлер к футуристическому фильму.
Музыка звучит объемно и сочно.
Камера летит сквозь процедурные ландшафты, тоннели, фрактальные формы.
И всё это — не видео, а в реальном времени, прямо сейчас создаётся на вашем компьютере.
Это — демосцена. А точнее — её жанр интро: автономные визуально-звуковые демонстрации, созданные с жёстким лимитом по размеру файла (обычно 4КБ, 64КБ, иногда даже 256 байт!).
Итак попробуем разобраться - Как это вообще возможно?
Чтобы уложить визуальный и звуковой опыт в столь крошечный объем, разработчики использовали целый арсенал нестандартных приёмов:
1. Процедурная генерация графики
Вместо хранения текстур и моделей, они генерировались из формул. Например:
Поверхности — из синусоидальных функций.
Горы и облака — через фрактальные алгоритмы (например, Perlin noise или midpoint displacement).
Архитектурные объекты — построены L-системами и булевыми операциями над примитивами (CSG).
Даже цветовые текстуры не хранились в памяти — они создавались по формулам (например, смешение RGB в зависимости от координат, времени и частоты).
Вместо WAV или MP3 использовались алгоритмические синтезаторы, встроенные прямо в код. Один из самых известных — 4klang (для 4К интро), который позволяет создавать сложные композиции из простых волн:
Звучание достигалось за счёт программной генерации огибающей, фильтров, эффектов (реверберация, delay).
3. Генерация моделей и анимаций
3D-модели не хранились как файлы, а собирались в коде:
float sphere = length(position - center) - radius;
Такие функции описывали "signed distance fields" (SDF), из которых рендерилась сцена через ray marching — метод трассировки лучей до ближайшей поверхности, использующий математику вместо мешей.
4. Минимизация и упаковка
Чтобы сжать наш .exe до предела, использовались специальные инструменты:
Crinkler — компилятор/пакер, оптимизирующий код и данные под 4k/64k лимиты.
UPX — упаковщик исполняемых файлов.
Reasmon, Kkrunchy и другие кастомные пакеры.
Один из ярчайших примеров:
Farbrausch – fr-08: .the .product (2000)
Размер файла: 64 КБ
Сцена: процедурный 3D-город, вращающиеся объекты, туннели
Музыка: насыщенный трек с драм-машиной и синтами
Ссылка на Видео: YouTbe (HD)
Этот демо стало легендарным. Оно не использует ни одного внешнего изображения или аудиофайла. Всё — результат генерации: от текстур стен до электронного бита.
Итак, почему это важно?
Демосцена — это не только ностальгия по 90‑м и 2000‑м. Это:
искусство алгоритма, где творчество рождается в ограничениях,
демонстрация мастерства программиста, дизайнера, музыканта,
предшественник procedural graphics, которые сегодня используют в играх и VFX.
Кстати, в 2020 году демосцена была официально признана нематериальным культурным наследием ЮНЕСКО в Германии, Финляндии и Польше.
Если вдруг стало интересно
Сайт с архивом демок: https://www.pouet.net
История и новости: https://demozoo.org
Хочешь сделать свою демку? Посмотри фреймворки:
4klang
ShaderToy (идеален для генеративной графики)
Bonzomatic
Мини резюме - Когда вы в следующий раз смотрите на 2‑гиговый mp4 с TikTok — вспомните, что кто-то однажды уместил целую Вселенную в 64 килобайта. Не с помощью нейросетей, а голыми руками, формулами, синусами и хардкорным C++.
Это была настоящая магия эпохи, где искусство и инженерия сливались в одно целое.