Valorant 11890
Аватар Evernews Evernews

Высокий тикрейт и собственный провайдер: как работает сетевая часть Valorant

20
0
Поделиться
Телеграфировать

С тикрейтом 128 совпадение состояний мира на клиенте и сервере почти идеальное.

Высокий тикрейт и собственный провайдер: как работает сетевая часть Valorant

В киберспортивном шутере Valorant студия Riot Games хотела добиться максимально высокого тикрейта: сервер обсчитывать данные игрового мира 128 раз в секунду. Чтобы достичь этого, разработчикам пришлось создать собственный провайдер.

А вот еще история
Драйвер и приватность: как устроен античит Valorant

Как правило, объясняют сотрудники Riot, мультиплеерные игры работают так: компьютер игрока отправляет сигнал, он проходит через ряд узлов-маршрутизаторов, а затем попадает на сервер игры. Если на одном из узлов возникнут проблемы со связью, разработчики ничего не смогут с этим сделать.

[Провайдер] Riot Direct хорош тем, что им владеет Riot. Когда обнаружим брешь в покрытии, сможем расширить свою сеть в регионе. К примеру, если вы живете в Марокко, то рядом с вами нет наших серверов.

И мы такие думаем: «Ага, здесь находится много пользователей, и нам хотелось бы сделать игру приятнее для них». И мы можем расширить нашу сеть, вложиться в то, что поможет нашим игрокам.

Дейв Хейронимус, технический директор

Повышение качества связи и снижение пинга поможет разработчикам справиться с «преимуществом нападающего». Это ситуация, в которой один игрок неожиданно появляется — например, из-за угла — в зоне видимости другого игрока, а тот его еще не видит из-за лагов.

Такие задержки негативно сказываются на геймплее: по игроку могут открыть огонь еще до того, как он поймет, что противник где-то рядом. Наличие собственной сетевой инфраструктуры позволяет разработчикам решить эту проблему.

Причина данной задержки в перемещении сетевого сигнала, который переходит от компьютера игрока А к серверу игры, а затем доходит до игрока Б. Это длинная петля.

Проходит много времени, прежде чем Б узнает о существовании А. Поэтому для поддержания соревновательных условий нам важно укоротить данную петлю.

Дэвид Стрейли, ведущий инженер

Кроме того, отмечает Стрейли, здесь важную роль играет тикрейт сервера — частота, с которой он обсчитывает изменения в игровом мире и обрабатывает данные с клиентов. Первая версия Valorant работала с тикрейтом 64 и этого было недостаточно.

А вот еще история
Игроки в Valorant считают, что античит влияет на производительность других игр

С таким тикрейтом клиент и сервер могли достаточно сильно рассинхронизироваться. Серверу приходилось проводить дополнительные вычисления и отматывать время назад, чтобы понять, была ли у игрока возможность куда-то попасть.

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

Дэвид Стрейли, ведущий инженер

Повысив тикрейт вдвое, разработчикам удалось достичь почти полной синхронизации между клиентом и сервером. Во многом это стало возможным благодаря собственной инфраструктуре: Riot может гарантировать, что на канале между игроком и сервером будет минимум технических проблем.

Если связь все-таки недостаточно хороша, то серверная часть Valorant умеет сглаживать движения игрока с низким тикрейтом так, чтобы у других игроков все выглядело нормально.

Теги: Valorant, Игры, Технологии
Аватар Evernews
Evernews
8066 подписчиков