저는 초보자 게임 개발자이며 멀티 플레이어 게임에 대해 연구하고 있습니다. 나는 항상 약간의 대기 시간이 있음을 관찰했으며 플레이어는 항상 과거 작업에서 업데이트를 얻습니다. 그러나 대기 시간을 처리하기위한 데드 레커닝과 같은 기술이 있습니다. 움직임을 예측하고 부드럽게 움직일 수 있습니다. 그러나 점프, 걷기 중지 등과 같은 동작을 어떻게 동기화합니까?
클라이언트 A가 움직이고 있고 100m / sec 속도로 10.2 시간에 100m에 있고이 정보를 보냈다고 가정하십시오. 클라이언트 B는이 정보를 다소 나중에받습니다. 10.4로 설정하십시오. 따라서 클라이언트 B에서 예측을 사용하고 클라이언트 A를 120m에 배치 할 수 있습니다. 그러나 고객이 10.3에서 110m로 점프하면 어떻게 될까요? 나는 그것을 예측할 수 없으며 예측을 사용했기 때문에 과거에 클라이언트 A 점프를 보여줄 수 없습니다.
점프 동작을 전혀 보내지 않으면 서이 문제를 해결할 수 있습니다. 그러나 내 게임에 플레이어가 넘어져 죽을 수있는 빈 공간이 있다면 어떨까요? 따라서 점프 동작을 동기화하지 않으면 다른 플레이어는 한 명의 플레이어가 실행 중임을 확인한 다음 공허에 빠지고 다시 화면에 나타나 시각적 참여를 방해합니다.
점프는 단지 예일 뿐이며 예측이 작동하지 않는 많은 시나리오가있을 수 있습니다. 그래서 어떻게 처리합니까? 그러한 예 중 하나는 Awesomenauts와 같은 멀티 플레이어 온라인 배틀 경기장 게임 일 수 있습니다.