-
Notifications
You must be signed in to change notification settings - Fork 1
Pre-Game Lobby State #887
Copy link
Copy link
Open
Labels
P1-highImportant for core experienceImportant for core experiencearea:multiplayerMultiplayer functionalityMultiplayer functionalitycomplexity:mediumModerate effort, multiple files or considerationsModerate effort, multiple files or considerationsfeatureNew functionalityNew functionality
Metadata
Metadata
Assignees
Labels
P1-highImportant for core experienceImportant for core experiencearea:multiplayerMultiplayer functionalityMultiplayer functionalitycomplexity:mediumModerate effort, multiple files or considerationsModerate effort, multiple files or considerationsfeatureNew functionalityNew functionality
Parent Issue
Part of #885 (Online Networked Multiplayer)
Overview
The server needs to manage a pre-game state where players join a game room and select heroes before the game initializes. Currently
GameServer.initializeGame()is called immediately with all player/hero IDs upfront. For online play, players trickle in and pick heroes one at a time.Current State
GameServer.initializeGame(playerIds, heroIds, scenarioId)requires all players and heroes upfrontGameConfigtoGameProviderAcceptance Criteria
Bootstrap & Identity Requirements
Lobby State Shape
Message Protocol (Lobby Phase)
Key Files
Create:
packages/server/src/GameLobby.ts— lobby state managementModify:
packages/server/src/WebSocketServer.ts— route lobby messages before game startDependencies
Test Plan