Эссе · Май 2026

Мультиплеер в Unity глазами школьника.

Как создание сетевой игры превратилось из марафона в спринт. История одной игры на Photon PUN2, написанной в диалоге с ИИ.

Spike & Run Unity 6.3 LTS 8 мин чтения

Я — школьник 10-го класса, начинающий разработчик игр. В 2026 году я выпустил мультиплеерную 2D-игру Spike & Run на Unity 6.3 LTS с Photon PUN2 и опубликовал её на itch.io. В этой статье — о том, как мне удалось реализовать мультиплеер, что было сложно раньше и как современные ИИ-инструменты изменили этот процесс.

01 Основы

Что такое мультиплеер и почему это сложно

Мультиплеер означает, что несколько игроков подключаются по сети и видят одни и те же события игры в реальном времени. Это требует синхронизации движений, действий и состояний объектов между клиентами — и всё это должно работать при разных скоростях соединения и задержках.

В Unity с Photon PUN2 каждый сетевой объект имеет компонент PhotonView, который отвечает за синхронизацию данных и вызов удалённых процедур. Для синхронизации переменных реализуется интерфейс IPunObservable. Когда вызывается PhotonNetwork.Instantiate, объект создаётся сразу у всех игроков в комнате.

Нужно правильно управлять событиями подключения, следить за порядком вызова колбэков и обрабатывать сетевые задержки. В моём проекте две сцены: меню и игровая. Скрипт NetMen.cs с пометкой DontDestroyOnLoad живёт через смены сцен и отвечает за подключение к Photon, создание комнат и генерацию 6-значных кодов. В игровом уровне NetworkManager.cs спавнит игрока через PhotonNetwork.Instantiate. Для плавного движения написан NetworkInterpolation.cs — он реализует IPunObservable и интерполирует позицию удалённых игроков через Lerp.

Мультиплеер — это не про код. Это про порядок событий, которые ты не контролируешь.

02 Сравнение

2021 против 2026

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

2021
Без ИИ
  • Документация Photon только на английском
  • Баги ищутся часами в логах и на форумах
  • Перекраска спрайтов вручную в Photoshop
  • Магазин и валюта проектируются с нуля
  • Месяцы работы для одного разработчика
2026
С ИИ
  • Описал задачу — получил скелет на C#
  • Описал ошибку — получил объяснение и фикс
  • Python и Pillow перекрашивают спрайты за минуту
  • Магазин и промокоды — пара диалогов
  • Несколько недель до релиза на itch.io
03 Разбор

Из чего состоит Spike & Run

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

Сеть

Комнаты по кодам

NetMen.cs живёт через все сцены и подключается к Photon Cloud. MasterClient грузит GameScene, остальные синхронизируются автоматически.

Движение

Интерполяция позиции

NetworkInterpolation реализует IPunObservable: владелец шлёт координаты, удалённые клиенты плавно интерполируют через Lerp.

Скины

Анимация без Animator

PlayerController грузит спрайты через Resources.LoadAll и меняет SpriteRenderer.sprite по таймеру вручную.

Магазин

Монеты в PlayerPrefs

SkinShop проверяет баланс, списывает цену, сохраняет результат. Промокод TEST даёт +1000 однократно.

Чат

RPC на все клиенты

ChatManager открывает окно по T, закрывает по Esc. Сообщение уходит через photonView.RPC.

Ники

Отдельный объект в мире

Над игроком — TextMeshPro в мировых координатах, не дочерний — чтобы не флипался вместе со спрайтом.

Самое сложное

Согласовать локальное состояние (скины, монеты, PlayerPrefs) с сетевым состоянием Photon Custom Properties в правильном порядке. DontDestroyOnLoad объект NetMen при каждом возврате в меню конфликтовал с новой копией из сцены, пока не добавил правильный паттерн синглтона.

04 Роль ИИ

Кто действительно писал код

Claude от Anthropic — основной помощник по коду. Читал мои скрипты, объяснял ошибки в консоли, предлагал фиксы и писал новые скрипты по описанию. Большинство C#-файлов проекта написаны в диалоге с ним. Я описывал что нужно — он писал заготовку — я дорабатывал и интегрировал. Особенно помог с архитектурой мультиплеера и колбэк-багами Photon, на которые в 2021-м ушли бы недели.

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

Python и Pillow — не ИИ, но автоматизация, написанная с ИИ. Скрипт за несколько секунд перекрашивал все 9 спрайтов персонажа в нужный цвет, убирал чёрный фон, переименовывал файлы. Три скина — три запуска.

ИИ не пишет игру за тебя. ИИ убирает трение между идеей и реализацией.

05 Вывод

Порог входа обвалился

За пять лет порог входа в геймдев заметно снизился. Школьник без опыта в сетевом программировании за несколько недель собрал рабочий мультиплеер с кодами комнат, синхронизацией движения, системой скинов, магазином, промокодами и чатом — и выложил игру на itch.io.

ИИ не отменил необходимости понимать концепции. Мы по-прежнему сами проектируем архитектуру, настраиваем сцены, разбираемся когда и что вызывается. Но ИИ резко сократил рутину: объяснение ошибок, генерация вариантов, шаблонный код — теперь это минуты вместо часов. Главное — грамотно формулировать задачу и контролировать результат. Творчество и архитектура остаются за человеком.

Время на создание мультиплеера
НеделиДни
Сыграй сейчас

Игра уже на itch.io.

Бесплатно. Для Windows и macOS.

Скачать Spike & Run