Gamedev
Владимир Семыкин

Как разработчики Hitman 3 уместили целую трилогию всего в 80GB Статьи редакции

Причём первые две части вместе весят почти 150GB.

Главный технический директор IO Interactive Hitman 3 Маурицо Де Паскале рассказал изданию PC Gamer, как команда использовала специальный алгоритм сжатия, который позволил значительно уменьшить вес игры. Разработчик не стал углубляться в технические подробности — вместо этого он на примерах описал принцип работы алгоритма. Мы выбрали из текста главное.

Первые две части Hitman занимают 149GB, что стало проблемой для многих игроков с недостаточно объёмными SSD. А с релизом третьей части ситуация должна была только ухудшиться, поэтому разработчики из IO Interactive стремились найти эффективным способ сжатия данных.

Мы ожидаем, что Hitman 3 вместе со всем контентом из первых двух частей будет занимать 60-70GB (на релизе игра будет занимать 80GB — DTF), и мы очень довольны этим.

Маурицо Де Паскале
главный технический директор IO Interactive

В Hitman 3 применяется техника сжатия LZ4, которая существует уже около десяти лет. Почти всё в игре проходит через этот алгоритм.

По словам Де Паскале, в данных часто встречаются повторяющиеся последовательности, и почти все методы сжатия без потерь используют это. Например, в текстах про IOI часто встречаются слова «HITMAN» или «IO Interactive». Эти дублированные последовательности не нужно хранить несколько раз. Их можно убрать, чтобы сократить объём, но при этом сохранить информацию о том, где они должны находиться. Это позволяет идеально восстановить исходные данные.

Де Паскале также упрощённо рассказал о принципе работы LZ4. По его словам, LZ4 заменяет длинные последовательности ссылкой на такие же, но более ранние последовательности. К примеру, чтобы сохранить слово «сжатие», алгоритм подставляет вместо него запись, в которой указано, сколько слов назад уже встречалось это слово. Такая запись может быть эффективно закодирована всего несколькими битами. Разработчик добавил, что это слишком упрощённое описание, но оно позволяет понять основной принцип.

Де Паскале рассказал, что на самом деле LZ4 распространён в игровой индустрии, но студия раньше не использовала его, потому что стремилась сделать игру подходящей для ПК с низкими характеристиками. Дело в том, что на распаковку сжатых данных тратится больше ресурсов, поэтому в предыдущих частях Hitman некоторые файлы просто не были сжаты. К Hitman 3 разработчики улучшили движок, что позволило сделать игру менее требовательной в некоторых аспектах и «потратить» высвободившийся ресурс на распаковку данных.

Ещё одно значительное улучшение связано с импортом данных из первой части Hitman. Поскольку игра выходила эпизодически, в каждом эпизоде хранился весь код и ассеты, необходимые для автономной работы. На жёстких дисках это приводит к дополнительным трудностям, так как считывающая головка тратит время на перемещение к записи на магнитном диске.

Это означает, что жёсткие диски гораздо лучше подходят для последовательного чтения, чем для случайного: представьте, насколько труднее было бы читать книгу, если бы абзац был разделён между страницами 1, 13, 46 и 253.

Чтобы компенсировать это, разработчики хранят все ассеты в том порядке, в котором они будут загружены в момент игры. Иногда они даже дублируют ассеты, чтобы их не пришлось искать. На SSD такой проблемы нет, но IO Interactive разработала версии Hitman для PS4 и Xbox One, на которых используются жёсткие диски, поэтому проблема всё ещё актуальна.

{ "author_name": "Владимир Семыкин", "author_type": "editor", "tags": ["hitman"], "comments": 115, "likes": 229, "favorites": 155, "is_advertisement": false, "subsite_label": "gamedev", "id": 611327, "is_wide": false, "is_ugc": false, "date": "Sat, 23 Jan 2021 15:22:06 +0300", "is_special": false }
0
115 комментариев
Популярные
По порядку
Написать комментарий...
191

Технический директор объясняет как это работает: "Просто мы пригласили к себе на работу xataba из R.G. Механики"

Ответить
11

А не FitGirl? 

Ответить
24

Чёрный диван ещё не привезли, так что пока хотаб.

Ответить
0

FitGirl мужик если че

Ответить
3

Ммм, девочка с сюрпризом?
Так даже и лучше.

Ответить
0

Откуда знаешь?

Ответить
6

тогда бы хитман загружался часа 2

Ответить
2

она у юбисофт сейчас подрабатывает, механиков вроде майки перекупили 

Ответить

Конституционный химик

Frog
0

FatGurl )))

Ответить
5

Хатаб вроде как отдельно от Механиков работает 🤔

Ответить
1

Моя ошибка. Хотел написать "и парни из", а написал "из". Извиняюсь. 

Ответить
172

Можно избавиться от локализации 

Ответить
25

Да и от самой игры тоже

Ответить
38

А следом и консоль выкинуть: гулять так гулять.

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

0

Осторожнее с такими словами.

Ответить
3

И детализации

Ответить

Комментарий удален

2

И от волос

Ответить
0

В 8к

Ответить

Восточный чайник

74

Просто не стали добавлять субтитры на русском, вот и 100 гигов экономии 🤔

Ответить
0

Ну если отойти от рофлов на эту тему, то на игры локализация устанавливается немного отдельно. У нее же отдельный файл, вроде как

Ответить
0

Ох не всегда так было, ох не всегда...

Ответить
0

Не всегда, но последние лет 10 так точно, когда игры начали переводить сразу на десятки языков, а не на 2-3

Ответить
46

В Hitman 3 применяется техника сжатия LZ4, которая существует уже около десяти лет

Расскажите кто-нибудь о ней Банджи и Инфинити Вард.

Ответить
1

так в статье же написано почему раньше не использовали. нужны были бы мощные CPU для декодинга архивов, да и ССД не помешали. а иначе с таким сжатием были бы очень долгие загрузки. то есть виноваты консоли и ориентация на лоу-энд пк (а банджи на них точно ориентировались, так как дустан 2 умудряется работать на совсем древнем железе)

Ответить
1

LZ4 очень быстрый, используется в играх на мобилках. А сжатые архивы еще в древнем doom 3 были, видимо экономили на количествах дисков наши отечественные издатели.

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

23

Кажется я знаю, что за алгоритм сжатия

Ответить
4

Шикарный сериал. Раза три уже смотрел, всем задрочам советую. 

Ответить
6

Мое мнение, что концовка слита.

Ответить
0

а если я видный мужчина? не смотреть?

Ответить
3

Зачем видному мужчине растрачивать свою интересную жизнь на созерцание сериала о нелепых задротах, которые спорят о пробелах и табуляции?

Ответить
–1

переоцененая параша как по мне)
напоминает шелдона
уж лучше посмотрите британских компьютерщиков

Ответить
1

Что ещё из свежака посоветуешь?

Ответить
19

Вау. Удалили дублируемые асеты и сжали контент. Ну просто таки открыли забытые и таинственные технологии  древних. Неужели так можно было?

Ответить
0

Пока диски были медленные - нельзя было. А теперь начинается эра ссд и эх, заживём!

Ответить
13

Активижн такие, а че в смысле

Ответить

Инвестиционный Слава

Сергей
4

Держи

Ответить
8

IOI производят революцию за революцией в технологии сжатия. Сначала они сжали игры до пяти миссий, а теперь и за сами данные принялись. Молодцы!

Ответить
3

Как как, вот так

Ответить
16

Да когда вы научитесь!?

Ответить
8

Куплю только когда выйдет в Steam и с локализацией.

Ответить
–1

перестали творить откровенные глупости

игру уменьшилась в размерах

Никогда такого не было и вот опять. Представляю что будет когда они откроют для себя инструменты от RAD.

Ответить
12

отсутствие сжатия – не глупости, а вынужденная мера для экономия производительности

Ответить
6

но IO Interactive разработала версии Hitman для PS4 и Xbox One, на которых используются жёсткие диски, поэтому проблема всё ещё актуальна.

Вывод: Виноват паст-ген.

Ответить
5

Короче слово hitman и io interactive в текстах занимали 60ггб

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

Комментарий удален

4

Де Паскале рассказал, что на самом деле LZ4 распространён в игровой индустрии, но студия раньше не использовала его, потому что стремилась сделать игру подходящей для ПК с низкими характеристиками. Дело в том, что на распаковку сжатых данных тратится больше ресурсов, поэтому в предыдущих частях Hitman некоторые файлы просто не были сжаты. 

лол ват?
lz4 практически не жрет ресурсов при распаковке. если на твоем компе запустился хитман то ресурсов на распаковку точно хватит. просто болт положили и все. а к последнией версии догадались включить

Ответить
1

В статье дичь написана про lz4. Он ведь создавался для быстрого сжатия и очень быстрого расжатия. И это, разумеется, ценой пониженного коэффициента сжатия.
Может быть, они прикрутили там Zstandard и поигрались с уровнями сжатия.

Ответить
1

Хех, помнится когда-то в Dragon Age II хвастались подобным, а на деле оказалось ( ͡° ͜ʖ ͡°)

Ответить
6

... что лучший сюжет в серии загубила странная механика подземелий.

Ответить
3

Лучший сюжет в серии? 

Ответить
0

Ну не про злого лысого эльфа же речь.
Гонять его по глубинным тропам даже не дали.

Ответить
0

Каждый продолжит предложение сам для себя ;)

Ответить
1

... что можно просто бегать по одному и тому месту несколько раз и это совсем не надоедает

Ответить
3

Например, в текстах про IOI часто встречаются слова «HITMAN» или «IO Interactive». Эти дублированные последовательности не нужно хранить несколько раз. Их можно убрать, чтобы сократить объём, но при этом сохранить информацию о том, где они должны находиться. Это позволяет идеально восстановить исходные данные.

Так речь об объёме или не только о нём? Если ТОЛЬКО о размере, то для текстов намного лучше подходит LZMA, а не LZ4, насколько я знаю.

Ответить
0

так текста там дай бог на 50 мегабайт наберется, это для примера написали, чтобы понятно было

Ответить
3

Как разработчики Hitman 3 уместили целую трилогию всего в 80GB

Реюз ассетов
/tread

Ответить
2

Челики отвечающие за Warzone поперхнулись

Ответить
2

Когда удалил денуво

Ответить
1

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

Как они это делают, если они в принципе не могут регулировать то, в какие области диска при установке попадут файлы?

Ответить
1

Так ассеты же у них в нескольких больших архивах которые точно будут записаны на диск последовательно.

Ответить
1

Т. е. медленное чтение из разных областей диска они заменили тем, что медленно seek'ают и считывают ассеты из архива? Шило на мыло же. Выигрыш будет лишь если они всегда архив целиком считывают.

Ответить
4

Так они и считывают целиком какую-то часть архива которая специально сгруппирована под левел.

Ответить
1

Нельзя гарантировать что архивы физически будут записаны на диск последовательно (смотри Фрагментация)

Ответить
0

Я не знаю как точно это работает на консолях, но я практически уверен что там есть какие-то дополнительные гарантии.

Ответить
1

По-идее, в консолях там принудительно преалоцируют на диске объём под загрузку, а потом уже загружают туда файлы. Т.к.  на пс4 фрибсд, то дефрагментации как таковой по-идее нет, но можно вроде в сейфмоде делать что-то подобное. Ну и а в коробке мб автоматически как в винде. 

Ответить
0

Они знают что винда сама по умолчанию дефрагментирует.

Ответить
0

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

Ответить
0

А ты в курсе, что архивы на HDD как и любые другие файлы фрагментируются как нехуй делать? То, что файл один, не защищает его от фрагментации.

Ответить
1

запихивают все ассеты одного уровня в один bundle/архивный файл, например

Ответить
2

И грузят весь уровень целиком что ли?

Ответить
2

Хм, ну во всяком случае по различию в структуре файлов в 3-ей части и во 2-ой выглядит правдоподобно 🤔 (первый скрин - третья часть, второй - вторая)

Ответить
4

Я всё ещё не понимаю, как это поможет. Даже один здоровый файл не хранится одним последовательным куском. Они всё разбиваются на кластеры. Не важно, это мелкие файлы или один большой, один фиг нет гарантии, что на диске это всё будет размещаться последовательно.
Разве что, установка игры происходит после дефрагментации.

Ответить
1

Разве что, установка игры происходит после дефрагментации.

нуу, возможно так и есть. А возможно файловая система консолей так устроена, чтобы минимизировать фрагментацию 🤔 Ну или дефраг автоматически происходит, хотя хз как на фрибсдшной ps4, но там есть что-то под названием "rebuild database", так что мб автоматического дефрага и нет там. 

Ответить
0

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

Ответить
0

нет, но так же по-идее на диске они будут рядом лежать🤔

Ответить
0

Могут. Мастер-диск делает разработчик. Марк Серни об этом тоже говорил.

Ответить
0

Так игра запускается не с мастер-диска.

Ответить
1

А с какого? Slave диска?

Ответить
0

С жёсткого после накатки патчей.

Ответить
1

Эсть софт такой compactor, тоже можете с LZX аглоритмом компреснуть игры/любие папки

Ответить
1

LZX затратный по компресси/декомпресси, тут lz4 как раз то шо надо 

Ответить
0

Поясните плиз, читал по диагонали, с третьей частью подреставрировали первые две и выпустили все вместе?

Ответить
3

Да.
Но уровни из прошлых будут доступны если покупал их раньше или купишь полное издание

Ответить
0

не совсем так, никакого полного издания нет, сейчас в егс продаётся третья часть с доступом к первому сезону, но это временно, потом всё надо будет покупать отдельно

Ответить
0

просто это по сути один движок (да и игра с 2016го) и в каждой новой части они оставляют возможность играть в локации из предыдущих частей. Чтобы играть в первый сезон бесплатно надо купить игру до 30го января, второй сезон покупается отдельно как длц. Это в пк версии

Ответить
0

Какой лучший способ ознакомиться с этой трилогией? Купить 1, 2 и 3 части, а играть в весь контент через 3? 1 и 2 у меня лежат в каких-то лаунчерах розданные, но там, вроде, по 1 эпизоду только дарили.

Ответить

Умственный Влад

splinefx
3

Купить тройку, затем паки первых двух сезонов в виде DLC. На данный момент это пожалуй лучший способ. Сам бы так сделал, если бы пропустил мимо себя предыдущие два сезона. 

Ответить
1

 Как разработчики Hitman 3 уместили целую трилогию всего в 80GB

Применили утраченные технологии древних)

Эх, помню как BDO с патчем взяли и ужали сильно. Сейчас 35гб весит. Весь огромный детализированный мир

Ответить
0

да еще и графонистый. а вот PSO2 с графоном 2011го весит 80+ гигов

Ответить
0

PSO2 80+gb

Это не про Phantasy Star Online 2?

Ответить
0

да, я про псо2 (которая еще пока что не нью генезис). я так понимаю, на старте она весила гигов 15, а потом экспаншнами набралось "контента"

Ответить
–2

А зачем хранить три игры сразу? Прошёл первую, удалил, сел проходить вторую. Если там есть импорт сохранений, то при удалении игры опция оставить сохранения да и всё. Или вообще через облако состояние игры и сейвов передавать. По крайней мере я бы постарался реализовать это так как было в куче сильно более ранних игр начиная с переноса персонажей из Pool of Radiance 1988 года до тех же современных Dragon Age. А держать на жестоком диске две-три игры чтобы просто сохранять прогресс сильно смахивает на кривую реализацию.

Ответить
2

Игра одна. В ней уровни от трёх игр.

Ответить
0

Я про предыдущие две игры, как я понял проблема места была в них.

Ответить

Заметный клуб

0

Создателям warzone нужно поучиться

Ответить
0

Ждал, что третья будет весить со всеми уровнями 100гб, а оказалось 60. Круто они оптимизировали, ничего не скажешь.

Ответить
0

Подскажите, я когда-то давно на распродаже взял первые 2 части, но так и не поиграл и то есть если куплю Hitman 3, то я грубо говоря, могу в ней пройти все 3 игры? Или есть смысл в предыдущие поиграть?

Ответить
0

если куплю Hitman 3, то я грубо говоря, могу в ней пройти все 3 игры?

да
Или есть смысл в предыдущие поиграть?

не 

Ответить
0

ПК? Если на пк то пока надо ждать решения. Из-за переезда в епик стор.

Ответить
0

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

Ответить
0

Кстати, уважаемые геймдевы, скажите, нужели нет технологий стриминга текстур во время игры? Скажем скачивается клиент, в котором вшиты 3-4 гига первых уровней, и потом во время игры потихоньку докачивается остальное по мере прохождения и исходя из настроек? Ведь не все играют в 4к (и далеко не все играют в 2к) Ведь это было и экономичнее и логичнее.

Ответить
0

хм. в eve online похожий вариант был, а вот в сингловых играх не встречал

Ответить
0

Превью с рулеткой (метром?) крутое)

Ответить
0

Repack by RG Mechanics)

Ответить
0

Они сделали оптимизацию. Так должны делать все. Но это дорого.

Ответить
0

Научите инфинити ворд юзать этот алгоритм со своим код мв, а то эта говнина 300 гигов на консоли занимает

Ответить
0

Я в последние части не играл, расскажите плз как оно работает, если я покупаю сразу 3 часть то и 1 и 2 в нее уже включены получается?
Или 3 часть это просто очередной сезонный абонемент и надо покупать все разом?

Ответить
0

Да, в 3 часть включен весь контент предыдущих частей, но чтобы открыть его, нужно купить доступ к нему в качестве DLC. Т.е. по умолчанию будут доступны уровни 3й и вроде как ЕГС сейчас дарит еще полное издание первой части при покупке, так что надо докупить лишь доступ к контенту 2й части.

Ответить
0

Из центра наружу сжимали

Ответить

Комментарии

null