ВОПРОС:
Как организована игра по сети (P2P) в For Honor?

ОТВЕТ:

Как работает система подбора игроков в For Honor? Что означают индикаторы, которые отображаются при подборе игроков?

Основная задача при подборе игроков состоит в том, чтобы как можно быстрее найти оппонентов и союзников, подходящих друг другу по уровню мастерства, при максимально возможной скорости соединения.
Мы считаем, что качество соединения - наиболее приоритетный параметр. После того как процесс подбора запущен, в течение 30 секунд мы ищем игроков с наиболее подходящим уровнем мастерства. Если команда не набрана, через каждые 30 секунд границы поиска расширяются. Если за 3 минуты подобрать игроков не удалось, процесс прекращается, чтобы игрок при желании начал его заново.

При подборе учитывается два типа параметров: неизменяемые и изменяемые (последние отображены на экране подбора игроков).

Неизменяемые параметры - это тип NAT и континент, где проживает игрок. А параметры, связанные с географическим положением (на континенте) и мастерством игрока, в процессе поиска могут меняться.

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

Кроме того, мы постепенно корректируем параметр, связанный с мастерством, для изменения границ поиска: сначала они строгие, затем средние, а затем расширенные. Прежде чем начать процесс подбора заново, проверяется возможность объединения игроков любого уровня мастерства.

Также в некоторых случаях мы проводим общий поиск для желающих сыграть в разные режимы - для более оптимального распределения пользователей и сокращения времени ожидания.
Например, игроки, желающие сыграть в "Уничтожение" и "Схватку" при запуске подбора окажутся объединены в группу "Смертельная схватка".
Если время ожидания превышает две минуты, изменяется параметр поиска, связанный с выбором режима.

Разумеется, принципы, по которым изменяются параметры поиска, основаны на данных, полученных в ходе бета-тестирования, и могут быть скорректированы по результатам первых недель после официального выхода игры.


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

В некоторых случаях в PVP-режимах "Захват территорий" и "Бойня" возникали так называемые "сессии-зомби": игроки становились участниками сессий, которые так и не начинались. В редких случаях подобные сессии копились, и с течением времени в них участвовало все больше людей. Именно из-за этой проблемы возникала та самая ошибка 40000004 Превышено время ожидания подключения к сессии. Кроме того, мы обнаружили неполадку, когда игроки, столкнувшиеся с ошибкой 400000004, не могли присоединяться к другому бою, не перезапустив игру.

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

В конечном итоге нам удалось понять, из-за чего возникала эта ошибка, мы исправили ее в последние дни закрытого бета-тестирования на PC. Соответствующие изменения планируются и для открытого этапа тестирования на PC, но на остальных платформах это будет сделано только после запуска игры. Игрокам, которые по-прежнему сталкиваются с ошибкой 400000004 во время открытого бета-тестирования, мы советуем закрыть, а затем повторно запустить игру. В данный момент эта ошибка появляется крайне редко, благодаря системе отслеживания, которая удаляет большинство "сессий-зомби", так что во время открытого бета-тестирования подбор игроков в режиме "Захват территорий" должен происходить без проблем. Мы просим прощения за доставленные неудобства.


Будут ли к началу открытого бета-тестирования и официальному выходу игры исправлены неполадки с соединением, которые случались у некоторых игроков во время закрытого бета-тестирования?

Одна из основных задач тестирований до выхода игры состоит в скорейшем выявлении и устранении неполадок. В ходе тестирования это сделать куда проще благодаря возможности выпускать обновления и вносить исправления в клиент игры на РС с помощью Uplay PC. Таким образом мы провели второе техническое тестирование. Закрытое бета-тестирование прошло еще более продуктивно благодаря активному участию игроков.

Во время закрытого бета-тестирования многие неполадки с соединением (задержки, потери соединения и др.) возникали в результате того, что система подбора игроков по регионам в некоторых случаях работала некорректно. Еще одной причиной стали попытки некоторых игроков, находящихся на разных континентах, войти в одну и ту же игровую сессию. Существенную часть проблем мы устранили вместе с серверным обновлением закрытого бета-тестирования. Но в ряде случаев главную причину тех или иных неполадок удалось выявить только сейчас, когда мы завершаем обновление для открытого этапа тестирования.

Игроки часто упоминают, что нередко в играх подобного типа ведущий игрок сессии пользуется определенными преимуществами. Но для For Honor мы создали собственную модель, которая отличается от общепринятой (P2P) - когда один из игроков выполняет функции ведущего (хоста). В нашем случае ведущий - это человек, который только приглашает других в игровую сессию. В классический модели от хоста зависит довольно многое: если он покинет бой, на короткий момент в игре возникнет пауза, пока не будет определен новый хост. После этого происходит синхронизация, и только потом игра может быть возобновлена.

Пользовательские клиенты синхронизируются друг с другом без выделенного сервера, хост (в привычном понимании) не требуется. Сигнал поступает от каждого из игроков всем остальным, и другим пользователям не нужно его обрабатывать. Наша система лучше приспособлена к изменениям условий, чем классическая модель P2P; кроме того, здесь отсутствует проблема получения хостом дополнительного преимущества. По завершении боя результаты поступают от каждого игрока в центр обработки данных, где происходит проверка. Также мы используем и другие системы, позволяющие своевременно выявлять возможные случаи мошенничества.



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


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

Тот, кто преждевременно покидает игру, теряет награды, которые полагаются за окончание боя (добычу, сталь, опыт, приказы, ресурсы армии и т. д.). Также это тормозит развитие героя. В For Honor гораздо выгоднее оставаться в игре до самого конца, даже шансы на победу крайне малы.

Вне зависимости от исхода боя вы зарабатываете столько же стали, а ваши шансы на получение добычи не уменьшаются, так что игроки, покидающие бой до его окончания, "наказывают" сами себя.

Впрочем, очевидно, что такой поступок вызывает неудовольствие других игроков, поэтому в данный момент мы прорабатываем систему штрафов за преждевременный выход из игры. Это нововведение появится в For Honor позже. В ходе закрытого бета-тестирования мы уже принимали подобные меры. Тем, кто покидал игру до ее окончания, засчитывалось поражение. Эта идея была высказана на форуме в первый день тестирования, и мы взяли ее на вооружение.