http://zibenkefiren.livejournal.com/ ([identity profile] zibenkefiren.livejournal.com) wrote in [community profile] useless_faq2016-10-06 03:20 pm

Нечеловеческие размеры компьютерных игр.

Новый Doom, например, "весит" больше 60ГБ. Новый Колофдьюти+переиздание Modern Warfare на приставках займёт более 100ГБ (думаю, на ПК столько же).


.kkrieger распространяется в виде одиночного исполняемого файла, который занимает всего 97 280 байт дискового пространства, причём для запуска игры не требуется дополнительных компонентов кроме тех, что входят в стандартную поставку ОС Windows.[14][15] Компактный размер файла достигается благодаря тому, что все необходимые игровые ресурсы — текстуры, модели, геометрия уровня — не хранятся в виде готовых объектов, а генерируются в реальном времени методом процедурного текстурирования. Полигональные сетки моделей формируются из простых геометрических фигур, которые затем модифицируются для достижения желаемой формы. Музыка и звуки также синтезируются «на лету» и воспроизводятся виртуально-аналоговым синтезатором V2 Synthesizer System[13] собственной разработки Farbrausch.

Исполняемый файл игры упакован программой kkrunchy.

По словам разработчиков, игра занимала бы 200—300 Мбайт, если бы использовалось традиционное хранение предварительно подготовленных игровых ресурсов в виде отдельных файлов.

Как видим, всё в игре "создаётся" с помощью процедур. Также, недавно вышла игра No man's sky, в которой заявлена процедурная генерация мира (то, что игра не оправдала ожиданий - другой вопрос). Значит, технология (процедурная генерация) не потеряна и вполне работает.
Что мешает крупным конторам, производящим современные популярные шутеры, делать их на той же технологии? Да, No man's sky оказалась провальной, но и делала её фирма не с многомиллионным бюджетом. Значит, не так уж и сложно создавать игры на этой технологии. Неужели рисовать текстуры на десятки гигов проще?

[identity profile] far-far-north.livejournal.com 2016-10-07 07:46 am (UTC)(link)
Могу предположить что это делается для экономии ресурсов процессоров. Для современных игр, которые идут только на топовом железе это, вероятно, критично.

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

[identity profile] free-as-freedom.livejournal.com 2016-10-07 10:06 am (UTC)(link)
Требования к железу, конечно, сам код раздувает, но основной объём игр занимает контент. Нужно же создавать модельки и текстуры под разные разрешения и три-четыре LOD, трёхмерный многоканальный звук для всяких Долби Вокруг.
Кстати, а как можно писать игру на ассемблере, если она выходит для 3-5 платформ? Для каждой свою версию?

[identity profile] far-far-north.livejournal.com 2016-10-07 01:47 pm (UTC)(link)
В смысле платформ? Типа PC и PS? Я сомневаюсь что там один SDK, платформы разные ваще.

[identity profile] telepuzo2.livejournal.com 2016-10-08 03:11 am (UTC)(link)
Ну так сначала обычно пишут или покупают движок (мультиплатформенный) типа Frostbite или Unreal Engine, а потом уже делают сами ресурсы игре на движке. Движок - такая сложная вещь, что, например, чтобы не разрабатывать всё каждый раз заново, EA использует Frostbite (используемый сначала только в Battlefield) теперь сразу в куче своих игр - не только в шутерах, но и в гонках, RPG, стратегиях, даже в футбольном FIFA. И Unreal Engine - тоже очень мощная и сложная вещь, со своими инструментами разработки.
Edited 2016-10-08 03:15 (UTC)

[identity profile] anonim-legion.livejournal.com 2016-10-07 10:13 am (UTC)(link)
Там никаких "высокоуровеневых сред" не применяется, тот же любимый С/С++ с дырками, что и в конце 80х.