기술 자료

지원

Cloud Code

Cloud Code

게임 상태 관리

Model full game state on a backend server to enforce rules and validation, and prevent cheating.
읽는 시간 1분최근 업데이트: 한 달 전

서버 권한을 구현하기 위해 백엔드 서버에서 전체 게임 상태를 모델링할 수 있습니다. 즉, 각 플레이어 클라이언트는 뷰 포트 역할을 하는 반면, 서버는 규칙과 확인, 속임수 방지를 시행합니다. 게임이 클라이언트 전반에서 지속되고 어느 지점에서나 게임을 재개할 수 있도록 Cloud Save에 게임 상태 데이터를 저장할 수 있습니다. 서버 게임 상태 관리는 비동기 멀티플레이어 게임을 빌드하는 효과적인 방법입니다. 클라이언트에서 프레젠테이션을 처리하는 동안 사용자는 클라우드 서버를 신뢰할 수 있는 소스로 활용하기 때문입니다. 클라이언트는 유연한 UI와 시각화에 중점을 두고, 서버는 게임플레이와 무결성, 동기화를 관리할 수 있습니다.

체스 예제

체스와 같은 게임의 경우 Cloud Code와 Cloud Save에서 서버는 권한이 있는 보드와 기물 위치를 유지할 수 있습니다. 플레이어가 움직이면 해당 클라이언트는 다음의 파라미터를 사용해 Cloud Code 함수에 요청을 전송합니다.
  • 게임 ID
  • 이동한 기물
  • 시작 위치
  • 종료 위치
체스 게임 시 Cloud Code 함수는 차례마다 다음을 수행할 수 있습니다.
  1. 게임 ID를 사용하여 Cloud Save에서 현재 게임 상태를 로드합니다.
  2. 올바른 플레이어의 차례인지 확인합니다.
  3. 시작 위치의 기물이 요청과 일치하는지 확인합니다.
  4. 기물이 종료 위치로 움직이는 것이 규칙에 맞는지 확인합니다.
  5. 기물의 이동에 따라 보드 상태를 업데이트합니다.
  6. 기물이 상대편 기물을 포획하는지 계산합니다.
  7. 체크메이트를 확인하고 참이면 게임을 종료합니다.
  8. Cloud Save에 업데이트된 보드 상태를 저장합니다.
  9. 푸시 메시지를 통해 실시간 업데이트를 발생시켜 상대의 이동을 알립니다.
  10. Cloud Code가 이동을 처리했다는 응답을 플레이어의 클라이언트에 반환합니다.