Новая система передвижения — уже в игре
Бойцы!
Рады сообщить, что после тщательного тестирования и исправления ключевых ошибок новая система передвижения и синхронизации официально запущена на основных серверах Warface. Это означает, что теперь вы сможете оценить ее работу во всех игровых сессиях.
включена в 100% игровых сессий!
Подробности
Официальный запуск новой системы передвижения означает, что она включена в 100% боев. Теперь позиции персонажей стали абсолютно идентичными для всех пользователей, уменьшились задержки при передаче данных между клиентом и сервером, а также значительно снизилась вероятность непрохождения урона. Стали неактуальными и некоторые другие проблемы. Например, ошибка, из-за которой игрок вследствие определенных манипуляций с ящиками мог оказаться на стартовой точке своей команды, или ситуация, получившая в сообществе название "Проблема F12". В целом система стала более защищенной в отношении внешних угроз.
С официальным запуском работы над новой системой передвижения не закончатся. Мы планируем и дальше пристально следить за ее функционированием, исправлять мелкие недочеты и оптимизировать систему. В числе ближайших вопросов, которые требуют особого внимания:
- улучшение ситуации для игроков с нестабильным интернет-соединением;
- повышение плавности синхронизации — устранение микро-задержек во время передвижения, которые ощущаются, как кратковременная остановка бойца на доли секунды.
Сравнение систем
Старая система ("система сетевого сглаживания") работала на основе предположений клиента игры о дальнейших действиях персонажей внутри игровой сессии. Она старалась предугадать действия игроков, опираясь на статистику и прежнее поведение бойцов, за счет чего отображала другим игрокам действия, которые персонажи должны были совершить по ее мнению в следующее мгновение.
Приемлемой рассинхронизацией между клиентом и сервером ранее считалось расстояние до полуметра (не постоянное, а в короткие промежутки времени). В такой ситуации игровой процесс выглядел корректно и плавно — "телепорта" не происходило. Хотя из-за этой разницы могли наблюдаться случаи "непрохождения урона".
Были и другие ситуации, когда фактическое поведение игрока слишком значительно отличалось от предположений игрового клиента. Тогда система понимала, что ошиблась, и пыталась исправиться — резко перемещала игрока в корректную точку, иными словами, случался "телепорт". В среде разработки это называется "ресинк".
В отличие от старой системы, новая синхронизация не допускает предположений, благодаря гораздо более активному общению между сервером и игровыми клиентами. В актуальных расчетах наблюдается рассинхронизация всего на 1-2 миллиметра практически в любой момент времени. Изредка эта разница достигает 3-5 миллиметров — и это огромная победа!
Более того, само понятие "ресинк" стало неактуальным в том смысле, в котором мы употребляли его ранее. Сейчас оно приобретает совсем иной характер, ведь корректировка измеряется в миллиметрах, но никак не в метрах.
Обмен данными между клиентом и сервером
В новой системе сервер гораздо чаще (десятки раз в секунду) обменивается данными с клиентом. Благодаря этому значительно возрос уровень взаимодействия между клиентской и серверной частями. Но вместе с тем выросла и важность самого процесса обмена информацией — теперь от частоты и целостности передаваемых данных зависит больше, чем раньше.
Если интернет-соединение между клиентом и сервером окажется плохим, часть пакетов с данными будет теряться или задерживаться, что скажется на качестве работы клиента. Проявляться это может, как еле заметные (или вовсе незаметные, но ощущаемые) притормаживания — будто движению персонажа что-то мешает, и он пытается перемещаться в плотной, густой среде. Сейчас разработчики стараются лучше оптимизировать игровой процесс, чтобы избавиться от такого эффекта. Но следует понимать, что ключевым фактором здесь является качество интернет-потока по маршруту "клиент — провайдер — сервер".
Крайне важна не только ширина интернет-канала или скорость передачи, проверяемая различными интернет-тестами, но и стабильность соединения! Стабильность — это то, на сколько равномерно (без резких скачков) происходит передача пакетов между клиентом и серверами игры. При нестабильном подключении данные могут передаваться с потерями — обычно такое незаметно в повседневной работе и отдыхе, но сказывается в ситуации, когда необходим постоянный микрообмен данными с точностью до миллисекунды.
Очень важно отличить сетевые проблемы провайдера от серверных проблем игры. Разобраться в этом поможет техническая поддержка проекта. А узнать больше подробностей о сетевом соединении вы можете в специальной статье.
Новая система передвижения проходила обкатку на ПТС в несколько этапов, в течение которых удалось выявить и устранить ряд недочетов в ее работе. Подробнее об этапах запуска системы вы можете узнать из отдельной публикации.
Надеемся, вы по достоинству оцените изменения и в полной мере сможете насладиться игровым процессом!