Вспоминаем .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
Понятно, что это больше арт объект, нежели игра, но и играть в неё было интересно. Даже жаль, что она такая короткая.

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

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

Новости

Публикации

Обзор беспроводной механической клавиатуры Redragon Eva Pro: тонко и звонко

Компактная низкопрофильная клавиатура на основе 96 клавиш. Трёхрежимная, работает по проводу и через 2.4 ГГц или Bluetooth. Корпус с крышкой из алюминиевого сплава. Переключатели Redragon+RED....

Черные дыры не исчезают бесследно: как кручение пространства спасает квантовую информацию

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

Плитвицкие озера: почему в их кристальных водах нельзя искупаться

К созданию озер в Хорватии природа подошла креативно. Ландшафт здесь играет так, что 16 озер располагаются своеобразной лесенкой, где прозрачная бирюзовая вода, как после фильтров в фотошопе,...

Британский Hi-Fi сэндвич с аэрокосмической начинкой: LEAK выпустила колонки Sandwich 100

Есть что-то почти провокационное в том, как LEAK называет свои колонки. Sandwich 100 — это не маркетинговый каприз, а прямая отсылка к инженерному решению 65-летней давности, которое в...

Налобный фонарик, который смог? Держит высокую яркость и пробивает вдаль. Обзор Wurkkos HD17

200м реальной дальнобойности, 2500люм яркости, удобное для ремонта быстросъёмное оголовное крепление, магнит в торце, исключительно яркий красный свет, ступенчатая и плавная настройка яркости с...

Обзор башенного кулера Ocypus Delta A62 BK ARGB: тише человеческого шёпота!

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