Я запитав розробників, чому порти ПК у 2023 році працюють як сміття

відповідно до представленого зображення 2
Ця історія є частиною серії ReSpec Джейкоба Роуча, яка охоплює світ комп’ютерних ігор та апаратного забезпечення.

Дивлячись на стан випусків ПК у 2023 році легко почати вказувати пальцями. Гра не оптимізована (що б це не означало), або видавець надто поспішно випустив її, або відеокарти, які нам продає Nvidia із занадто малою кількістю VRAM. Але ці звинувачення, у більшості випадків, є половинчастими та зухвалими, і хоча вони натякають на реальність, вони не розповідають всю історію.

Зміст

  • В чому проблема?
  • Що ви можете зробити правильно
  • Шлях вперед для портів ПК

Рекомендовані відео

Я хотів знати, що насправді відбувається, тому поспілкувався з декількома розробниками, щоб зрозуміти стан ігор для ПК і чому так багато випусків вийшло з такими великими проблемами. Що ще важливіше, я хотів знати, що можуть зробити розробники та видавці, щоб вирішити ці проблеми, і хоча шлях уперед неясний, стає очевидним, що розробники знають, що є проблема.

В чому проблема?

Невеликий ігровий ПК поруч із PS5.

По-перше, нам потрібно визначити основну проблему з ПК, особливо коли ігри поставляються в придатному для гри (якщо не в ідеальному) стані на консолях, але надходять жахливо зламаними на ПК. На високому рівні проблема ПК як платформи полягає саме в тому, що робить його таким привабливим, перш за все: гнучкість.

Пов'язані

  • Завдяки ексклюзивному партнерству з ПК програють усі
  • Консолі все ще мають одну велику перевагу, і вона шкодить комп’ютерним іграм
  • Як вірусна гра з бодікамерою змусила Інтернет подумати, що це справжні кадри

Марк Уіттен, старший віце-президент і генеральний менеджер Unity Create, каже, що «велике розмаїття та варіабельність конфігурацій ПК, на яких гратимуться в ігри, безперечно може виявляти несподівані проблеми». Віттен також вказує на «різні операційні системи та нові оновлення драйверів, нагрівання та затримку, а також налаштування користувача» як фактори, які можуть спричинити проблему.

Я впевнений, що це відповідь, яку більшість людей вважає поясненням.

Але проблема, за словами Віттена, полягає не у відсутності самого тестування. Він стверджує, що ігри «як правило, ретельно тестуються протягом розробки». Проблема зводиться до масштаб різних конфігурацій, які розробники повинні перевірити, а також змінні, які вони не можуть врахувати для.

Припустімо, що в якості експерименту розробник визначив 100 різних конфігурацій ПК для тестування, змінюючи ЦП, ГП, ОЗПі жорсткий диск між ними. До речі, це число, яке я просто витягую, а не те, що розробник фактично посилається як реалістичну мету. Тепер візьміть усі ці конфігурації та помножте їх на десятки додаткових факторів: яку ОС ви використовуєте? Яка версія цієї ОС? Як щодо версії драйвера? Які налаштування BIOS увімкнено? Чи є у вас якесь програмне забезпечення, яке працює у фоновому режимі, наприклад Razer Synapse або Corsair iCue?

RTX 4080 на тестовому стенді.
Джейкоб Роуч / Digital Trends

Обсяг можливих конфігурацій виходить далеко за рамки того, який процесор і графічний процесор є у вашій системі ці фактори можна легко помножити на десятки тисяч сценаріїв, які розробники просто не можуть врахувати для. В ідеальному світі розробники можуть вирішити найбільші проблеми для найпопулярніших конфігурацій ПК за допомогою найновіших драйверів і оновлень ОС, залишаючи лише невеликі, специфічні проблеми для вирішення після запуску.

Віттен також не самотній у цьому настрої. Джон Йоханас, ігровий директор Hi-Fi Rushі The Evil Within 2, каже, що «досить нереалістично думати, що ви можете зробити продукт, який бездоганно працюватиме на тому, що відчувається необмежена конфігурація процесорів, графічних процесорів, пам’яті та, швидше за все, того, що працює в тло».

Хідеюкі Міясіта, системний програміст на Hi-Fi Rush, погодився, але особливо вказав на вартість оптимізації гри для кожної можливої ​​конфігурації: «In з точки зору продуктивності ПК, кожну графічну функцію можна масштабувати для різних конфігурацій ідеальний; однак витрати на розробку обмежують підтримку реалістичної масштабованості».

Це не нова історія. Велика кількість конфігурацій ПК є основною причиною всього: від того, наскільки важко оптимізувати ігри на ПК, до того, чому ми не бачили Швидке резюме Xbox з’являється в Windows. Питання в тому, що розробники можуть зробити, незважаючи на обмежений час і гроші. Тому що комп’ютери не стають простішими, а ігри все ще надходять на платформу зламаною.

Що ви можете зробити правильно

Кел Кестіс тримає свій блакитний світловий меч і несе BD-1 у Star Wars Jedi: Survivor.

Цього року у нас є багато прикладів ігор, які неправильно підтримують ПК. Один простий приклад є Зоряні війни Джедай: Вижив, які в даний час має статус «Змішана» перевірка у Steam, незважаючи на те, що вона є однією з найбільш популярних ігор року. У першому огляді йдеться: «Один збій пошкодив мій 140-годинний файл збереження 99,8% NG+». ой

Я зв’язався з командою розробників, щоб дізнатися, що пішло не так, і хоча вони спочатку були сприйнятливими, EA втрутилася та перестала повертати мої електронні листи. Отже, замість того, щоб дивитися, які ігри роблять неправильно на ПК, нам потрібно дивитися на те, що розробники роблять правильно.

Hi-Fi Rush є чудовим прикладом. Це нова гра від студії AAA, і вона використовує сумнозвісний Unreal Engine 4. Ви можете подумати, що порівнюють яблуко з апельсинами Hi-Fi Rush і така гра Зоряні війни Джедай: Вижив, але вони мають більше спільного, ніж ви можете підозрювати. Як зазначає Йоханас, «...той факт, що гра має естетику мультфільму, дасть деяким користувачам уявлення про те, що гру не повинно бути проблемою для запуску на будь-якому ПК. Реально кажучи, гра робить багато речей, щоб досягти того вигляду, якого ми прагнули, і постійно рухомий світ, який дуже обтяжливий... Я знав, що входити всередину, і переконався, що ми намагалися вдарити їх очікування».

Чай ріже робота в Hi-Fi Rush.
Bethesda

Поставити таку мету з самого початку здавалося важливим Hi-Fi Rushстабільність. Розробники зазначають, що з самого початку метою дизайну було підтримувати принаймні 60 кадрів на секунду (fps) через той факт, що це одночасно і ритмічна гра, і екшн-гра, де недотримання цієї позначки спричинить «гикавку, [яка] може призвести до розсинхронізації музики та поганого сприйняття ігрового процесу», відповідно до Йоханас.

Як команді Tango Gameworks це вдалося? Загалом це зводиться до трьох основних моментів: ретельний моніторинг VRAM, асинхронні операції та кешування PSO.

За словами Косуке Танаки, провідного графічного програміста для Hi-Fi Rush, Команда відстежувала використання VRAM на кожному етапі розробки. Звичайно, це включає моніторинг кожного рівня, а також використання відеопам’яті кожного розділу мистецтва, прохаючи художників зменшити використання пам’яті текстур або сітки, щоб відповідати бюджету гри. Це також не рідкість у розробці ігор.

Що працює в Hi-Fi RushПеревагою є його сильний художній напрям. Як зазначає Танака: «Наш художній стиль трохи допоміг нам, оскільки нам не потрібні традиційні текстури PBR, такі як карти нормалей, шорсткість карти або металеві карти». Це свідчення роботи з творчими обмеженнями та того, як це може вплинути на стабільність фіналу продукт. Йоханас каже, що це було не питання меншого масштабу — це було питання того, що «не потрібно було без причини ставати великим».

Я запитав команду, чому вона навчилася Hi-Fi Rush що він міг би втілити у більші, ширші проекти, але це не зовсім те, як Tango бере уроки з гри. Насправді команда розробників сказала мені, що дізналася набагато більше про оптимізацію Ghostwire: Токіо, який більшою мірою підходить до традиційної форми AAA, і в ньому перенесені ці ідеї Hi-Fi Rush, а не навпаки.

Акіто атакує ворогів за допомогою магії в Ghostwire: Tokyo.
Ghostwire: Tokyo — це рання демонстрація TSR Unreal Engine, яка дуже схожа на FSR 2.0.

«Ми навчилися багато наших знань про те, як боротися із заїканням у грі Hi-Fi Rush з нашого досвіду оптимізації Ghostwire: Токіо", - сказав мені Міясіта. Велика частина цього була  Кешування об’єктів стану конвеєра (PSO).. Це функція, доступна в Unreal Engine 4, яка допомагає зменшити заїкання шляхом попередньої компіляції шейдерів перед запуском гри.

Основна проблема полягає в тому, що Unreal Engine 4 не робить це автоматично, що призводить до ситуацій, коли шейдерам потрібно компілюватися, поки ви граєте в гру, що спричиняє заїкання. Міясіта каже, що «це призвело до деяких пост-процесів і VFX, що викликало заїкання». Програміст також каже, що кешування PSO необов’язкове, тому розробнику слід приділити особливу увагу.

Однак кешування не вирішує кожну проблему, і тут з’являються асинхронні операції. The Hi-Fi Rush Команда використовувала асинхронну компіляцію — коли шейдери компілюються окремо від потоку гри — але це також було великою увагою, враховуючи, що гра працювала на Unreal Engine 4.

Як ми бачили в інших подібних іграх Unreal Engine 4 Зоряні війни Джедай: Вижив і Redfall, двигун не дуже добре масштабується до багатьох потоків, доступних на сучасних ЦП. Як Міясіта пояснює: «Наскільки складною може бути підтримка багатопоточності, сильно залежить від використовуваного механізму архітектура. На жаль, UE4 в цьому відношенні трохи відстає».

Зокрема, Unreal Engine 4, за словами розробника, розміщує створення актора (об’єктів/персонажів) і віджетів (інтерфейс користувача та оверлей) у той самий потік ЦП, що й гра. Це означає, що коли гра хоче, наприклад, завантажити нового персонажа, він отримує пріоритет у потоці. Міясіта каже, що «це може призвести до того, що створення складних акторів і віджетів блокуватиме ігровий потік протягом тривалого часу». Це заїкання.

Рішення — асинхронні операції. Міясіта каже, що команда використовує інструменти аналізу, щоб точно визначити, що робить ЦП, коли надходять об’єкти і що вони докладають зусиль, щоб перенести ці завдання в різні потоки, щоб гра не сповільнювалася вниз. Це конкретне націлювання також може допомогти із завантаженням ресурсів. Переміщення цих операцій у паралельну структуру може уникнути пасток потокового заїкання, наявного в таких іграх Мертвий простір.

Шлях вперед для портів ПК

Лейла захищається спектральною парасолькою в Redfall.

Ігри, які сьогодні виходять у катастрофічних штатах, почали розробляти багато років тому, тому я сподіваюся що випуски ПК покращаться протягом року, може пройти кілька років, перш ніж ми побачимо ці основні проблеми адресовані.

Віттен каже, що «розробники так само стурбовані продуктивністю, як і гравці», і це почуття, яке я чув кілька разів. Існують способи оптимізації випусків ПК, від попереднього кешування шейдерів до асинхронних операцій і перевірки на різноманітному обладнанні. Але реальність така, що розробники не можуть порахувати все через час чи гроші, а зазвичай і те й інше.

Шлях вперед тут простий. По-перше, повідомте видавцям цих ігор, що ви краще бачите затримку, ніж зламану гру. Кричати на розробників нічого не допоможе — вони вже знають проблему, і, ймовірно, хотіли б, щоб її вирішували так само, як і ви. По-друге, будьте обережні, беручи нову гру для ПК у день випуску. Важко бути терплячим, коли ти чогось чекаєш (повір мені, я знаю), але чекаєш, щоб купити гру, поки не Проблеми були виправлені, що надсилає видавцям сильний сигнал про необхідність вкладати більше часу та ресурсів у забезпечення досконалості ігор на ПК.

Легко забути, що це все ще незвідана територія. Зараз, як ніколи, ігри з’являються на ПК того самого дня, коли вони надходять на консолі, на відміну від кількох років тому, коли порти для ПК з’являлися місяцями (або навіть роками) пізніше. Два покоління консолей тому більшість ігор надходили на одну платформу лише в один день; у попередньому поколінні було два. Тепер очікується, що розробники відправлятимуть щонайменше три платформи в один день, а іноді й більше п’яти, якщо у них є версія останнього покоління.

Неважко зрозуміти, чому виникають проблеми на ПК, враховуючи такий контекст, але, сподіваємося, на підході будуть більш досконалі випуски.

Ця стаття є частиною ReSpec – безперервна колонка, що виходить раз на два тижні та містить обговорення, поради та детальні звіти про технології, що стоять за комп’ютерними іграми.

Рекомендації редакції

  • Я спробував знову пережити забуту спадщину Halo як франшизу Mac — і це була катастрофа
  • Найгірші порти ПК усіх часів — і чому вони були такими поганими
  • Star Wars Jedi: Survivor критикують Steam як «цілковитий лайно» для ПК
  • Як Unreal Engine 5 вирішує найбільшу проблему комп’ютерних ігор
  • Штучний інтелект приходить у ваші комп’ютерні ігри, але ви повинні радіти, а не хвилюватися