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

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

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

Новости

Публикации

Почему в России между столицами, Москвой и Санкт-Петербургом, такая низкая плотность населения

Вопрос о неравномерном распределении населения в России — всегда одна из актуальных тем, вызывающих дискуссии и споры. Особенно заметно (без учета влияния климата) это на примере...

От LUCA до человека: как механизм выживания первых клеток Земли управляет метаболизмом сегодня

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

Почему нельзя держать рыб в круглом аквариуме? 5 причин выбрать другую форму

Круглый аквариум выглядит эффектно: прозрачный шар, минимализм, «золотая рыбка из детства». Он часто появляется в фильмах, рекламе и интерьерах как символ стиля и простоты. Но за этой эстетикой...

В Музее Времени и Часов открылась «секретная» выставка: здесь показывают опытные образцы легендарного НИИ Часпром

Несмотря на то, что фактически НИИ Часпром существует и в наши дни, аббревиатура для многих даже часовых любителей - загадка. Мало кто знает или помнит, что научно исследовали...

Если магнитный щит Земли снова упадет до 5%: как повторение магнитной аномалии Лашамп повысит облучение экипажей самолетов в 75 раз

На высотах от 10 до 12 километров, где пролегают маршруты современных коммерческих авиалайнеров, плотность атмосферы значительно ниже, чем на уровне моря. Из-за этого самолеты и их пассажиры...