Даунгрейд-портування THE FINALS. Як нам вдалося забезпечити однаковий досвід для гравців на PS4 і PS5
Привіт! Мене звати Дмитро Зуй, я працюю Unreal Developer’ом у Pingle Studio. Нещодавно відбувся реліз THE FINALS на PS4, і наша команда зробила важливий внесок у цей процес.
Embark Studios звернулись до нас в Pingle Studio із проханням портувати гру THE FINALS на PS4. Понад половина гравців все ще користуються PS4, тому підтримка цієї платформи була обґрунтованою. Але даунгрейд-портування завжди породжує виклик: чи зможе гра, що розроблялась із використанням найсучасніших технологій, працювати і на консолі попереднього покоління? Тож ми мали гарантувати, що THE FINALS збереже свою якість і продуктивність.
У цій статті я розповім про виклики, з якими ми стикнулися під час портування, і про рішення, які дозволили забезпечити однаковий ігровий досвід для гравців на PS4 і PS5.
Проєкт розпочинався як стандартне портування, але в процесі перетворився на ко-розробку через складність ігрових механік та необхідність постійного оновлення
Почати можна з того, що Embark Studios використовують кастомну мову Angelscript в Unreal Engine, і у нас були сумніви, чи гра взагалі працюватиме. Виникали проблеми компіляції, сумісності з платформою. Тож довелося адаптувати Angelscript для роботи на PS4.
Інша технологія — DDGI, її ми також оптимізували для сумісності з консоллю. На PS4 немає відповідної інфраструктури, тож ми створили локальний сервер, самостійно налаштували ігрову сесію і забезпечили можливість тестування з більшістю учасників. Це дозволило нам провести перші плейтести для аналізу продуктивності.
Загалом проєкт розпочинався як стандартне портування, але в процесі перетворився на ко-розробку через складність ігрових механік та необхідність постійного оновлення. THE FINALS — гра в лайві, вона активно розвивається, нові сезони, виправлення та механіки додаються регулярно. Ми не могли портувати гру на PS4 без нових доповнень, що вже існували у версіях на ПК і PS5, тому цей проект не був портуванням у класичному розумінні, коли ти маєш фінальну версію продукту.
Крім того, деякі системи були розроблені спеціально для PS5 і виявилися непридатними для PS4. Це змусило нас шукати нові шляхи для ефективної оптимізації, аби забезпечити якість на платформі минулого покоління. На проекті ми працювали спільно з Embark, і наші напрацювання для PS4 також використовувались для ігор на ПК і PS5.
Головним же викликом цього проєкту був пошук оптимізаційних рішень і налаштувань для контенту гри.
Нам треба було залишатись у рамках бюджету пам’яті PS4, не змінюючи при цьому оригінальну структуру контенту
Ми провели ретельний аналіз продуктивності, оцінили завантаження потоків і їхній вплив один на одного. Маючи різноманітний динамічний контент, ми ділили його на групи і пріоритезували відображення ключових елементів, залежно від ситуації на екрані.
Одним з важливих елементів гри є система руйнування. Оскільки PS4 — слабка консоль, обрахунки системи руйнувань займали дуже багато часу. Тож ми розподілили обробку руйнувань по кадрах: замість того, щоб одночасно обраховувати всі елементи руйнування, система обробляла їх порційно, що значно зменшило навантаження на CPU.
Під час руйнувань гравець бачить велику кількість VFX. Ми впровадили динамічну систему відсікання VFX і SFX, завдяки якій ефекти, що розташовані на значній відстані або поза полем зору гравця, не відтворювалися. Це дозволило заощадити ресурси без втрати якості картинки. Ефекти іскор чи частинок штукатурки, що розлітаються, не активувалися для гравців, які не бачили цих подій, а короткочасні звукові ефекти (такі як звук падаючої штукатурки) блокувалися на великих відстанях.
В грі також використовувалась технологія Software Occlusion Culling — рушій візуально визначає, що ми бачимо перед собою (наприклад, будинок), і чого ми не бачимо поза ним. Ця технологія працює на CPU, тож для зменшення навантаження ми частково перенесли обробку на GPU. Це значно знизило витрати CPU на підготовку даних для рендерингу, а також оптимізувало розрахунки тіней, які тепер частково виконуються на GPU.
Окрім цього, ми оптимізували LOD (рівні деталізації), шейдери та моделі для забезпечення балансу між продуктивністю та стабільністю роботи на обмеженому обладнанні PS4. Над кожною з цих оптимізацій ми працювали з Embark, детально обговорювали можливі варіанти та впроваджували нові підходи —- це дозволяло адаптувати системи до можливостей старішого заліза без помітних втрат у якості.
Коли є запас пам’яті, можна дозволити собі не хвилюватися за кожен мегабайт. Наші ж бюджети були обмежені
Оптимізація та стабільність білда вимагали суворого контролю пам’яті, оскільки гра насичена контентом і технологіями рендерингу, а PS4 має обмежені ресурси. Потрібно було детально відстежувати використання пам’яті, зберігання даних і коливання їхнього обсягу в реальному часі, щоб уникнути збоїв під час багатокористувацьких сесій.
Коли є запас пам’яті, можна дозволити собі не хвилюватися за кожен мегабайт. Embark, створюючи гру на PS5, завжди працювали в межах своїх бюджетів, і це було для них комфортною зоною. Проте наші бюджети пам’яті на PS4 були обмеженими, тому нам доводилося шукати додаткові способи оптимізації.
Ми виявили проблему з накопиченням UI-елементів, які створювались на початку кожного матчу, але не очищались після завершення сесій, поступово з’їдаючи пам’ять. Ми запровадили автоматичне очищення пулу UI між матчами, що суттєво зменшило навантаження. Додатково кожна модель персонажа стабільно додавала мегабайти до пам’яті, що вимагало ретельного моніторингу.
Для діагностики ми проводили контрольні плейтести: у грі з одним гравцем пам’ять стабільно займала близько 3,5 ГБ, але при участі шести гравців і виконанні складних дій цей показник зростав до 4,3 ГБ, що призводило до збоїв. На третій матч часто виникали краші. Після оптимізації нам вдалося стабілізувати гру й забезпечити проведення матчів без вилетів.
Ми також виявили й усунули жорсткі посилання на сторонні ресурси, які додавали до 200 МБ до загального використання пам’яті. Ми боролися за кожні 5 мегабайт. Зараз пам’ять становить близько 100 МБ, а гра стабільна навіть під час інтенсивних сесій.
Останній обов’язковий етап у розробці — проходження TRC. Гра проходить перевірки на відповідність вимогам платформи
Ми створили чек-листи для всіх вимог TRC, включно з підвимогами, і систематично пройшли кожен пункт. Sony надсилала нам «прапорці»: червоні — для критичних проблем, обов’язкових виправлень, і жовті, які можна було тимчасово ігнорувати. Спільно з Embark ми вирішували ці питання.
З цікавих вимог можна згадати одну специфічну для японського ринку: у японській версії кнопки «хрестик» і «коло» міняються місцями, що є обов’язковою умовою для продуктів, які випускаються на японському ринку. Також була вимога про підписку PS+ для гри в онлайні. Наразі для free-to-play ігор підписка PS+ більше не потрібна, але раніше це було необхідністю. Залежно від того, чи гра free-to-play, чи ні, ми налаштовували різні системи.
Отже, такими були виклики на проєкті THE FINALS. Сподіваюсь, ця стаття була цікавою і корисною колегам по ринку.
5 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів