Unity 6.3
0 онлайн 55 гостей 3 в системе
Вход
Введение в сетевое взаимодействие многопользовательских игр Глава 9 из 11 Оригинал, стр. 77

Multiplayer Services

Multiplayer Services

СОЗДАЙТЕ ОСНОВУ

ВОВЛЕКАЙТЕ ИГРОКОВ

УЧЁТНЫЕ ЗАПИСИ

ИНСТРУМЕНТЫ АНАЛИТИКИ

→ Authentication → Cloud Save

→ Analytics → Data Explorer → Funnels → Event Manager → Event Browser → SQL Data Explorer

МНОГОПОЛЬЗОВАТЕЛЬСКИЕ ИГРЫ → Game Server Hosting (Multiplay) → Matchmaker → Lobby → Relay → Netcode

НАСТРОЙКА И УПРАВЛЕНИЕ → Remote Config → Cloud Code → Cloud Content Delivery → Economy

DEVOPS → Version Control → Build Automation

ВОВЛЕЧЕНИЕ ИГРОКОВ → A/B Testing → Push Notifications → Game Overrides → User Generated Content

РАЗВИВАЙТЕ СВОЮ ИГРУ МОНЕТИЗАЦИЯ → Рекламные сети Unity и ironSource → Mediation (Unity LevelPlay) → IAP → Offerwall

ПРИВЛЕЧЕНИЕ ПОЛЬЗОВАТЕЛЕЙ → Ad ROAS campaigns → IAP ROAS campaigns → Инструменты тестирования

МОНИТОРИНГ ПРОИЗВОДИТЕЛЬНОСТИ → Cloud Diagnostics → Cloud Diagnostics Advanced

РЕШЕНИЯ ДЛЯ СООБЩЕСТВА → Text Chat (Vivox) → Voice Chat (Vivox) → Friends and Leaderboards (бета)

Unity предоставляет ряд сервисов, упрощающих разработку сетевых многопользовательских игр. Начните с документации по пакету Multiplayer Services: он упрощает управление зависимостями между многопользовательскими сервисами. С его помощью можно:

- Быстро добавлять в игру многопользовательские возможности на базе Unity Gaming Services: Lobby, Relay, Distributed Authority, Matchmaker и Multiplay Hosting. - Использовать новую систему сеансов как единый облачный уровень для многопользовательского игрового цикла: объединять игроков и управлять общим состоянием сеанса и участников.

- Создавать и администрировать сетевые сеансы P2P, Dedicated Game Server и Distributed Authority. Игроки могут подключаться через Matchmaker, по коду присоединения или из списка активных сеансов. Кратко рассмотрим каждый сервис.

Matchmaker Подбор игроков соединяет участников друг с другом или с игровыми сеансами по заданным критериям, например уровню навыка или региону, чтобы матчи были сбалансированными и увлекательными. Интеграция сервиса Unity Matchmaker включает несколько этапов:

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

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

Учитывайте эти факторы, чтобы Unity Matchmaker формировал честные и конкурентные матчи.

Lobby Лобби - это предыгровая область, где игроки собираются, настраивают параметры и готовятся к началу матча. Сервис Lobby помогает участникам находить друг друга и подключаться в различных многопользовательских сценариях. Например:

- Просматривать доступные игровые сеансы, выбирать нужный и присоединяться - Передавать другу код присоединения, чтобы он мог подключиться к вашему сеансу

- Использовать Quick Join, чтобы найти любой доступный матч и сразу войти в него - Создавать общедоступное или закрытое лобби и приглашать друзей из внутриигрового списка

- Размещать лобби на игровом сервере, управляя доступом к серверному сеансу - Искать лобби по заданным требованиям, например режиму игры или типу карты

Пример Game Lobby показывает, как с помощью пакетов Lobby и Relay реализовать типичный игровой зал ожидания, включая голосовой чат Vivox. Игрок может создать лобби, а другие - найти его в общедоступном списке или подключиться по коду. Затем участники соединяются через Relay и используют Unity Transport для базовой связи в реальном времени.

Relay Unity Relay упрощает подключение нескольких игроков с помощью кодов присоединения. Создав сеанс, хост получает уникальный код и передает его друзьям или товарищам по команде. Участники используют код для подключения. При этом конфиденциальные данные, например IP-адреса, остаются скрытыми.

В многопользовательских P2P-играх подключение клиентов осложняют NAT (Network Address Translation) и межсетевые экраны. Прямое соединение часто требует сложной настройки сети и раскрывает IP-адреса игроков, создавая риски для безопасности и конфиденциальности.

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

После создания подключения Relay выдает код присоединения.

Подробнее см. в руководстве по началу работы с Unity Relay.

Multiplay Hosting Multiplay Hosting берет на себя сложности масштабного запуска и эксплуатации инфраструктуры, позволяя команде сосредоточиться на игровом опыте. Сервис также позволяет:

- Отслеживать состояние серверов и другие аналитические данные . - Обновлять серверы без простоя

- Размещать игроков на серверах с наилучшим качеством обслуживания по данным QoS - Контейнеризировать сборки с помощью Docker и реестра контейнеров Multiplay Hosting

Vivox Vivox улучшает совместную и соревновательную игру благодаря внутриигровому голосовому и текстовому чату. Это управляемое облачное решение упрощает интеграцию общения и предоставляет средства доступности и соблюдения нормативных требований: преобразование речи в текст, фильтрацию чата и другие возможности. Vivox обеспечивает общение игроков на разных платформах независимо от того, создана игра в Unreal, Unity или на собственном движке. Подключите Vivox к игре и настройте проект в Unity Dashboard. Сервис поддерживает неограниченное число пользователей в 2D- и 3D-каналах, регулировку громкости, отключение звука и управление каналами. В этой сессии GDC показано, как несколько многопользовательских сервисов были интегрированы в демоверсию Megacity Metro.