«Консоли это просто и приятно»: как Spider-Man портировали на PC
Разработчикам порта не пришлось начинать с нуля.
Кстати, на сайте читать удобнее
В середине августа игровое подразделение Sony выпустило на PC Spider-Man, эксклюзив PlayStation, разработанный Insomniac Games. Портированием игры на новую платформу занималась студия Nixxes, купленная Sony в 2021 году.
После выпуска PC-версии Spider-Man разработчики порта дали большое техническое интервью Digital Foundry.
Руководитель Nixxes Юрьен Кацман вместе с программистами Ребеккой Фернандес, Коэном Фрауэнфельдером и Михалом Роза поговорили о сложностях, возникших при переносе игры на новую платформу. Вот самые интересные моменты из их рассказа.
- Разработка порта заняла меньше года. Проект полноценно стартовал в сентябре 2021 года, вскоре после покупки студии Nixxes корпорацией Sony.
- При создании порта учитывалось мнение Insomniac Games, студии работали в тесном контакте. Например, разработчики вместе решили, что на PC стоит сделать более качественную трассировку, потому что это позволяет железо.
- Кроме того, Insomniac активно консультировала Nixxes по непонятным моментам исходников.
- Начинать совсем с нуля не пришлось: инструменты движка Insomniac запускаются на PC, поэтому в движке есть имплементация этой платформы.
- При создании порта целиком переделали рендер. В инструментах Insomniac использовалась версия для DirectX 11, для порта все переписали на DirectX 12.
- Выбрать DirectX 12 решили просто потому, что у студии Nixxes был большой опыт работы с этим API.
- Из-за переделки рендера разработчики порта несколько месяцев работали вслепую: у них был только черный экран.
- Пришлось дорабатывать работу с памятью: у PlayStation 4/5 она общая, а на PC надо отдельно работать с оперативной и видеопамятью. Проблемы, связанные с использованием двух пулов памяти, возникают до сих пор: последняя была на прошлой неделе.
Консоли это простые и приятные машины. Нам нравится работать с консолями.
Юрьен Кацман
- Если PC игрока быстрее, чем PlayStation 5, это еще не значит, что у него будет более высокая частота кадров. Работая с PC, приходится учитывать отсутствие аппаратного ускорения некоторых вещей, имеющихся на PlayStation.
- Например, на PC нет аппаратной декомпрессии данных, поэтому их загрузка сильнее нагружает CPU. А GPU сильнее нагружается из-за использования DirectX 12 и DXR (на PlayStation 5 используется более быстрое низкоуровневое API).
- В PC-версии Spider-Man не используется DirectStorage, но разработчики экспериментировали с его поддержкой. Ускорить загрузку данных постарались на программном уровне, разработчики довольны результатами.
- От некоторых оптимизаций пришлось отказаться: они ускоряли загрузку, но слишком сильно нагружали процессор.
- Ради поддержки трассировки лучей на PC разработчикам порта пришлось переделывать в шейдеры.
- На PlayStation 5 используется собственный API Sony для трассировки лучей, многие вычисления, связанные с трассировкой, были зашиты в шейдерах — их пришлось переписывать для совместимости с DirectX Raytracing, вынося соответствующий код. Но довольно многие шейдеры остались такими же, как на консолях.
- Чтобы в порте нормально работали DLSS и FSR, разработчикам пришлось дорабатывать денойзер, участвующий в генерации отражений: изначально он был заточен под временной апскейл версии для PlayStation 5.
- Делать умное кэширование шейдеров для порта не стали. Разработчики попросили тестеров пройти всю игру, затем записали, в каких ситуациях грузятся определенные шейдеры, и стали подгружать их просто на экранах загрузки.
- У такого подхода есть несколько минусов. Во-первых, загрузка идет чуть дольше. Во-вторых, если шейдеры меняются, тестерам придется снова перепроходить игру, собирая данные. Этот процесс занимает два или три дня.
- Настройка качества волос появилась в порте Spider-Man благодаря тестированию игры на Steam Deck.
- Для порта доработали систему динамического разрешения — она стала быстрее реагировать на просадку частоты кадров.
Мы думали, что на PC производительность будет активнее колебаться просто из-за природы этой платформы. Что творится, что происходит, что там Windows решит сделать в фоне? Ну и мы сделали так, чтобы [система] реагировала гораздо быстрее, чем на PlayStation 5.
Михил Роза
Игроки оценили работу Nixxes: сейчас у Spider-Man 96% положительных отзывов в Steam. Предполагается, что студия и дальше будет заниматься портированием игр Sony на PC.
- Моддер «сделал» Человека-паука убийцей
- Героями Spider-Man сделали Си Джея, Паровозика Томаса и Кермита
- Лопасти ветряков предложили делать из материала, перерабатываемого в сладости
- В Азии больше всего «платин», в США — покупок: отчет PlayStation об активности игроков
- В Spider-Man научились добавлять модели: теперь это игра про Венома и Толстого Паука
- Spider-Man для PC получила второй патч: главное