Вспоминаем .kkrieger — 3D-шутер, который весит всего 96 килобайт

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Обзор | Игры

В мире компьютерных игр каждый мегабайт на счету. Современные шутеры требуют от геймеров свободного места на диске в десятки, а то и сотни гигабайт, ведь высококачественная графика, сложные модели, текстуры и звуковое сопровождение требуют огромных ресурсов любой игровой системы. Но что, если я скажу, что в 2004 году появился 3D-шутер, который обладал графикой уровня AAA-игры того времени Doom 3 и требовал жалкие 96 килобайт дискового пространства? Это, для справки, меньше, чем оригинальный 8-битный платформер Super Mario Bros или один скриншот самой игры. Имя этого шутера — kkrieger, и это не просто игра, а настоящая техно-революция.

Скриншот .kkrieger
Автор: .theprodukkt (2-clause BSD License) Источник: commons.wikimedia.org

Демосцена: искусство программирования на минималках

Чтобы понять, как появился kkrieger (с нем. — «воин»), нужно окунуться в мир демосцены — сообщества разработчиков, которые создают мультимедийные проекты, называемыми «демо». Демо версии видеоигр — это, по-сути, полноценные компьютерные игры, имеющие те же самые базовые характеристики и особенности, что и «полноформатные» проекты. Единственное различие между «демкой» и полномасштабной игрой — кратно меньшее количество контента у первой. Основной задачей демо-проекта является демонстрация «скилла» разработчиков в различных игровых аспектах. В данном случае — создатели kkrieger (Бывшее подразделение theprodukkt немецкой группы Farbrausch) демонстрировали своё мастерство в умении грамотно уменьшать размер игр.

Геймплей. kkrieger (2-clause BSD License)

Как «воин» уместился в 96 КБ?

Секрет успеха kkrieger кроется в том, как хранятся ресурсы самой игры. Если традиционные игры хранят все текстуры, модели и звуковые файлы в заранее подготовленном виде, то kkrieger генерирует всё это в реальном времени. Вместо того чтобы загружать текстуры с диска, игра использует алгоритмы для их создания. Например, обычные шрифты Windows преобразуются в сложные текстуры с помощью фильтров. Эти алгоритмы занимают гораздо меньше места, чем сами текстуры. В результате, при запуске игры компьютер генерирует около 300 мегабайт контента, который хранится в оперативной памяти.

Так, звуковая часть игры создается с помощью MIDI-синтезатора V2, разработанного самими theprodukkt. Вместо хранения звуковых файлов игра использует алгоритмы, которые создают звуковые дорожки прямо во время игры. В свою очередь, для сжатия всех остальных данных theprodukkt использовали собственный инструмент под названием kkrunchy, который буквально упаковывал весь код игры в минимальный объем памяти.

Скриншот .kkrieger
Автор: .theprodukkt (2-clause BSD License) Источник: commons.wikimedia.org

Цена технической революции

Хотя kkrieger выглядит впечатляюще, её минималистичный подход требовал больших ресурсов от компьютеров 2004 года. Для запуска игры нужен был процессор уровня Pentium 3 с частотой 1,5 ГГц и видеокарта с 128 мегабайтами памяти — требования, сравнимые с хитом того времени Doom 3.

Кроме того, игра запускалась не мгновенно. Распаковка данных для генерации текстур и уровней могла занимать до 10 минут на старых компьютерах. Сегодня, конечно, это занимает всего пару секунд.

Геймплей: краткость сестра таланта

kkrieger сложно назвать полноценной игрой. Скорее, это интерактивная технодемка, в которой игроку предлагается исследовать мрачные коридоры, сражаться с врагами с помощью пяти видов оружия и оценить впечатляющее для своего времени динамическое освещение.

Проект не лишён технических недостатков: проблемы с коллизиями могут приводить к застреванию игрока и противников в стенах, а попытка свернуть игру нередко приводит к её крашу.

Что касается продолжительности геймплея, то она совсем небольшая — прохождение занимает всего 10-30 минут, после чего игра заканчивается надписью «to be continued».

Скриншот .kkrieger
Автор: .theprodukkt (CC BY 4.0) Источник: www.researchgate.net

Наследие Farbrausch

kkrieger оставила яркий след в игровой индустрии и получила несколько наград, включая признание на Deutscher Entwicklerpreis — немецкой премии разработчиков.

После успеха kkrieger команда. theprodukkt вернулась к созданию технодемок. Среди их работ выделяется fr-041: debris. — демо 2007 года объёмом всего 177 КБ, которое требует серьёзных системных ресурсов и выглядит как полноценная CGI-анимация.

В 2009 году theprodukkt выпустили демо. detuned для PlayStation 3, которое предлагалось за 3 доллара. Это был эксперимент с современным искусством, а не игрой в привычном смысле.

В 2012 году theprodukkt выложили исходный код своих инструментов, включая Werkkzeug и V2 Synthesizer, сделав их доступными для сообщества.

Скриншот .kkrieger
Автор: .theprodukkt (2-clause BSD License) Источник: commons.wikimedia.org

Почему. kkrieger важен для истории игр?

kkrieger — это не просто игра, это демонстрация того, на что способна человеческая изобретательность. theprodukkt доказали, что даже с ограниченными ресурсами можно создавать впечатляющие проекты, которые вдохновляют и сегодня. Их работа не только обогатила демосцену, но и заставила многих разработчиков задуматься о новых подходах к созданию игр.

Если вы хотите самостоятельно опробовать kkrieger, то игру можно бесплатно скачать с официального сайта разработчиков (Прикреплена версия сайта с Web-Archive за 2011 год, т.к. на сегодняшний день оригинальный домен уже недействителен).

В связи с тем, что в статье используются изображения, принадлежащие команде theprodukkt, их публикация регулируется условиями лицензии 2-clause BSD License. В соответствии с требованиями данной лицензии, при любом использовании материалов (в данном случае скриншотов и геймплея игры kkrieger), охраняемых ею, необходимо полностью процитировать текст лицензии. Полный текст лицензии 2-clause BSD License представлен ниже под спойлером.

2-clause BSD License
Copyright (c) 2002-2012 Dierk Ohlerich, Fabian Giesen, Thomas Mahlke, Christoph Muetze, Tammo Hinrichs, Bastian Zuehlke Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by Dierk Ohlerich, Fabian Giesen, Thomas Mahlke, Christoph Muetze, Tammo Hinrichs, Bastian Zuehlke «as is» and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Dierk Ohlerich, Fabian Giesen, Thomas Mahlke, Christoph Muetze, Tammo Hinrichs, Bastian Zuehlke be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
Изображение в превью:
Автор: .theprodukkt (2-clause BSD License)
Источник: commons.wikimedia.org

6 комментариев

Добавить комментарий

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

Добавить комментарий

Сейчас на главной

Новости

Публикации

Аномально тяжёлая вода: комета 3I/ATLAS показала, из чего состояли древнейшие инопланетные миры

В конце 2025 года два крупнейших астрономических инструмента — космический телескоп «Джеймс Уэбб» и комплекс радиотелескопов ALMA в чилийской пустыне Атакама — получили...

Гибко настраиваемые под себя TWS наушники: обзор Creative AURVANA ACE SXFI

Компания Creative давно известно как пионер компьютерного звука в средне бюджетном диапазоне. Она выпустила линейку наушников AURVANA. Недавно мы рассматривали модель MiMi, а сегодня рассмотрим, на...

Как настроить напоминания о днях рождения на Айфоне

Иногда день рождения вылетает из головы в самый неподходящий момент. Особенно обидно, когда человек ждал хотя бы пару тёплых слов, а вы вспоминаете о празднике только вечером или вообще на...

Обзор тепловизора TOOLTOP T7: Профессиональное разрешение по цене игрушки

Тепловизор — штука, которая большинству людей кажется чем-то из мира военных или промышленных инспекторов. На практике же он нужен гораздо шире: найти утечку тепла в стене,...

Обзор зарядного устройства UGREEN Nexode X759 500W: Единственный в своем роде зарядник способный выдать 48В Type-C

Рынок многопортовых зарядных устройств растёт стремительно — производители наперебой предлагают решения на 200, 300 Вт и выше. Но есть один нюанс, который часто теряется за красивыми...