Разработчики MMORPG Pax Dei рассказали о шардах, серверах, зонах и вместимости локаций

Разработчики MMORPG Pax Dei рассказали о шардах, серверах, зонах и вместимости локаций
Большое интервью о том, как игроки будут взамодействовать друг с другом в открытом мире игры

Разработчики Pax Dei из студии Mainframe Industries опубликовали большой FAQ, где подробно рассказали о шардах, серверах и зонах в своей грядущей MMORPG.

Знакомство с шардами, серверами и зонами Pax Dei

Как вы, возможно, знаете, мир Pax Dei состоит из нескольких регионов (Галлия, Анатолия, Готия...), разделенных на разные провинции (Ансьен, Мерри, Керис и т.д.). Провинция — это очень большая географическая область с несколькими долинами и большими горными хребтами. В центральных провинциях существует несколько долин, которые мы называем домашними, и именно там вы можете построить свой дом. Разумеется, также существуют подземелья и пещеры, которые в основном существуют под поверхностью.

Но как эти географические особенности отображаются на реальных физических серверах, и как они влияют на игровой процесс?

Миры или шарды

Первым выбором, с которым вы столкнетесь при создании нового персонажа в Pax Dei, будет выбор конкретного экземпляра Мира, который также обычно называют шардом. Несмотря на то, что пространство Pax Dei географически огромно, оно может вместить только определенное количество игроков. Именно поэтому мы создаем несколько копий мира, каждая из которых самостоятельная, но полностью независимая от других с точки зрения реального населения. Каждую такую копию мы называем шардом.

По нашим оценкам, в начале игры максимальное количество игроков на одном шарде будет составлять около 7 000 человек. Один шард работает полностью в пределах одного физического хостинг-центра в облаке. Мы будем запускать шарды в различных регионах по всему миру, например, в Северной Америке и Европе.

Факторы, которые станут в основном влиять на ваш выбор шарда, будут следующими:

  • Пинг до вашего основного игрового компьютера
  • Наличие свободных мест, поскольку некоторые шарды могут быть переполнены
  • Шарды, на которых уже играет много ваших друзей

Изображение

Зональные серверы

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

Изображение

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

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

Как упоминалось выше, зональный сервер — это выделенный Unreal сервер, который занимается моделированием небольшого участка мира. В конечном счете, он также может оказаться перегруженным слишком большим количеством игроков.

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

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

Изображение

Хранение данных

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

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

FAQ

Что является самой большой проблемой при работе над такой MMO, как Pax Dei?

Самая большая проблема заключается в том, насколько сложен стек технологий. Весь технологический стек состоит из различных компонентов, некоторые из которых являются компонентами сторонних производителей (например, Unreal Engine или PostgresDB), а другие полностью разработаны собственными силами. Большинство из них не предназначены специально для использования в MMO.

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

Наконец, тестирование MMO без реальных игроков затруднено, поэтому так важно раннее пользовательское тестирование.

Будут ли шарды для разных языковых зон или все игроки смогут играть вместе?

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

Мы также не хотим заставлять вас играть в определенном регионе. Мы имеем в виду, что если вы являетесь европейским игроком и хотите играть с друзьями в США, вам должно быть разрешено это делать (но вы должны понимать, что пинг будет высоким).

Будут ли у нас какие-то шарды, посвященные PvE без какого-либо PvP-взаимодействия?

Нет, на данный момент планируется, что все осколки будут идентичны.

Сколько игроков будет на шард?

Мы начнем с цели около 7000 игроков на шард (в 3-4 центральных провинциях). По мере того как мы подключаем к сети больше глубинных провинций, максимальная численность населения на осколок будет соответственно расти.

Как вы планируете избежать очередей, учитывая ожидаемый высокий спрос при запуске? 

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

Какие у вас планы по минимизации задержек (пинга) у игроков?

Шарды будут доступны в разных географических регионах, поэтому новые игроки смогут найти шард, географически близкий к ним. Более того, боевая система и типичные взаимодействия в MMO таковы, что они более терпимы к задержкам по сравнению с шутерами от первого лица.

Будет ли у вас еженедельное техническое обслуживание? Будет ли в каждом регионе соблюдаться часовой пояс по-разному?

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

Как вы будете управлять населением Миров? Планируете ли вы разрешить перенос персонажей?

Да, безусловно. Это необходимо для качества жизни игроков и управления населением.

Но давайте разобьем этот вопрос на разные случаи: перемещение персонажа из одного Мира в другой довольно тривиально, поэтому мы, несомненно, разрешим это (в качестве дополнительной услуги или бесплатно, если цель состоит в том, чтобы обесценить население данного мира).

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

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

Если я хочу играть с друзьями, как мы можем быть уверены, что окажемся в одном мире? Могу ли я присоединиться к ним, даже если их мир заполнен?

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

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

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

Как вы относитесь к сторонним программам и дополнениям?

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

Мы искренне надеемся, что в обозримом будущем мы сможем оказать вам ту поддержку, которую вы заслуживаете. Будьте уверены, мы будем держать вас в курсе и поделимся дополнительной информацией по мере ее поступления.

Будет ли когда-нибудь расширена вместимость шардов и зональных серверов?

Ограничения, упомянутые в вышеизложенном FAQ, действительны для Альфы и должны быть расширены ближе к релизу.

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

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

Если я играю в группе, какова вероятность того, что нас разделят на серверы разных зон?

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

Мы постараемся сделать так, чтобы все члены одной гильдии гарантированно находились в одном и том же экземпляре зоны. Таким образом, когда вы строите деревню и занимаетесь PvE в провинции heartland, вы никогда не пересечете границы зоны и будете находиться там вместе со всеми, с кем хотите играть.

Будут ли подземелья отдельными инстансами?

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

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

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

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

Что будет со зданиями, находящимися в стадии активного строительства?

Они мгновенно появляются во всех инстансах. На практике увидеть, как дом строится сам, можно будет относительно редко, но это может случиться.

Что насчет PvP-зон? Если есть ограничения, то что может помешать большим кланам легко использовать их для контроля над зоной?

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

Сможем ли мы видеть людей и взаимодействовать с ними, когда они находятся за границами зон?

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

Дизайн карты мира учитывает наличие зон, поэтому пересекать границы зон вы будете крайне редко. Следует отметить, что 90% границ зон проходят по таким элементам, как непроходимые горные вершины. Кроме того, зоны в целом достаточно велики: каждая провинция имеет площадь около 75-80 кв. км, и на нее приходится 7 зон. Таким образом, в зависимости от того, чем вы занимаетесь, вы можете играть часами и пересечь границу зоны всего пару раз.

Сколько шардов вы планируете открыть для Альфы?

Как минимум сервера для ЕС и обоих концов США. Однако это еще не подтверждено.

Игра:
-1
21:35
326
Len
Нет комментариев. Ваш будет первым!