Техническое задание: Внедрение сетевого мультиплеера в игру
Цель проекта
Модернизировать существующую однопользовательскую игру, написанную на C++, добавив в неё возможность сетевой игры. Реализация должна быть выполнена с учетом ограниченного или полного отсутствия доступа к исходному коду, используя подходы, аналогичные популярным решениям для LAN-эмуляции.
Основные требования
Архитектура и подход
- Реализация системы, которая заставит игру "видеть" удалённых игроков как находящихся в одной локальной сети (LAN-эмуляция).
- Возможность реализации на основе двух сценариев: с доступом к ванильному коду и без него.
- Выбор и обоснование архитектуры: Peer-to-Peer (P2P) или клиент-серверная модель.
Технические детали
- Язык реализации: C++.
- Сетевая библиотека: на усмотрение исполнителя (например, Boost.Asio, RakNet, ENet).
- Обеспечение стабильного соединения с минимальными задержками.
- Реализация базовых сетевых функций: обнаружение игроков, синхронизация состояния игры, обработка разрывов соединения.
Дополнительные ожидания
- Предоставление технической документации по внедрённому решению.
- Рекомендации по дальнейшему развитию сетевого функционала.