Новая система передвижения и синхронизации
Друзья!
Несомненно, вы с нетерпением ждете, когда на боевых серверах появится переработанная система передвижения и синхронизации. Это произойдет уже с ближайшим обновлением, а сегодня мы расскажем, как именно был улучшен столь важный аспект игры.
Подробности
Движение является ключевой игровой механикой в шутерах, особенно в сетевых, где игра обрабатывает в режиме реального времени перемещение не одного, а множества игроков одновременно. При этом важно, чтобы изменение положения персонажей в пространстве происходило синхронно для всех участников матча. Именно за это и отвечает система передвижения, работа которой обеспечивается благодаря постоянному обмену данными между игровыми клиентами и сервером.
Для начала расскажем, как работала старая система. Координаты игрока на карте и вектор его движения отправлялись клиентом на сервер, который на основании особых расчетов "предугадывал" дальнейшее смещение персонажа. Результат расчетов отображался у других пользователей, однако в ряде случаев могло происходить несоответствие отображаемого и фактического положения игрока.
Работы над новой системой заняли длительное время, так как это — очень большая и сложная структура. Некоторые подводные камни, с которыми сталкивалась команда разработки, было невозможно предусмотреть на этапе планирования. Затронуты практически все ключевые игровые механики, которые необходимо было перепроверить, а некоторые — переработать с нуля.
Теперь во время перемещения игроков вместо координат и вектора движения генерируются специальные команды, одинаковые для клиента и сервера — а значит, итоговые позиции игровых персонажей будут абсолютно идентичны для всех пользователей.
Чтобы новые алгоритмы заработали, потребовалось произвести изменения и в других аспектах клиент-серверного взаимодействия. В частности, уменьшились задержки при передаче данных между клиентом и сервером. Также изменения затронули физику игровых персонажей. Результат ее симуляции стал одинаков как в клиенте, так и на сервере — что значительно снизило вероятность непрохождения урона.
Для тестирования новой системы передвижения мы приглашали опытных игроков, которые проверяли все известные случаи с "телепортами" и ситуации, когда "не проходил" урон.
Новая система передвижения позволит пользователям наслаждаться игровым процессом в полной мере, а дизайнерам уровней — создавать более тонкую геометрию игровых карт, из-за которой ранее и происходили проблемы.
Надеемся, вы по достоинству оцените изменения!