Random match-making
For online multiplayer, we decided to move away from our current approach (displaying a room list from which the user can choose which room to join) and implement MMR-based match-making instead.
The first implementation should focus on the basics though:
- user triggers match-making from the menu
- clients sends match-making request to the server
- server collects clients looking for a match and periodically (or whenever someone joins / leaves the pool) triggers a match-making strategy
- server creates a room for each match and sends invitations to join this room to both clients
- clients send
JoinRequests
for the room they received - from here, everything should be working as before
Needed components:
- new message types:
MatchMakingRequest
,RoomInvitationMessage
- data structure for match-making information (client ID, MMR)
- match-making strategy (for now: random)
To be kept in mind:
- client has to be able to abort match-making and the server has to react to it
- server needs to be able to recover if a match doesn't start because one of the clients does not connect (could also be handled in the client)