21 января 2019 21.01.19 36 680

Игроки выяснили, что скорострельность оружия в PUBG привязана к фреймрейту

За всё время существования PlayerUnknown’s Battlegrounds в игре было обнаружено и исправлено немало ошибок. Тем удивительнее, что лишь на днях пользователи обратили внимание на существенный недостаток механики стрельбы — скорострельность оружия в королевской битве зависит от частоты кадров.

15 января «ютубер» WackyJacky101 опубликовал ролик, в котором рассказал о своей находке. По словам пользователя, при снижении фреймрейта снижается и скорострельность оружия. Соответственно, чем меньше кадров выдаёт игра, тем проще контролировать отдачу. Эта особенность наиболее заметна при использовании скорострельных пушек.

У падения скорострельности есть и обратная сторона — чем медлительнее ствол, тем ниже его значение урона на единицу времени. Так что преимущество всё же на стороне тех, кто справляется с отдачей без искусственного замедления темпа стрельбы.

Хуже всего приходится игрокам, у которых фреймрейт постоянно меняется, — это соответствующим образом отражается на параметрах пушек, и приноровиться к каждой из них становится труднее.

 

На этом история не закончилась — посетитель Reddit под ником MutuTutu провёл своё расследование. Он заключил, что выводы WackyJacky101 не совсем верны — скорострельность в игре не просто повышается вместе с fps, а зависит от соотношения между скорострельностью конкретной пушки и фреймрейтом.

В своих испытаниях WackyJacky сравнивал поведение оружия при значениях фреймрейта вроде 30 и 60. Поэтому, объясняет MutuTutu, «ютубер» не заметил разницы в случае с АКМ — тот выпускает 10 пуль в секунду, а на это число делятся и 30, и 60. Если же взять для тестов 31 и 61 fps, то лишний кадр ощутимо повлияет на скорострельность.

В зависимости от скорострельности того или иного ствола значения fps, при которых это оружие показывает себя лучше всего, разнятся — так, SCAR успевает выпустить больше всего патронов при 72 кадрах в секунду. MutuTutu составил целую таблицу с оптимальными показателями fps для разных пушек.

PUBG Corporation пока не прокомментировала открытие энтузиастов.

 

Поддержи Стопгейм!

PUBG: Battlegrounds

Платформы
PC | PS4 | PS5 | XONE | XBOXSX
Жанры
Дата выхода
21 декабря 2017
1.1K
3.0
1 049 оценок
Моя оценка

Лучшие комментарии

Все разработчики знают, что привязка чего-либо к фреймрейту — плохо, но это самый простой вариант, поэтому он никак не умрёт :)
Вообще разрабам стоит уже прекратить привязывать вообще что-либо в сетевой игре к фреймрейту, ибо то челики в фолыче 76 бегают смотря в пол, то теперь в пабге будут подбирать оптимальную пушку для своего фпс
Не думаю, что разработчики делают это намеренно. Тут либо технические ограничения, либо последствия криворукости. С:
Когда ютюбер сделал для игры больше, чем сами разработчики…
а я ломал голову, почему после апгрейда ПК, у меня появились проблемы с отдачей и механикой всей стрельбы.
потому что в движках Анрил и Юнити основная единица измерения времени — это кадр игры. Большинство скриптов пишутся в цикле Update, который отрабатывается каждый кадр игры.

Есть конечно другие циклы, например FixedUpdate. Его частоту технически можно «регулировать» исходя из значения текущего ФПС, но для разрабов ПУБГ это сложно.

В Фортнайте и анриле на том же движке таких проблем так то нет :)
В Vanguish так же было, при отключении вертикальной синхронизации даже на средней сложности враги рвали Сэма в клочья пулемётными очередями из пистолетов.
Не так уж и легко сделать. Привязка к фреймрейту помогает при отсутствии времени или при нежелании заморачиваться)
Как (начинающий) разработчик, заявляю: это очень просто и, на первый взгляд, удобно. И делается это в самом начале, потому что дельта времени из формулы участвует потом во всех прочих вычислениях игровой логики. И когда этой самой логики уже целая игра, менять всю формулу — это потенциально опасно для всей игры, то есть требует тестирования, а значит и значительно удорожает производство патчей (если речь о крупных студиях). Потому исправления подобной ерунды и встречаются не очень часто, но таки встречается.
А зачем вообще хоть что-то привязывать к фреймрейту?
Там ещё скорость перезарядки, вроде бы, тоже от FPS зависела.
Так то это проблема огромная. Допустим я не могу в стабильный фпс, и все, вся стрельба у меня поломана, когда другие прошаренные будут лочить игру на нужном фпс и бегать с нужной пушкой.
мне поэтому Unity и не нравится. Там каждый раз веолиспед придумывыть надо — с одной стороны, Update зависит от FPS и его «не следует» использовать для работы с физикой и тайм-депендант вещами, с другой стороны — FixedUpdate, который имеет независимый таймер, исполняется ДО обсчета физики движком. А что если нам нужна FPS независимая физика? ай яй :D
Пруф — FixedUpdate: FixedUpdate is often called more frequently than Update. It can be called multiple times per frame, if the frame rate is low and it may not be called between frames at all if the frame rate is high. All physics calculations and updates occur immediately after FixedUpdate. When applying movement calculations inside FixedUpdate, you do not need to multiply your values by Time.deltaTime. This is because FixedUpdate is called on a reliable timer, independent of the frame rate.

Анрил позволяет вводить свои таймеры в обход базовому тику и привязывать их к чему хочешь. Например GetWorldDeltaSeconds может отдавать время «игрового мира» если мы вдруг захотим ускорять\замедлять события ака макс пейн
Самое веселое в том, что даже при привязке фпс к тикрейту можно сделать имитацию, что это не так. И она даже будет прозрачной до момента, когда фпс < выстрелы в секунду.
Я и говорил про ПК версию, по привычке выключил вертикалку в настройках, зная что это консольный порт, и офигел от того как меня рвали как Тузики грелку на обычной сложности.
это костыль которым пытаются закрыть другие проблемы, но вот ирония, он порождает новые
Читай также