Оглавление
Взглянув на характеристики современных персональных компьютеров, вы нечасто встретите модель с объёмом накопителя меньше 1 ТБ или хотя бы 512 ГБ. Для большей части задач этого значения вполне достаточно. Исключением являются видеоигры.
Когда жёсткие диски вместимостью 1 ТБ только начали появляться в продаже, на них умещалось очень много игр. В наши дни будет хорошо, если здесь поместятся хотя бы 10 игр, не считая операционной системы и других файлов. Почему так случилось? Причина заключается в том, что размер игровых файлов вырос. Что порождает вопрос, почему это произошло.
Экспоненциальное увеличение разрешения текстур стало причиной экспоненциального роста размера игровых файлов
Игры с разрешением 4K могут выглядеть красиво, но они занимают очень много места. Происходит это из-за большого количества и объёма игровых ресурсов и текстур. Разработчики научились создавать модели с большим числом полигонов и текстуры с более высокой детализацией. Чем больше в модели полигонов и пикселей, тем более объёмным становится файл, сохраняющий её.
Текстуры представляют собой сочетание ряда графических технологий. В их число входят карты неровностей для имитации выпуклостей и карты нормалей для имитации взаимодействия света с выпуклостями. Когда эти карты объединяются и накладываются на модели, видеоигры становятся более реалистичными и впечатляющими.
Расплатой за это является занимаемое дисковое пространство. Для каждой модели игра должна хранить несколько текстур. Текстуры с высоким разрешением занимают ещё больше места по причине дополнительных деталей. Текстура на разрешении 4K содержит в четыре с лишним раза больше пикселей, чем текстура в более распространённом разрешении 1080p. В результате их файлы занимают в четыре раза больше места. Это касается всего игрового содержимого, от геометрии уровней до оружия и противников. Чем больше ресурсов создано внутри игры, тем больше места занимает каждая текстура формата 4K на накопителе.
Рассмотрим в качестве примера игру Far Cry 6. Она занимает 91 ГБ дискового пространства, её дополнение требует ещё 8 ГБ. Если же установить необязательный пакет текстур высокого разрешения, нужно ещё 62 ГБ. Это больше чем 2/3 от размера самой игры. Без вместительного накопителя вы не сможете поиграть в подобные игры на разрешении 4K. Впрочем, если у вас нет монитора формата 4K, такой проблемы не будет.
Звук также требует дискового пространства
Звуковые файлы обычно занимают меньше места по сравнению с текстурами. Звука формата 4K не существует, поэтому на диске расходуется меньше места. При этом звук важен для игр. Он необходим для эффектов, диалогов, музыки. В результате аудиофайлов накапливается достаточно много.
В зависимости от жанра игры и её длительности, озвучка может занимать много часов, от видеовставок до диалогов персонажей в процессе игры. Чем больше в игре звуков, тем больше места требуется. Игра Baldur’s Gate 3 занимает на диске 145 ГБ, из них на один только английский язык приходится 17,6 ГБ. Если же установить обновление с поддержкой других языков, места нужно ещё больше. Например, несколько лет назад был проведён тест, в котором игра Call of Duty: Modern Warfare занимала 219 ГБ. После установки всех поддерживаемых языков это значение выросло до 344 ГБ. Это означает, что каждый из 12 языков в среднем занимает 10,5 ГБ. Для сравнения, игра 2011 года Call of Duty: Modern Warfare 3 вместе со звуком занимает 16 ГБ. Как видим, в более современной игре только одни аудиофайлы весят почти столько же, сколько более старая игра целиком.
Скорость и длительность загрузки важнее экономии дискового пространства
Занимая больше места, современные игры снижают нагрузку на видеокарту. Графика в играх означает не только красивую картинку. Важна также способность движков осуществлять быструю загрузку уровней и не перенапрягать при этом графический процессор. Разработчики используют разные хитрости для уменьшения длительности загрузки, но из-за этих хитростей размер файлов обычно увеличивается.
Серьёзно сказывается на скорости загрузки дублирование элементов. Во всех играх есть ресурсы, которые повторяются в игровом мире многократно. Создавая дублирующие ресурсы или модели, у разработчика есть два метода: размещение ресурса на уровне несколько раз или на нескольких уровнях или использование ссылки для вызова ресурса из библиотеки в коде игры. Второй вариант позволяет экономить место, поскольку движку игры нужно сохранять лишь одну копию ресурса.
При этом каждый раз при столкновении со ссылкой движку нужно искать элемент, из-за чего длительность загрузки увеличивается. Уменьшение этой длительности является важной задачей разработчиков, поэтому некоторые решают размещать ресурсы по несколько раз на уровнях. Для их размещения расходуется дополнительное место.
На игровой конференции 2019 года Элан Рускин из Insomniac Games рассказал, что в игре Marvel’s Spider-Man было продублировано свыше 50000 ресурсов, в том числе моделей и материалов. Из-за этого размер игры увеличился более чем на 10 ГБ, тогда как вся игра занимает около 45 ГБ. Если бы не использовалось дублирование ресурсов, загрузка длилась бы дольше.
Другой проблемой, ведущей к росту размера файлов, является мипмаппинг. Эта технология снижает нагрузку на видеокарту, когда игроки смотрят на объекты на расстоянии. Чем дальше от вас находится игровой объект, тем ниже разрешение его текстур и количество полигонов. Чтобы задействовать мипмаппинг, у каждого объекта должно быть несколько моделей и текстур, которые сохраняются вместе с другими игровыми данными. Они меняются в зависимости от того, насколько далеко от игрока находится объект. Это требует дополнительного дискового пространства, но снижает вычислительную нагрузку, что повышает частоту кадров.
На объём занимаемого пространства может повлиять сжатие файлов. Сжатые модели и текстуры занимают меньше места, но при загрузке нужно распаковывать ресурсы, в результате чего сначала показываются размытые текстуры и низкополигональные модели, которые обретают чёткость за несколько секунд. Чем меньше движок игры сжимает данные, тем быстрее они загружаются, но тем больше места занимают ресурсы. К тому же не все ресурсы можно сжать без заметной потери качества. Сжатый звук звучит не слишком хорошо, но несжатые файлы накапливаются и начинают занимать много места. Это можно проверить на примере игры Titanfall, состоящей из ряда небольших многопользовательских карт. В момент появления игра весила 48 ГБ, из них 35 ГБ приходилось на несжатые звуковые файлы.
Увеличение объёма контента увеличивает объём занимаемого игрой дискового пространства
Появление в играх нового вида оружия, косметических изменений, уровней — также делает их крупнее. Многопользовательские игры-сервисы вроде Fortnite и Call of Duty: Warzone постоянно растут в размерах. Каждая новая игровая модель и новое оружие состоят из набора полигонов и текстур, а также мипмапов, которые во время перестрелок видят ваши соперники. Поскольку это бесплатные многопользовательские игры, скорее всего, в них применяется множество дублирующих элементов для более быстрой загрузки уровней на всех платформах.
Другой проблемой является тот факт, что разработчики сжимают игровые файлы не так сильно, как могли бы. Поскольку они должны придерживаться строгих сроков выпуска игр, у них нет времени на сжатие всех файлов. Кто-то может считать, что сильное сжатие файлов не особо важно по причине того, что накопители становятся всё более объёмными. Жёсткие диски и SSD год от года растут, а также дешевеют. Зачем же стараться сжимать файлы, если можно просто купить новый накопитель.
Меняющиеся приоритеты и устройства хранения
В настоящее время большинство разработчиков игр стараются сделать графику как можно лучше и мало волнуются о том, чтобы их игры поместились на физических носителях. Это означает, что они не стараются уменьшить размер файлов. В результате геймерам придётся потрудиться, чтобы новые игры уместились на их жёстких дисках и твердотельных накопителях.