Техническое задание: Разработка мультиплеерного режима для 3D-проекта

Имеется полностью готовый однопользовательский 3D-проект. Необходимо интегрировать сетевой мультиплеер, чтобы несколько игроков могли взаимодействовать в одной игровой сессии.

Исходное состояние проекта

  • Реализованы 3D-персонажи с моделями и ригами.
  • Существует рабочий контроллер управления персонажем (передвижение, базовые действия).
  • Готов набор анимаций для персонажей (idle, walk, run, jump и другие).
  • Создана игровая сцена с объектами окружения.

Основные задачи

1. Сетевая архитектура

  • Разработка или интеграция сетевого решения для мультиплеера (например, на базе Photon, Mirror, Netcode).
  • Организация подключения игроков к общей сессии (хостинг, присоединение).
  • Синхронизация позиций, вращения и состояния всех игроков в реальном времени.

2. Синхронизация анимаций

  • Сетевая синхронизация состояний анимационного контроллера (Animation Controller) каждого персонажа.
  • Корректный переход и воспроизведение анимаций у всех игроков в сессии (например, если один игрок прыгает, остальные видят эту анимацию).
  • Оптимизация передачи данных для анимаций для снижения сетевой нагрузки.

3. Взаимодействие с окружением

  • Синхронизация взаимодействия игроков с объектами на сцене (подбор предметов, активация механизмов).
  • Обеспечение консистентности состояния игрового мира для всех подключенных клиентов.

Требования к результату

  • Стабильная работа мультиплеерного режима с минимальными лагами и десинхронизацией.
  • Корректное отображение анимаций всех персонажей у каждого игрока.
  • Чистый, поддерживаемый код, интегрированный в существующую структуру проекта.
  • Документация по внесенным изменениям и сетевой логике.