Как разработчики Hitman 3 уместили целую трилогию всего в 80GB Статьи редакции
Причём первые две части вместе весят почти 150GB.
Главный технический директор IO Interactive Hitman 3 Маурицо Де Паскале рассказал изданию PC Gamer, как команда использовала специальный алгоритм сжатия, который позволил значительно уменьшить вес игры. Разработчик не стал углубляться в технические подробности — вместо этого он на примерах описал принцип работы алгоритма. Мы выбрали из текста главное.
Первые две части Hitman занимают 149GB, что стало проблемой для многих игроков с недостаточно объёмными SSD. А с релизом третьей части ситуация должна была только ухудшиться, поэтому разработчики из IO Interactive стремились найти эффективным способ сжатия данных.
Мы ожидаем, что Hitman 3 вместе со всем контентом из первых двух частей будет занимать 60-70GB (на релизе игра будет занимать 80GB — DTF), и мы очень довольны этим.
В 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, на которых используются жёсткие диски, поэтому проблема всё ещё актуальна.
Технический директор объясняет как это работает: "Просто мы пригласили к себе на работу xataba из R.G. Механики"
Моя ошибка. Хотел написать "и парни из", а написал "из". Извиняюсь.
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Ну если отойти от рофлов на эту тему, то на игры локализация устанавливается немного отдельно. У нее же отдельный файл, вроде как
Не всегда, но последние лет 10 так точно, когда игры начали переводить сразу на десятки языков, а не на 2-3
В Hitman 3 применяется техника сжатия LZ4, которая существует уже около десяти лет
Расскажите кто-нибудь о ней Банджи и Инфинити Вард.
так в статье же написано почему раньше не использовали. нужны были бы мощные CPU для декодинга архивов, да и ССД не помешали. а иначе с таким сжатием были бы очень долгие загрузки. то есть виноваты консоли и ориентация на лоу-энд пк (а банджи на них точно ориентировались, так как дустан 2 умудряется работать на совсем древнем железе)
LZ4 очень быстрый, используется в играх на мобилках. А сжатые архивы еще в древнем doom 3 были, видимо экономили на количествах дисков наши отечественные издатели.
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Шикарный сериал. Раза три уже смотрел, всем задрочам советую.
Зачем видному мужчине растрачивать свою интересную жизнь на созерцание сериала о нелепых задротах, которые спорят о пробелах и табуляции?
переоцененая параша как по мне)
напоминает шелдона
уж лучше посмотрите британских компьютерщиков
Вау. Удалили дублируемые асеты и сжали контент. Ну просто таки открыли забытые и таинственные технологии древних. Неужели так можно было?
Пока диски были медленные - нельзя было. А теперь начинается эра ссд и эх, заживём!
IOI производят революцию за революцией в технологии сжатия. Сначала они сжали игры до пяти миссий, а теперь и за сами данные принялись. Молодцы!
перестали творить откровенные глупости
игру уменьшилась в размерах
Никогда такого не было и вот опять. Представляю что будет когда они откроют для себя инструменты от RAD.
отсутствие сжатия – не глупости, а вынужденная мера для экономия производительности
но IO Interactive разработала версии Hitman для PS4 и Xbox One, на которых используются жёсткие диски, поэтому проблема всё ещё актуальна.
Вывод: Виноват паст-ген.
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Де Паскале рассказал, что на самом деле LZ4 распространён в игровой индустрии, но студия раньше не использовала его, потому что стремилась сделать игру подходящей для ПК с низкими характеристиками. Дело в том, что на распаковку сжатых данных тратится больше ресурсов, поэтому в предыдущих частях Hitman некоторые файлы просто не были сжаты.
лол ват?
lz4 практически не жрет ресурсов при распаковке. если на твоем компе запустился хитман то ресурсов на распаковку точно хватит. просто болт положили и все. а к последнией версии догадались включить
В статье дичь написана про lz4. Он ведь создавался для быстрого сжатия и очень быстрого расжатия. И это, разумеется, ценой пониженного коэффициента сжатия.
Может быть, они прикрутили там Zstandard и поигрались с уровнями сжатия.
Хех, помнится когда-то в Dragon Age II хвастались подобным, а на деле оказалось ( ͡° ͜ʖ ͡°)
... что лучший сюжет в серии загубила странная механика подземелий.
Ну не про злого лысого эльфа же речь.
Гонять его по глубинным тропам даже не дали.
Например, в текстах про IOI часто встречаются слова «HITMAN» или «IO Interactive». Эти дублированные последовательности не нужно хранить несколько раз. Их можно убрать, чтобы сократить объём, но при этом сохранить информацию о том, где они должны находиться. Это позволяет идеально восстановить исходные данные.
Так речь об объёме или не только о нём? Если ТОЛЬКО о размере, то для текстов намного лучше подходит LZMA, а не LZ4, насколько я знаю.
так текста там дай бог на 50 мегабайт наберется, это для примера написали, чтобы понятно было
Как разработчики Hitman 3 уместили целую трилогию всего в 80GB
Реюз ассетов
/tread
Чтобы компенсировать это, разработчики хранят все ассеты в том порядке, в котором они будут загружены в момент игры.
Как они это делают, если они в принципе не могут регулировать то, в какие области диска при установке попадут файлы?
Т. е. медленное чтение из разных областей диска они заменили тем, что медленно seek'ают и считывают ассеты из архива? Шило на мыло же. Выигрыш будет лишь если они всегда архив целиком считывают.
Нельзя гарантировать что архивы физически будут записаны на диск последовательно (смотри Фрагментация)
Я всё ещё не понимаю, как это поможет. Даже один здоровый файл не хранится одним последовательным куском. Они всё разбиваются на кластеры. Не важно, это мелкие файлы или один большой, один фиг нет гарантии, что на диске это всё будет размещаться последовательно.
Разве что, установка игры происходит после дефрагментации.
Разве что, установка игры происходит после дефрагментации.
нуу, возможно так и есть. А возможно файловая система консолей так устроена, чтобы минимизировать фрагментацию 🤔 Ну или дефраг автоматически происходит, хотя хз как на фрибсдшной ps4, но там есть что-то под названием "rebuild database", так что мб автоматического дефрага и нет там.
Ну так вроде один большой файл прочитать быстрее чем кучу мелких, этим еще промышлял Кармак в доисторические времена дума, запаковывая свои игры в архивы с нулевым сжатием.
Могут. Мастер-диск делает разработчик. Марк Серни об этом тоже говорил.
Эсть софт такой compactor, тоже можете с LZX аглоритмом компреснуть игры/любие папки
Поясните плиз, читал по диагонали, с третьей частью подреставрировали первые две и выпустили все вместе?
Какой лучший способ ознакомиться с этой трилогией? Купить 1, 2 и 3 части, а играть в весь контент через 3? 1 и 2 у меня лежат в каких-то лаунчерах розданные, но там, вроде, по 1 эпизоду только дарили.
Названый Илья
Купить тройку, затем паки первых двух сезонов в виде DLC. На данный момент это пожалуй лучший способ. Сам бы так сделал, если бы пропустил мимо себя предыдущие два сезона.
Как разработчики Hitman 3 уместили целую трилогию всего в 80GB
Применили утраченные технологии древних)
Эх, помню как BDO с патчем взяли и ужали сильно. Сейчас 35гб весит. Весь огромный детализированный мир
да, я про псо2 (которая еще пока что не нью генезис). я так понимаю, на старте она весила гигов 15, а потом экспаншнами набралось "контента"
А зачем хранить три игры сразу? Прошёл первую, удалил, сел проходить вторую. Если там есть импорт сохранений, то при удалении игры опция оставить сохранения да и всё. Или вообще через облако состояние игры и сейвов передавать. По крайней мере я бы постарался реализовать это так как было в куче сильно более ранних игр начиная с переноса персонажей из Pool of Radiance 1988 года до тех же современных Dragon Age. А держать на жестоком диске две-три игры чтобы просто сохранять прогресс сильно смахивает на кривую реализацию.
Ждал, что третья будет весить со всеми уровнями 100гб, а оказалось 60. Круто они оптимизировали, ничего не скажешь.
Подскажите, я когда-то давно на распродаже взял первые 2 части, но так и не поиграл и то есть если куплю Hitman 3, то я грубо говоря, могу в ней пройти все 3 игры? Или есть смысл в предыдущие поиграть?
если куплю Hitman 3, то я грубо говоря, могу в ней пройти все 3 игры?
да
Или есть смысл в предыдущие поиграть?
не
ПК? Если на пк то пока надо ждать решения. Из-за переезда в епик стор.
Да, ПК. Я уже думаю отложить игру пока в Стиме не появится, вроде через год, может и русский язык допилят.
Кстати, уважаемые геймдевы, скажите, нужели нет технологий стриминга текстур во время игры? Скажем скачивается клиент, в котором вшиты 3-4 гига первых уровней, и потом во время игры потихоньку докачивается остальное по мере прохождения и исходя из настроек? Ведь не все играют в 4к (и далеко не все играют в 2к) Ведь это было и экономичнее и логичнее.
хм. в eve online похожий вариант был, а вот в сингловых играх не встречал
Научите инфинити ворд юзать этот алгоритм со своим код мв, а то эта говнина 300 гигов на консоли занимает
Я в последние части не играл, расскажите плз как оно работает, если я покупаю сразу 3 часть то и 1 и 2 в нее уже включены получается?
Или 3 часть это просто очередной сезонный абонемент и надо покупать все разом?
Да, в 3 часть включен весь контент предыдущих частей, но чтобы открыть его, нужно купить доступ к нему в качестве DLC. Т.е. по умолчанию будут доступны уровни 3й и вроде как ЕГС сейчас дарит еще полное издание первой части при покупке, так что надо докупить лишь доступ к контенту 2й части.