Сьогодні в новинах «Створювати відеоігри важко»: подорож Respawn, щоб відстежити помилку, яка спричинила місяці проблем зі звуком у Apex Legends. Гранати, які не вибухають, зброя, яка не стріляє, пошкодження, які не мають джерела, і місяці болісного розслідування — все це, очевидно, викликано одним рядком коду, доданим в оновленні 16 сезону Apex Legends.
Як зазначено в а ретельний допис на Reddit (відкривається в новій вкладці) Менеджер спільноти Respawn Емі Тіссен, проблеми почалися на початку 16 сезону в лютому. Студія почала отримувати повідомлення про «зникнення голих» в Apex. Невдовзі Respawn визначив, що гранати не зовсім «зникали», але іноді вони не вибухали, незважаючи на пошкодження гравців.
«Цього не траплялося під час нашого ігрового тестування 16 сезону, не можна було відтворити всередині після початкових звітів, і було дуже важко визначити за допомогою живих відео ігрового процесу, оскільки першопричина не завжди відображалася в POV гравця», — йдеться в дописі.
Respawn краще впорався з проблемою після того, як отримав подібні звіти про відсутні звукові ефекти гармати та ефекти частинок. «Після попереднього розслідування було встановлено, що основним підозрюваним є система, яку наші сервери використовують для надсилання команд «старт»/«стоп» для різних ефектів (наприклад, певних звуків, систем частинок, фізичних впливів, трасуючих куль, вибухів)».
Оновлення команди розробників: оновлення аудіо від r / apexlegends
По суті, під час матчу відбувалося щось, що могло перевантажити ліміт сервера для звукових ефектів або частинок, спричиняючи випадання деяких звуків і ефектів.
«Звідси випливає теорія, що щось може переповнювати обмеження двигуна, вимагаючи тисячі ефектів щосекунди!» у дописі йдеться. «Але чи була це системна проблема чи це може бути одна особа? Кожне оновлення сезону містить тисячі змін до активів, коду, сценарію та рівнів. Що означало знайти голку в стозі сіна».
Respawn звернувся до показників, щоб допомогти визначити проблему, але ніщо в телеметрії не вказувало на явну проблему. Це підказало Respawn, що ця помилка була унікальною ситуацією, якої їхні системи раніше не бачили.
«Це поставило перед нами складну проблему, яка, як ми знали, вплинула на нашу спільноту, але її було важко відтворити, незважаючи на докладні звіти, мали мінімальну кількість внутрішніх потенційних клієнтів і не було жодних показників, які б остаточно доводили, що цей ліміт взагалі було досягнуто».
Куди ви йдете звідти? Respawn вирішив перевірити свою теорію перевантажених ефектів, навмисно зламавши сервери Apex Legends. Команда створила тестову збірку та створила 50 персонажів, які одночасно стріляли зі зброї та нескінченно використовували здібності, щоб збільшити навантаження ефектів на сервері. Це спрацювало — нарешті команда змогла відтворити звуки, подібні до звітів про помилки, але як це відбувалося з реальними гравцями, досі залишалося загадкою.
«Це дало нам доказ того, що FX буде відкинуто, але лише з абсолютно нереалістичними тестами. Були досліджені різні аспекти продуктивності нашого сервера, але нічого певного не було знайдено».
Respawn уважно стежив за цією проблемою, поки вирував 16 сезон. Зрештою команда помітила, що пропущені аудіозвіти, як правило, походять від гри на високому рівні. Це дало їм ідею розгорнути оновлення сервера, яке дозволило Respawn відстежувати нові показники в меншій підмножині збігів, що миттєво призвело до прориву.
«Поки завершувалося оновлення сервера, ми його знайшли. Було визначено, що причиною проблеми є один рядок коду. Нова зброя 16 сезону».
Цією зброєю є Nemesis, найновіша енергетична штурмова гвинтівка Apex. Nemesis має унікальну механіку, завдяки якій завдаючи шкоди, рушниця «заряджається» і змушує її стріляти швидше (як продемонстрований (відкривається в новій вкладці) YouTuber Dazs вище). Цей ефект заряджання візуально відображається на пістолеті за допомогою електричної дуги всередині стовбура. Respawn каже, що рядок коду, призначений для того, щоб наказати цьому ефекту «зупинитися», поки рушниця не була заряджена чи в кобурі, насправді повторювався безкінечно для всіх гравців, які тримали Немезиду в своєму інвентарі.
«Це означає, що кожен окремий гравець із незарядженим Немезидом створював би ефект «стоп-частинки» на сервері кожного кадру, і цей рядок коду викликався, навіть коли зброя була в кобурі».
Досить смішно, але це також пояснює, чому падіння звуку траплялися частіше під час гри на високому рівні. «14 клієнтів із Nemesis, що працює зі швидкістю 180 кадрів в секунду, було б достатньо, щоб FX почав відпадати». На цей раз це були найкращі комп’ютерні гравці, які мали недолік.
Respawn каже, що це також пояснює, чому його внутрішнє тестування не виявило помилку.
«Сборки, які використовувалися для тестування, могли мати недостатню кількість Nemesis у кобурі в грі, мали більш рідкісну кореляцію з відсутніми ефектами або не мали достатньо клієнтів із такою частотою кадрів в секунду — про що ми повинні пам’ятати та вдосконалювати для майбутніх тестувань».
Патч, застосований минулого тижня, нарешті назавжди придушив цю помилку. І ось воно — неприємна звукова помилка зі складною першопричиною, яка в довгостроковій перспективі допоможе Respawn виявити подібні помилки до того, як вони досягнуть гравців. Respawn завершив публікацію відміткою про тестування, нагадавши гравцям, що «хвилина гравців, які грають в Apex, еквівалентна 10 тестувальникам, які грають у гру протягом року!»
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoAiStream. Web3 Data Intelligence. Розширення знань. Доступ тут.
- Карбування майбутнього з Адріенн Ешлі. Доступ тут.
- джерело: https://www.pcgamer.com/months-of-apex-legends-audio-issues-caused-by-a-single-line-of-code-respawn-confirms
- : має
- :є
- : ні
- :де
- $UP
- 10
- 14
- 50
- a
- здібності
- МЕНЮ
- вище
- насправді
- доданий
- після
- ВСІ
- Також
- завжди
- an
- та
- Вершина
- Apex Legends
- AS
- аспекти
- Активи
- At
- аудіо
- BE
- перед тим
- почалася
- починати
- буття
- Краще
- Розрив
- прорив
- Помилка
- помилки
- будувати
- Будує
- але
- by
- званий
- випадків
- Залучайте
- Викликати
- викликаний
- викликаючи
- певний
- Зміни
- символи
- заряд
- стягується
- зарядка
- ясно
- клієнтів
- близько
- См
- код
- Приходити
- співтовариство
- повністю
- комплекс
- складний
- уклали
- Кореляція
- може
- створювати
- руйнівний
- справу
- вирішене
- розгортання
- розгорнути
- Незважаючи на
- докладно
- певний
- важкий
- зникають
- Відправка
- do
- Дон
- вниз
- впав
- краплі
- під час
- e
- край
- ефект
- ефекти
- електрика
- зіткнення
- енергія
- двигун
- досить
- суб'єкта
- Еквівалент
- Ефір (ETH)
- Навіть
- врешті-решт
- Кожен
- точно
- Пояснює
- вибухи
- очей
- FAIL
- швидше
- лютого
- в кінці кінців
- виявлення
- для
- знайдений
- кадрів в секунду
- FRAME
- від
- майбутнє
- FX
- гра
- геймплей
- отримати
- отримання
- Go
- добре
- GUNS
- було
- обробляти
- Відбувається
- Жорсткий
- Мати
- допомога
- на вищому рівні
- хіт
- проведення
- Як
- HTTPS
- ідея
- ідентифікований
- Вплив
- удосконалювати
- in
- зазначений
- початковий
- негайно
- навмисно
- внутрішній
- внутрішньо
- інвентаризація
- дослідження
- питання
- питання
- IT
- ЙОГО
- подорож
- JPG
- тримати
- останній
- Веде за собою
- Led
- залишити
- Легенди
- рівні
- МЕЖА
- обмеження
- Лінія
- жити
- загрузка
- Довго
- зробити
- Робить
- менеджер
- матч
- Може..
- засоби
- Метрика
- може бути
- mind
- мінімальний
- хвилин
- відсутній
- місяців
- більше
- Таємниця
- Нові
- новітній
- новини
- немає
- нічого
- сталося
- of
- часто
- on
- один раз
- тільки
- Відкриється
- or
- наші
- з
- викладені
- над
- частинка
- пластир
- PC
- продуктивність
- Фізика
- plato
- Інформація про дані Платона
- PlatoData
- Play
- гравець
- гравці
- ігри
- пошта
- раніше
- первинний
- Проблема
- доказ
- Доведіть
- Штовхати
- досягати
- отримання
- Звіти
- представлений
- корінь
- прогін
- біг
- s
- то ж
- говорить
- Сезон
- бачив
- стріляти
- показаний
- аналогічний
- один
- ситуація
- менше
- деякі
- що в сім'ї щось
- Скоро
- Звучати
- Source
- крутився
- старт
- почалася
- Як і раніше
- Стоп
- студія
- система
- системний
- Systems
- команда
- сказати
- тест
- тестерів
- Тестування
- Що
- Команда
- їх
- Їх
- Там.
- вони
- це
- тисячі
- час
- до
- трек
- біда
- Опинився
- створеного
- Оновити
- us
- використання
- використовуваний
- використання
- різний
- дуже
- відео ігри
- Відео
- було
- we
- week
- були
- коли
- який
- в той час як
- ВООЗ
- чому
- волі
- з
- в
- б
- ви
- YouTuber
- зефірнет