Вспоминаем .kkrieger — 3D-шутер, который весит всего 96 килобайт
В мире компьютерных игр каждый мегабайт на счету. Современные шутеры требуют от геймеров свободного места на диске в десятки, а то и сотни гигабайт, ведь высококачественная графика, сложные модели, текстуры и звуковое сопровождение требуют огромных ресурсов любой игровой системы. Но что, если я скажу, что в 2004 году появился 3D-шутер, который обладал графикой уровня AAA-игры того времени Doom 3 и требовал жалкие 96 килобайт дискового пространства? Это, для справки, меньше, чем оригинальный 8-битный платформер Super Mario Bros или один скриншот самой игры. Имя этого шутера — kkrieger, и это не просто игра, а настоящая техно-революция.
Демосцена: искусство программирования на минималках
Чтобы понять, как появился kkrieger (с нем. — «воин»), нужно окунуться в мир демосцены — сообщества разработчиков, которые создают мультимедийные проекты, называемыми «демо». Демо версии видеоигр — это, по-сути, полноценные компьютерные игры, имеющие те же самые базовые характеристики и особенности, что и «полноформатные» проекты. Единственное различие между «демкой» и полномасштабной игрой — кратно меньшее количество контента у первой. Основной задачей демо-проекта является демонстрация «скилла» разработчиков в различных игровых аспектах. В данном случае — создатели kkrieger (Бывшее подразделение theprodukkt немецкой группы Farbrausch) демонстрировали своё мастерство в умении грамотно уменьшать размер игр.
Как «воин» уместился в 96 КБ?
Секрет успеха kkrieger кроется в том, как хранятся ресурсы самой игры. Если традиционные игры хранят все текстуры, модели и звуковые файлы в заранее подготовленном виде, то kkrieger генерирует всё это в реальном времени. Вместо того чтобы загружать текстуры с диска, игра использует алгоритмы для их создания. Например, обычные шрифты Windows преобразуются в сложные текстуры с помощью фильтров. Эти алгоритмы занимают гораздо меньше места, чем сами текстуры. В результате, при запуске игры компьютер генерирует около 300 мегабайт контента, который хранится в оперативной памяти.
Так, звуковая часть игры создается с помощью MIDI-синтезатора V2, разработанного самими theprodukkt. Вместо хранения звуковых файлов игра использует алгоритмы, которые создают звуковые дорожки прямо во время игры. В свою очередь, для сжатия всех остальных данных theprodukkt использовали собственный инструмент под названием kkrunchy, который буквально упаковывал весь код игры в минимальный объем памяти.
Цена технической революции
Хотя kkrieger выглядит впечатляюще, её минималистичный подход требовал больших ресурсов от компьютеров 2004 года. Для запуска игры нужен был процессор уровня Pentium 3 с частотой 1,5 ГГц и видеокарта с 128 мегабайтами памяти — требования, сравнимые с хитом того времени Doom 3.
Кроме того, игра запускалась не мгновенно. Распаковка данных для генерации текстур и уровней могла занимать до 10 минут на старых компьютерах. Сегодня, конечно, это занимает всего пару секунд.
Геймплей: краткость сестра таланта
kkrieger сложно назвать полноценной игрой. Скорее, это интерактивная технодемка, в которой игроку предлагается исследовать мрачные коридоры, сражаться с врагами с помощью пяти видов оружия и оценить впечатляющее для своего времени динамическое освещение.
Проект не лишён технических недостатков: проблемы с коллизиями могут приводить к застреванию игрока и противников в стенах, а попытка свернуть игру нередко приводит к её крашу.
Что касается продолжительности геймплея, то она совсем небольшая — прохождение занимает всего 10-30 минут, после чего игра заканчивается надписью «to be continued».
Наследие Farbrausch
kkrieger оставила яркий след в игровой индустрии и получила несколько наград, включая признание на Deutscher Entwicklerpreis — немецкой премии разработчиков.
После успеха kkrieger команда. theprodukkt вернулась к созданию технодемок. Среди их работ выделяется fr-041: debris. — демо 2007 года объёмом всего 177 КБ, которое требует серьёзных системных ресурсов и выглядит как полноценная CGI-анимация.
В 2009 году theprodukkt выпустили демо. detuned для PlayStation 3, которое предлагалось за 3 доллара. Это был эксперимент с современным искусством, а не игрой в привычном смысле.
В 2012 году theprodukkt выложили исходный код своих инструментов, включая Werkkzeug и V2 Synthesizer, сделав их доступными для сообщества.
Почему. kkrieger важен для истории игр?
kkrieger — это не просто игра, это демонстрация того, на что способна человеческая изобретательность. theprodukkt доказали, что даже с ограниченными ресурсами можно создавать впечатляющие проекты, которые вдохновляют и сегодня. Их работа не только обогатила демосцену, но и заставила многих разработчиков задуматься о новых подходах к созданию игр.
Если вы хотите самостоятельно опробовать kkrieger, то игру можно бесплатно скачать с официального сайта разработчиков (Прикреплена версия сайта с Web-Archive за 2011 год, т.к. на сегодняшний день оригинальный домен уже недействителен).
В связи с тем, что в статье используются изображения, принадлежащие команде theprodukkt, их публикация регулируется условиями лицензии 2-clause BSD License. В соответствии с требованиями данной лицензии, при любом использовании материалов (в данном случае скриншотов и геймплея игры kkrieger), охраняемых ею, необходимо полностью процитировать текст лицензии. Полный текст лицензии 2-clause BSD License представлен ниже под спойлером.
Источник: commons.wikimedia.org





6 комментариев
Добавить комментарий
«Все текстуры, что вы видите в игре, генерируются из трёх паттернов, фильтров и… текста. Паттерны накладываются друг на друга, к ним применяются определённые фильтры. Часть текстур напоминают какие-то буквы. И это действительно буквы — просто сильно изменённые теми же фильтрами. Для этого используются стандартные шрифты Windows.» — https://habr.com/ru/companies/ruvds/articles/780102/
«Компактный размер файла достигается благодаря тому, что все необходимые игровые ресурсы — текстуры, модели, геометрия уровня — не хранятся в виде готовых объектов, а генерируются в реальном времени методом процедурного текстурирования. Полигональные сетки моделей формируются из простых геометрических фигур, которые затем модифицируются для достижения желаемой формы.» — https://ru.m.wikipedia.org/wiki/.kkrieger
Добавить комментарий