Пользуясь arclip.design, вы соглашаетесь, что Google Analytics и Amplitude собирают статистику использования сайта. Нажмите «Согласен», чтобы разрешить и запись сессий — она помогает нам находить, что исправить. Политика cookie

Мультиплеерная 3D-игра в браузере без своего сервера

Собираем 3D-игру на несколько человек, которая открывается по ссылке: игроки, точки появления, общие объекты и счёт — без своего сервера и почти без кода.

3 мин чтения

Обычно мультиплеер — это отдельный проект: сервер, комнаты, синхронизация, деплой. В ARClip комнаты держит платформа. Включаете мультиплеер — и все, кто открыл игру по одной ссылке, оказываются в одной сцене, с телефона или с компьютера.

Что берёт на себя платформа

  • Комнаты. В одной — до 30 человек. Когда она заполнится, следующие игроки попадут в новую.
  • Синхронизацию. Игроки видят друг друга, а общие объекты и физика совпадают у всех — без вашего кода.
  • Хостинг. Игра открывается по ссылке и QR-коду, а сервер, деплой и нагрузка — не ваша забота.

Шаг 1. Включите мультиплеер

Откройте Настройки проекта, нажмите + Добавить возможность и выберите Мультиплеер.

Шаг 2. Добавьте игрока и точки появления

На верхней панели нажмите Игрок. Это заготовка: каждый, кто откроет игру, получит свою копию. Копия ходит за камерой — где у человека камера, там его и видят остальные. Части игрока можно красить в его цвет: у каждого он свой, по порядку входа в комнату. А для каждой части выбирается, кто её видит: все, только сам игрок или только другие.

В том же меню — Точка появления: здесь игрок появляется и смотрит туда, куда повёрнута точка. Если точек несколько, каждому достаётся случайная.

Шаг 3. Сделайте объекты общими

  • Двери, рычаги, лампы. Добавьте объекту компонент Общий для всех: если кто-то переключил его состояние или видимость, у всех стало так же — даже у тех, кто зайдёт позже.
  • Ящики, мячи и всё, что двигает физика. У твёрдого тела выберите, одно оно на всю комнату или у каждого своё. Общее тело все видят в одном месте.

Шаг 4. Персонажи и счёт — немного кода

Персонажем управляет триггер Игровое управление в компоненте События: ходьба, полёт или вид сверху, прыжок и камера-преследователь. На компьютере — клавиши WASD или стрелки, на сенсорном экране — стик и кнопка прыжка, если включить их в настройках триггера.

На телефоне персонажем управляют стиком на экране
На телефоне персонажем управляют стиком на экране

Чтобы игроки видели персонажей друг друга, а счёт был общим, нужен короткий скрипт. Схема, которая работает:

  • каждый управляет своим персонажем, а остальным 10–20 раз в секунду отправляет, где он;
  • чужих персонажей двигает вызов ctx.net.follow — плавно, без рывков;
  • счёт и ход раунда лежат в общем состоянии ctx.net.state, а события вроде «забил гол» уходят сообщениями.
ctx.net.send('score', { points: 10 });
ctx.net.on('score', ({ from, data }) => {
  // очки игрока from
});

Без комнаты эти вызовы ничего не делают, так что тот же скрипт работает и в одиночном превью. Подробно — в документации: «Мультиплеер» и «Игровое управление». Скрипт можно попросить написать AI-ассистента или агента — например, Claude по MCP.

Шаг 5. Опубликуйте

Нажмите Опубликовать и отправьте друзьям ссылку или QR-код. Игра откроется в браузере — ничего не нужно устанавливать.

Чего пока нет

  • Голоса для игроков в сцене: созваниваться голосом и по видео может команда в редакторе, а не игроки.
  • Монетизации — рекламы и покупок в игре.
  • Готовых лобби и таблиц лидеров: очки между сессиями можно хранить в данных проекта, но это делается скриптом.

У GDevelop, например, есть лобби до 8 игроков и готовые таблицы лидеров — мы честно сравнили: ARClip или GDevelop. Ещё одно сравнение — ARClip или PlayCanvas.

Ещё в блоге

Попробуйте на своём проекте

Откройте рабочее пространство, опишите, что хотите собрать, и увидите первую версию прямо в редакторе. Без карты и без установки.

Начать бесплатно