Техническое задание на внедрение сетевого мультиплеера
Цель проекта
Добавить возможность сетевой игры в существующий однопользовательский проект на C++. Решение должно позволять игрокам соединяться друг с другом, как если бы они находились в одной локальной сети.
Ключевые требования
- Реализация механизма LAN-эмуляции. Игровой клиент должен определять сетевые сессии как локальные.
- Поддержка двух возможных архитектур сетевого взаимодействия на выбор исполнителя:
- Peer-to-Peer (P2P)
- Клиент-серверная модель
- Необходимо рассмотреть и описать два сценария реализации:
- С доступом к исходному коду игры (ванильная версия)
- Без прямого доступа к исходному коду, используя внешние инструменты и инжектирование
- Решение должно быть аналогично по принципу работы известным платформам для сетевых игр.
Ожидаемый результат
- Стабильное сетевое соединение между несколькими игроками.
- Минимальная задержка (low latency) при передаче игровых данных.
- Четкая техническая документация по реализации и интеграции.
Технические детали
Исполнителю необходимо предоставить детальный план работ, включая оценку сложности для каждого из двух сценариев (с кодом и без), предложить оптимальные библиотеки или фреймворки для работы с сетью на C++, а также описать потенциальные риски и способы их минимизации.