여기까지는 다소 쉬운 편입니다. 이제 점점 복잡해지는 부분을 살펴볼 텐데, 가장 대표적인 것이 매치메이킹3입니다. 나와 실력이 비슷한 플레이어들과 매치메이킹을 하는 방법은 9장에서 분산 서버 설계 부분을 다룰 때 다시 설명하겠습니다.
여기서는 일단 플레이어가 수동으로 방을 만들고, 다른 플레이어가 수동으로 방에 들어가는 방식을 설계해 보겠습니다. 설계에 들어가기에 앞서 다음에 유념해야 합니다.
1. 해킹을 방지하고자 방 만들기 혹은 들어가기 정보는 클라이언트에서 판단하지 말고 서버에서 모두 판단할 것
2. 클라이언트에서는 일방적으로 판단하지 말고 서버에 요청하여 그 결과에 따라서 행동할 것
3. 방 만들기 혹은 방 들어가기로 서버 내부의 방 목록이나 방 안의 플레이어 목록이 변할 때 클라이언트는 그 변화를 통보받을 것
이를 위해 서버에서는 방 목록과 각 방에 들어가 있는 플레이어, 즉 방 안의 플레이어 목록을 갖고 있어야 하며, 게임 플레이 중인 방의 상태 데이터도 갖고 있어야 합니다.
3 매치메이킹이란 나와 실적이 비슷한 플레이어들을 모아서 같이 게임 플레이를 할 수 있는 공간을 생성하는 것입니다.