필자는 클라이언트 / 서버 게임 내 프로토콜 설계 및 최적화에서 지연 시간 보상 방법 이라는 Yahn Bernier의 2001 년 논문에서 채택한 멀티 플레이어 네트워킹에 대한 Valve 기사를 읽었습니다 . socket.io를 통해 클라이언트에 연결된 node.js 서버를 사용하여 실시간 멀티 플레이어 게임을 만들고 있는데 아래에 설명 된 원칙에 관한 몇 가지 질문이 있습니다.
엔터티 보간
[Interpolation]은 일반적으로 서버 업데이트를 버퍼링 한 다음 간격이 매끄럽게 보간 된 상태로 재생함으로써 발생하는 불안한 동작을 방지합니다. 또한 패킷 손실로 인한 결함을 방지 할 수 있습니다.
클라이언트 측 예측
예측은 서버가 로컬 플레이어의 동작을 확인하지 않고 로컬 플레이어의 동작의 영향을 예측하는 클라이언트의 개념입니다. 엔티티의 예측 상태는 일치 또는 불일치가 감지 될 때까지 서버 명령이 도착할 때 서버 명령에 대해 테스트됩니다.
지연 보상
지연 보상은 명령이 전송 될 때 플레이어가 무엇을 보았는지 확인하기 위해 플레이어의 대기 시간을 사용하여 [사용자 입력]을 처리 할 때 시간을 되 감는 서버의 개념입니다. 지연 보상은 예측과 결합하여 공격자의 관점에서 네트워크 지연을 거의 없애는 지점까지 네트워크 대기 시간을 퇴치하는 데 도움이됩니다.
UDP와 마찬가지로 TCP에도 원칙이 적용되며 구현에 차이가 있습니까? 엔티티 보간이 패킷 손실을 막을 필요는 없지만 그에 대한 것임을 알 수 있습니다.
UDP와 Node.js를 사용하여 서버와 웹 브라우저간에 통신 할 수 있습니까?
이 논문이 10 년이 넘었 기 때문에이 원칙들이 여전히 사용되고 있거나 다른 기술이 등장 했습니까?
도움을 주시면 감사하겠습니다.