Еженедельный Рапорт #47 — Слияние регионов — World War 3 — Official Website
Weekly Report

Еженедельный Рапорт #47 — Слияние регионов

03/02/2020

Всем привет!

Друзья, хотим поделиться с вами некоторыми планами по улучшению игрового опыта и, в частности, объединению игроков. Как вы знаете, в настоящее время в WW3 представлены три региона, которые автоматически назначаются в зависимости от вашего местоположения: регион Северной и Южной Америки, Европы и Африки и регион Азии и Океании. Вы не обязаны играть в своем регионе, но переключаться между ними не совсем удобно, плюс из-за отсутствия профиля в других регионах, вам придется снова всё открывать, если решитесь на смену, чтобы поиграть с друзьями или найти игру с бо́льшим количеством игроков. Мы меняем данный способ и хотим озвучить подробности, наши цели, обозначить предпринимаемые шаги, чтобы это стало лучшим решением текущих и будущих проблем.

Начало

Прежде всего нужно пояснить, откуда пошло деление по регионам. На старте раннего доступа мы ожидали, что трафик может стать проблемой, и решили разделить нагрузку между тремя различными зонами, дополнительно предоставляя лучший пинг для всех. К сожалению, этого оказалось недостаточно — мастер-серверы были перегружены, и нам пришлось переделывать с нуля некоторые части, чтобы облегчить последствия приходящего трафика и обеспечить безопасность всей системы в будущем для ещё бо́льших нагрузок, когда они появятся (привлечением игроков активно займёмся после полноценного релиза).

В настоящее время при невысоком трафике и с уже надежным мастер-сервером отпала необходимость в делении по регионам. Многие игроки предпочитают играть в «густонаселенных районах», что, в свою очередь, делает прочие ещё менее населенными. Кроме того, переключение регионов осуществляется вне игры, и не все об этом знают, да и новый дизайн библиотеки Steam сделал такую возможность менее заметной. Вот почему мы решили провести слияние сейчас, поскольку ничто этому не мешает, кроме слияния профилей, о которых позже.

Как это будет работать?

Сейчас мы завершаем необходимые испытания слияния трех баз данных. Сперва наш инструмент проверяет все три региона для каждого SteamID, выбирает тот, где было сыграно больше времени (учитывается заработанное количество XP), и сохраняет конфиги отсюда. Мы не можем объединить все настройки кастомизации в одну, поэтому нам нужно выбирать. После инструмент собирает все заработанные XP и валюту, складывая их вместе, так что все сыгранные часы отражаются в новом объединенном профиле. Единственная часть профиля игрока, в которой появятся какие-то потери, — статистика. По разным причинам нам приходится выбирать один из наборов статистики. Выбор падёт на наиболее часто используемый профиль — его мы и скопируем в новый. Знаем, что далеко не всем это важно, и кто-то будет рад начать всё сначала, но есть игроки, всерьез переживающие за свои профили. Конечно, мы могли бы просто взять какой-то один профиль или даже провести полномасштабный вайп (что намного проще для нас), но считаем, что вышеупомянутое слияние устроит подавляющее большинство.

Что изменится?

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

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

Влияние на сетевой код

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

В самом начале разработки нам пришлось принять решение о преимуществе пинга и о том, какой игрок с каким пингом должен иметь больше шансов выиграть в перестрелке один-на-один. Кому-то это может показаться простой задачей, но по факту многие люди играют с неудовлетворительным интернет-соединением, играют с друзьями на разных континентах или просто находятся в удаленном месте. Было решено, чтобы люди с более низким пингом имели преимущество перед теми, у кого пинг выше 150 мс — их выстрелы и попадания будут засчитываться в первую очередь. Думаем, что граница 150 мс — это хороший баланс между честностью и точностью.

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

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

Ко всему прочему, мы продолжаем работу с компенсацией лагов и другими техническими приемами, реализованными в сетевом коде World War 3. Уверены, что в итоге мы сможем предоставить один из лучших игровых опытов на современном рынке.

Когда?

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

До скорых встреч, друзья!