Перед агентством Soft Media Group была поставлена амбициозная задача: разработать динамичный кроссплатформенный экшен (игру) с элементами «королевской битвы» (Battle Royale) и командными режимами. Ключевая механика проекта — PvPvE (противостояние игроков друг с другом и с окружением), где пользователям ПК и мобильных устройств предстоит сражаться на одних серверах.

Задачи проекта

  • Создать единое кроссплатформенное приложение на базе движка Unity, стабильно работающее на ПК и мобильных устройствах.
  • Спроектировать надёжную архитектуру серверной и клиентской частей с возможностью масштабирования.
  • Выстроить масштабируемую backend-систему (серверную часть), готовую к высоким нагрузкам: быстрый подбор игроков, сбор статистики, профили пользователей, внутриигровой магазин.
  • Подготовить игру к выходу на массовый рынок — сертифицировать и выпустить в трёх главных цифровых магазинах: App Store, Google Play и Steam.
  • Заложить фундамент для быстрого внедрения новых игровых режимов.

Исходные данные и вызовы

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

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

Изображение предоставлено агентством Soft Media Group (Софт Медиа Групп) с сайта softmg.ru

Ход работы и реализованные решения

Команда агентства включала GameDev-разработчиков, backend- и frontend-инженеров, специалистов по инфраструктуре и DevOps (инженеров по автоматизации развертывания). Все технические решения спроектированы для стабильной работы кроссплатформенного мультиплеера и быстрого масштабирования контента.

1. Серверная инфраструктура

  • Настроена система динамического поиска и запуска выделенных серверов под каждую игровую сессию.
  • Созданы лобби для подбора игроков и балансировки команд.
  • Реализованы профили пользователей с подробной статистикой побед и системой рейтингов.
  • Внедрён виртуальный магазин с поддержкой личного инвентаря и косметических предметов.

2. Игровой клиент

  • Разработана единая кодовая база для полной совместимости мобильных устройств и ПК — сохранено 95% общего кода благодаря условной компиляции и правильным абстракциям для управления и графики.
  • Настроен мультиплеер с клиентским предсказанием для мгновенного отклика на действия и серверной валидацией.
  • Добавлена система лаго-компенсации для скрытия высокого пинга (до 150-200 мс) на смартфонах.
  • Создана модульная архитектура режимов, позволяющая быстро внедрять новые форматы через MVP-логику (минимально жизнеспособный продукт).

3. Геймплейные механики

  • Внедрены умные ИИ-противники (искусственный интеллект) с адаптивным поведением на базе кастомной навигационной сетки.
  • Настроена гибкая система оружия, баффов (временных усилений), выпадающих предметов и наград за достижения.
  • Реализована точная сетевая синхронизация статусных эффектов — ускорения, замедления и изменения урона.

4. Особенности проекта и преодоление сложностей

  • Высокие нагрузки: для стабильной работы при большом наплыве пользователей внедрена микросервисная архитектура (Docker Swarm + nginx) с балансировкой нагрузки. Вся логика подбора игроков, игровых сессий и сбора статистики разделена на независимые блоки.
  • Нестабильный мобильный интернет: настроена гибридная синхронизация, скрывающая высокий пинг на смартфонах.
  • Умные враги в сложном окружении: стандартные решения не подходили под уникальный левел-дизайн (дизайн уровней). Написана кастомная навигационная сетка, которая «видит» динамические препятствия и позволяет гибко управлять появлением монстров в реальном времени.
  • Универсальность для ПК и мобильных: благодаря правильным абстракциям удалось сохранить 95% общего кода, что сильно упрощает поддержку и выпуск обновлений сразу на всех платформах.

Результаты в цифрах и фактах

  • Стабильный кроссплатформенный экшен выпущен в трёх цифровых магазинах: App Store, Google Play и Steam.
  • Инфраструктура поддерживает более 100 одновременных сессий без потери производительности.
  • Задержка внутри региона не превышает 50 мс даже при пиковых нагрузках — гарантирован комфортный геймплей.
  • Внедрение новых игровых режимов занимает 2-3 недели благодаря грамотной и переиспользуемой архитектуре.
  • 95% общего кода сохранено для ПК и мобильных устройств — упрощена поддержка и выпуск обновлений.
  • Скрыт высокий пинг до 150-200 мс на смартфонах благодаря гибридной синхронизации.

Бизнес-эффект для заказчика

  • Гибкая технологическая база для быстрого развития игры — добавление новых механик, систем монетизации и выхода на другие рынки занимает недели, а не месяцы.
  • Снижение затрат на разработку — единая кодовая база для всех платформ уменьшает время на поддержку и выпуск обновлений.
  • Масштабируемая архитектура — проект готов к росту аудитории и добавлению нового контента без переписывания кода.
  • Успешная публикация в сторах — игра сертифицирована и выпущена в трёх главных цифровых магазинах, что открывает доступ к массовой аудитории.
  • Стабильная работа под нагрузками — микросервисная архитектура и балансировка обеспечивают комфортный геймплей даже при пиковых нагрузках.
  • Конкурентное преимущество — умные ИИ-противники и кастомная навигационная сетка выделяют проект на фоне аналогов.

Стек технологий

  • Клиент: Unity (игровой движок), C# (язык программирования), .NET (платформа разработки), fork Mirage (библиотека для сетевого взаимодействия).
  • Сервер: .NET, gRPC (протокол удалённого вызова процедур), Protobuf (формат сериализации данных), TCP/UDP (протоколы передачи данных).
  • Инфраструктура: Docker (система контейнеризации), Docker Swarm (оркестрация контейнеров), nginx (веб-сервер и балансировщик нагрузки).
  • Базы данных: PostgreSQL (реляционная база данных для профилей и статистики), Redis (хранилище данных в памяти для кэширования и сессий).
  • DevOps (инженеры по автоматизации развёртывания): CI/CD (непрерывная интеграция и доставка), мониторинг, логирование.
  • Дополнительно: NuGet (менеджер пакетов), Addressables (система загрузки ресурсов), ScriptableObjects (гибкая настройка геймплея).
Изображение предоставлено агентством Soft Media Group (Софт Медиа Групп) с сайта softmg.ru