Краткое содержание
Платформе требовалось объединить в одном продукте просмотр игр, идентификацию игроков и игру в реальном времени.
Решение стало модульной платформой онлайн-игр с каталогом, онлайн-сессиями для нескольких игроков и общими аккаунтами.
Платформа создана, чтобы обеспечить игрокам понятный путь от поиска игры до многопользовательской игры.
История клиента
Клиент - платформа онлайн-игр из Греции. Она обеспечивает доступ к браузерным играм и поддерживает многопользовательскую игру, аккаунты игроков и функции сообщества.
Названия игр, комнаты и личности игроков должны быть связаны между собой, пока игроки просматривают игры, присоединяются к комнатам и играют вместе.
Запрос был простым: обеспечить многопользовательскую сеть с низкой задержкой в реальном времени, удобный доступ с устройств игроков, общие сервисы идентификации и безопасную серверную инфраструктуру с документацией и поддержкой развертывания.
Решение было создано как модульная платформа с каталогом игр и лобби. В нее также вошли синхронизированный игровой экран, модули подбора игроков, настройки комнат, результатов и таблиц рейтингов.
Особое внимание уделялось понятным этапам, ранним предварительным версиям и документации, чтобы команда клиента могла самостоятельно управлять системой.
Клиент хотел
- Поддерживать многопользовательский режим с низкой задержкой через WebSocket или аналогичный протокол
- Обеспечить доступ из браузера, мобильного интернета, мобильного приложения или нескольких платформ
- Обеспечить аккаунты, аутентификацию, профили и общую идентификацию
- Обеспечить безопасную инфраструктуру, поддержку развертывания и понятную документацию
Почему готовое ПО не подошло
Готовые платформы поддержки игроков в основном предназначены для поддержки клиентов игровых студий и издателей, а не для объединения просмотра игр, комнат, синхронизированной игры и соревнований в одном продукте. Требовалась индивидуальная платформа, объединяющая игровой процесс с аккаунтами, подбором игроков, рейтингами и другими особенностями игрового сервиса клиента.
Обзор проекта
Решение было построено вокруг каталога игр и лобби , которые служат игрокам единой точкой доступа к доступным названиям, описаниям и комнатам. В каталоге отображаются загруженные игры и статус комнат, а публичные и приватные комнаты делают доступ понятным.
Для игры в реальном времени был создан синхронизированный многопользовательский экран. socket.io (сетевая платформа Node.js для работы в реальном времени) и WebSocket передают состояние игры, позиции игроков, игровые объекты и сообщения чата между сессией и ее участниками.
Платформа построена вокруг общих аккаунтов, аутентификации и профилей. Благодаря этому личность игрока управляется в одном месте для просмотра игр, подбора игроков, онлайн-сессий и результатов.
Подбор игроков и настройка комнат были выделены в отдельный модуль для рейтингов игроков, подбора участников, видимости комнат и списков игроков. Поэтому платформа поддерживает как открытые сессии, так и приватные комнаты.
Платформа включает соревновательные функции. После игры отображаются результаты, статистика игроков и рейтинги.
Для достижений и наград предусмотрен отдельный раздел наряду с результатами соревнований, а документация и поддержка развертывания дают команде клиента понятный способ управления системой.
Основные реализованные функции
- Каталог браузерных игр и лобби
- Синхронизированные многопользовательские сессии в реальном времени
- Публичные и приватные комнаты
- Аккаунты и аутентификация игроков
- Профили и общие сервисы идентификации
- Подбор игроков на основе рейтинга
- Игровой чат и статус повторного подключения
- Статистика игроков и таблицы рейтингов
- Достижения и награды