저는 현재 물리가 서버 측에서 시뮬레이트되기를 원하는 단일 플레이어 물리 지향 게임에서 일하고 있습니다. 게임에는 리더 보드, 지속적인 플레이어 진행 등이 있으며 모든 종류의 부정 행위를 방지하고 싶습니다. 기본적으로 순수한 클라이언트-서버 아키텍처 인 클라이언트는 "멍청한"것이며 서버가 원하는 것을 표시하기 만합니다.
그러나 문제는 게임이 동시에 수백 (수천 명)의 사람들이 할 가능성이 높다는 것입니다. 수백 개의 상태를 동시에 유지하고 유지해야하는 경우 서버 처리 능력을 떨어 뜨릴 가능성이 높기 때문에 이것은 나에게 중요합니다.
모든 물리 시뮬레이션을 클라이언트 측으로 옮기는 데 아무런 문제가 없지만 클라이언트 시뮬레이션 결과가 유효한지 실제로 확인할 방법이 필요합니다. 그러나 방법을 알 수 없습니다.
클라이언트가 여전히 공정한지 확인하기 위해 시뮬레이션 서버 측을 한 번에 한 번 실행하는 것에 대해 생각했지만 서버가 가능한 한 적은 부담을 갖기를 원합니다.
물리는 글렌 피들러 (Glenn Fiedler) 의 GDC 2011 데모 만큼이나 복잡 해져서 훨씬 더 단순해질 것입니다. 그러나 훨씬 더 충돌하는 강체는 단일 장면에 있으며 모두 한 번에 볼 수 있습니다.
글렌 피들러 (Glenn Fiedlers)의 웹 사이트 대부분이 훌륭한 웹 사이트 인 소규모 네트워크 물리학 (예 : Halo와 같은 30 명의 플레이어가있는 FPS)에 대해 이야기하면서이 특정 사례에 대한 답변을 얻는 데 어려움을 겪고 있습니다.
주제에 대한 모든 조언, 웹 사이트, 논문 등은 대단히 감사하겠습니다.
내가 대답하고 싶은 질문을 요약하면 다음과 같습니다.
- 클라이언트-서버 모델은 얼마나 실현 가능합니까? 서버 처리 능력이 합법적이고 접지되어 있습니까?
- 서버에서 클라이언트가 실행하는 물리 시뮬레이션을 안정적으로 검증 할 수 있습니까? 그렇다면 어떻게?