Skip to content

[feature]: Lobby Settings, Loading State, End Screens #161

@CodeLittleToImprove

Description

@CodeLittleToImprove

Parsed project fields

[Importance:] Main

  • [Duration:] 1 Days

{P1}

Intended area

Frontend

Problem / goal

add a loading screen, game related settings, win and lose screen

  1. Lobby Game Settings (Synchronized Session Configuration)

Add configurable game settings in the lobby before match start:

  • Max worms per player (1–10)
  • Input constrained numeric selector (min 1, max 10)
  • Map selection dropdown
  • Selectable map list via dropdown UI

All settings must be:

  • Synchronized across all connected players in real time via network packages/events
  • Locked immediately when any player presses Ready
  • Once locked, no further changes are permitted until match reset or new lobby creation
  1. Loading Screen with Failure Detection & Recovery

Implement a visually engaging loading screen shown between lobby and match start:

  • Displays loading progress/state per player
  • Sends periodic readiness/heartbeat updates
  • If a player fails to load:
  • Broadcast failure event to all connected clients
  • Immediately terminate match start sequence
  • Return all still-connected players back to the lobby state
  • Ensure the system gracefully handles partial disconnects or stalled clients
  1. End Game Result Screen (Win / Lose + Stats)
  • Add a dedicated result screen shown after match completion:
  • Clearly distinguish Winner / Loser states per player
  • Display basic match statistics, such as:
  • Kills / eliminations
  • etc.

Scope

Frontend / Game UI
Lobby State Management

Acceptance criteria

Lobby Settings

  • Players can adjust max worms (1–10) and map selection before match start
  • All connected players see synchronized settings in real time
  • Once any player presses Ready, all settings become locked and immutable
  • Locked state persists until match restart or lobby reset

Loading Screen

  • Loading screen is shown for all players before match start
  • If any player fails to load:
  • All players receive a failure event
  • All clients are returned to lobby state
  • Match start is aborted cleanly with no dangling session state

End Screen

  • After match completion, all players are redirected to a result screen
  • Screen correctly shows win/lose state per player
  • Basic match statistics are displayed and correctly populated

Technical notes

No response

Test plan

No response

Checklist

  • I checked whether this depends on another service, API contract, or database change.
  • I added enough detail so another teammate can implement this without guessing.
  • I included validation and test expectations.

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions