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

Ход работы и реализованные решения
Команда агентства включала 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 (гибкая настройка геймплея).

