Техническое задание: Внедрение сетевого мультиплеера в игру

Цель проекта

Модернизировать существующую однопользовательскую игру, написанную на C++, добавив в неё возможность сетевой игры. Реализация должна быть выполнена с учетом ограниченного или полного отсутствия доступа к исходному коду, используя подходы, аналогичные популярным решениям для LAN-эмуляции.

Основные требования

Архитектура и подход

  • Реализация системы, которая заставит игру "видеть" удалённых игроков как находящихся в одной локальной сети (LAN-эмуляция).
  • Возможность реализации на основе двух сценариев: с доступом к ванильному коду и без него.
  • Выбор и обоснование архитектуры: Peer-to-Peer (P2P) или клиент-серверная модель.

Технические детали

  • Язык реализации: C++.
  • Сетевая библиотека: на усмотрение исполнителя (например, Boost.Asio, RakNet, ENet).
  • Обеспечение стабильного соединения с минимальными задержками.
  • Реализация базовых сетевых функций: обнаружение игроков, синхронизация состояния игры, обработка разрывов соединения.

Дополнительные ожидания

  • Предоставление технической документации по внедрённому решению.
  • Рекомендации по дальнейшему развитию сетевого функционала.