Krytyczne zadania dotyczące logiki WebSocket gry:
Błąd podczas aktualizacji pozycji
Po otrzymaniu współrzędnych mapy serwer odpowiada:
{"action":"error","message":"Internal server error."}
Po tym przestaje obsługiwać jakiekolwiek polecenia, w tym aktualizację pozycji i działania gracza.
Polecenie resetowania stanu przed wyszukiwaniem
Wymagane jest polecenie, które całkowicie czyści stan gry przed rozpoczęciem nowego wyszukiwania. Obecnie w przypadku nieukończonej gry serwer odpowiada:
{"action": "error", "reason": "already_in_game"}
Nie mogę zakończyć poleceniem, i nie udaje się nic zrobić, otrzymuję odpowiedź od socketu
{"action":"error","message":"Internal server error."}
Polecenie wymuszonego zakończenia gry
Potrzebne jest polecenie, które gwarantuje zakończenie każdej zawieszonej gry i wywołuje:
{"action": "game_over"}
Jest to konieczne przy awariach i niestabilnościach po stronie serwera.
Problemy z wynikiem podczas gry
Czasami przestaje się aktualizować wynik (np. srebro) podczas sesji, choć dane są wysyłane. Wymagana diagnostyka i naprawa.
Problemy podczas wyszukiwania przeciwnika
Czasami wyszukiwanie użytkownika zawiesza się lub powoduje błędy. Należy przetestować i wyeliminować niestabilności w logice matchmakingu.
Testowanie trybu gry z użytkownikiem
Gra z innym graczem może również działać niestabilnie. Należy przeprowadzić pełne testy, upewnić się o poprawności działania wszystkich scenariuszy: wyszukiwanie, start, wymiana pozycji, zakończenie.
Główne zadanie:
Przetestować i uporządkować całą logikę WebSocket:
– ustabilizować działanie,
– wyeliminować błędy i zawieszania,
– zapewnić niezawodną obsługę wszystkich stanów.