Критичні задачі по WebSocket-логіці гри:
Помилка при оновленні позиції
Після отримання координат карти сервер відповідає:
{"action":"error","message":"Internal server error."}
Після цього він перестає обробляти будь-які команди, включаючи оновлення позиції та дії гравця.
Команда скидання стану перед пошуком
Потрібна команда, яка повністю очищає стан гри перед початком нового пошуку. Зараз у разі незавершеної гри сервер відповідає:
{"action": "error", "reason": "already_in_game"}
Завершити командою я не можу, і що-небудь вжити не виходить, отримую відповідь від сокета
{"action":"error","message":"Internal server error."}
Команда примусового завершення гри
Потрібна команда, яка гарантує завершення будь-якої завислої гри і викликає:
{"action": "game_over"}
Це необхідно при падіннях і нестабільностях на стороні сервера.
Проблеми з рахунком під час гри
Іноді перестає оновлюватися рахунок (наприклад, срібло) під час сесії, хоча дані відправляються. Потрібна діагностика та виправлення.
Проблеми при пошуку суперника
Іноді пошук користувача зависає або призводить до збоїв. Необхідно протестувати та усунути нестабільності в логіці матчмейкінгу.
Тестування режиму гри з користувачем
Гра з іншим гравцем також може вести себе нестабільно. Потрібно провести повне тестування, переконатися у коректності роботи всіх сценаріїв: пошук, старт, обмін позиціями, завершення.
Основне завдання:
Протестувати та привести до порядку всю логіку WebSocket:
– стабілізувати роботу,
– виключити баги та зависання,
– забезпечити надійну обробку всіх станів.