Разработка AR-мультиплеерного взаимодействия в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Разработка AR-мультиплеерного взаимодействия в мобильном приложении
Сложный
от 2 недель до 3 месяцев
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Разработка AR-мультиплеерного взаимодействия в мобильном приложении

Два человека в одной комнате видят один и тот же AR-объект с разных углов. Звучит просто. На практике — это синхронизация AR-пространств двух устройств, каждое из которых живёт в своей системе координат, плюс latency сети, плюс drift позиционирования. Без правильной архитектуры игровая фигура у первого игрока будет в метре от того места, где её видит второй.

Shared AR: синхронизация пространства

ARKit — Collaborative Session. С iOS 13 ARKit поддерживает ARCollaborationData — бинарные пакеты с feature points и anchor информацией, которыми устройства обмениваются напрямую. Через MultipeerConnectivity (Bonjour, peer-to-peer Wi-Fi/Bluetooth) или через собственный relay-сервер. Каждое устройство строит общую карту пространства, объекты на ARAnchor синхронизируются автоматически.

// Отправляем collaboration data другим участникам
func session(_ session: ARSession, didOutputCollaborationData data: ARSession.CollaborationData) {
    let encoded = try? NSKeyedArchiver.archivedData(withRootObject: data,
                                                     requiringSecureCoding: true)
    sendToPeers(encoded)
}

Ограничение: работает только iOS–iOS, нет Android. Для кроссплатформы нужно другое решение.

ARCore — Cloud Anchors. Google предоставляет серверную инфраструктуру: hostCloudAnchor() загружает feature map якоря в облако, возвращает cloudAnchorId. Второй пользователь вызывает resolveCloudAnchor(cloudAnchorId) — получает тот же якорь в своём пространстве. Через него синхронизируем позиции всех shared-объектов. Работает iOS (ARCore SDK for iOS) ↔ Android.

Unity + Photon + ARDK (Niantic Lightship). Для геймдев-проектов часто правильнее взять Niantic Lightship ARDK — нативная поддержка shared AR spaces, мультиплеер через Photon, кроссплатформа. Но это Unity, не нативная разработка.

Сетевой стек для AR-мультиплеера

AR-объекты в реальном времени требуют низкой latency. Архитектура:

Peer-to-peer (локально, одна сеть). MultipeerConnectivity (iOS) / Wi-Fi Aware (Android 8+) / Bluetooth GATT. Latency 10–50 мс, без сервера. Отлично для настольных игр в одной комнате, образовательных приложений. Проблема: NAT traversal при переходе в интернет.

Relay-сервер. WebSocket или WebRTC Data Channels через собственный сервер или Firebase Realtime Database. Latency 50–200 мс в зависимости от географии. Firebase хорош для прототипа, custom WebSocket нужен при высокой нагрузке (>100 одновременных участников в сессии).

State synchronization. Два подхода: State Sync (сервер — source of truth, все клиенты синхронизируют полное состояние) и Delta Sync (передаём только изменения). Для AR-объектов с высокой частотой обновления позиции — Delta Sync с интерполяцией на клиенте (Entity Interpolation / Dead Reckoning).

Синхронизация физики и взаимодействий

Если AR-объекты имеют физику (шарик катится, кубики падают) — нужна авторитетная физическая симуляция. Варианты:

  • Server-authoritative: сервер (headless) симулирует физику, клиенты получают состояния и интерполируют. Исключает читерство, требует мощного сервера
  • Client prediction + rollback: клиент предсказывает результат локально, сервер подтверждает или откатывает. Сложнее в реализации, но лучше по UX

Для casual AR-игр достаточно client-side физики с периодической синхронизацией через state snapshot.

Тестирование AR-мультиплеера

Нельзя полноценно протестировать в симуляторе — нужны реальные устройства в реальном пространстве. Настраиваем CI/CD пайплайн с Xcode Cloud / Firebase Test Lab, но финальное QA — физически, с несколькими устройствами в помещении. Метрики: latency позиции объекта между устройствами, рассинхрон якорей, поведение при потере и восстановлении соединения.

Сроки: базовый shared AR с Cloud Anchors для двух игроков в одной локации — 4–7 недель. Мультиплеерная AR-игра с серверной синхронизацией, несколькими комнатами и физикой — 3–6 месяцев. Стоимость рассчитывается индивидуально.