Кроссплатформенный экшен на базе Unity
UnityC#.NET

Кроссплатформенный экшен на базе Unity

Масштабируемая архитектура и запуск новых режимов за 2 недели

Ключевая механика — смена времени суток

В основе лежит механика PvPvE

Игровой продукт от идеи до релиза

Разработка игрового клиента

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

Проектирование архитектуры

Команде предстояло заложить надёжный фундамент для серверной и клиентской частей проекта. Главное требование к базовой архитектуре — гибкость и возможность масштабирования

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

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

Публикация продукта

Финальным этапом стала подготовка готовой игры к выходу на массовый рынок. Проект требовалось успешно сертифицировать и выпустить сразу в трёх главных цифровых магазинах — App Store, Google Play и Steam

Универсальный клиент и надёжная серверная платформа

Все технические решения спроектированы для стабильной работы кроссплатформенного мультиплеера и быстрого масштабирования контента

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

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

Особенности проекта

Ключевые технические вызовы и решения проекта

01

Высокие нагрузки

Всю логику матчмейкинга, игровых сессий и сбора статистики мы разделили на независимые блоки. Для стабильной работы при большом наплыве пользователей мы внедрили микросервисную архитектуру (Docker Swarm + nginx) с балансировкой нагрузки

02

Мобильный интернет

Чтобы скрыть высокий пинг (до 150–200 мс) на смартфонах, мы настроили гибридную синхронизацию

03

Умные враги

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

04

Кроссплатформа

Благодаря условной компиляции и правильным абстракциям для управления и графики, мы смогли сохранить 95% общего кода. Это сильно упрощает поддержку проекта и выпуск обновлений сразу на всех платформах

Хотите реализовать похожий проект?

Мы запускаем кроссплатформенные multiplayer-игры с нуля: от архитектуры до публикации в сторах

Результат

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

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

Клиент

Unity, C#, .NET, fork Mirage (networking)

Сервер

.NET, GRPC, Protobuf, TCP/UDP sockets

Инфраструктура

Docker, Docker Swarm, nginx

База данных

PostgreSQL (профили, статистика), Redis (кеширование, сессии)

DevOps

CI/CD, мониторинг, логирование

Дополнительно

NuGet, Addressables, ScriptableObjects для гибкой настройки геймплея