항해99/개발일지

20220309 개발일지 #게임 동시에 시작하기

paran21 2022. 3. 11. 19:07

게임을 동시에 시작하기 위해서는 해당 방의 모든 유저들의 로딩이 완료되어야 한다.

클라이언트는 자신이 로딩이 완료된 것 밖에 알 수 없기 때문에 서버를 통해서 처리하는게 필요하다.

 

로딩이 완료되면 api를 통해 로딩이 완료됬음을 서버에 알리고, 서버는 해당 방의 loadingCount를 올려서 방의 인원 수와 일치하는 순간(즉 모두가 로딩된 경우) true를 return하여 클라이언트에게 알려주기로 했다.

 

현재 S3에서 게임 resource가 저장되어 있기 때문에 aws의 람다나 다른 방법을 통해 서버가 로딩이 완료된 시점을 알 수 있는지 찾아봤는데, 로딩은 결국 클라이언트에서 방을 랜더링하는 과정까지 포함하기 때문에 서버에서 알 수 있는 방법은 없는 것 같다.

그렇다면 클라이언트에서 완료됬을 때 요청을 보내도록하고, 서버가 다른 방의 유저들이 로딩이 완료됬는지 확인하면 될 것 같다.

 

여기까지는 어느 정도 마무리가 됬는데, 로딩 중에 연결이 끊기면 어떻게 되지? 라는 질문에서 갑자기 복잡해졌다!!!