Dead Reckoning
(딱 대충 설명할 수 있을 정도로만 찾아봤다)
Dead Reckoning(추측 항법) 알고리즘
네트워크 지연으로 인한 문제를 해결하기 위한 개념. 보통 네트워크 지연에 민감한 실시간 게임 등에 사용된다.
※ 지연(Latency) : 한 컴퓨터에서 다른 컴퓨터로 네트워크를 통해 정보의 패킷을 얻는데 걸리는 시간
비동기 게임(체스, 바둑 등)의 경우에는 별 문제 없다.
빠른 상호 작용을 필요로 하는 시스템(대표적으로 게임)에서는 LAN/WAN에서 발생하는 일반적인 지연으로도 치명적이다.
지연을 줄이기 위해 게임 제작사들이 개발한 상용 솔루션(보통 전용 네트워크 세그먼트에 의존)들은 지연을 예측하는 상황에는 약하다.
이론적으로는 매 프레임마다 이벤트와 상태를 전송하면 되지만, 이 경우 클라이언트가 증가할수록 전송 횟수가 기하급수적으로 치솟는다.
작동 방식을 요약하자면
-> 이벤트가 발생하면 패킷을 전송하고, 패킷이 새로 오기 전까지는 이전에 수신한 패킷의 내용(이벤트)에 따라 처리한다.
-> 각 클라이언트는 패킷을 통해 처리에 필요한 각종 데이터(수치값/벡터값)를 받는다.
-> 지연으로 인한 오차를 줄이기 위해 패킷을 통해 받은 데이터(이벤트/수치값/벡터값)로 인한 변화는 각 클라이언트(수신측)에서 처리한다
-> 각 클라이언트가 알아서 처리하기 때문에 종종 다른 개체의 움직임이 끊어져 보이거나 순간이동 하는 상황이 발생한다.
출처 :
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=loveful&logNo=50001261190
Dead reckoning
Dead Reckoning : Latency Hiding for Networked Games 네트워크 플레이를 위한...
blog.naver.com
위치추적기술 - Dead Reckoning
네트워크 게임에서 서로간의 이동을 동기화 하기 위해 여러 방법이 사용될 수 있다.기본적으로, 이동처리를 하기 위해 매 프레임 마다 이벤트와 상태를 전송하는 방법이 있다.이론적으로 가장
eastroot1590.tistory.com
https://www.gamedeveloper.com/programming/dead-reckoning-latency-hiding-for-networked-games
Dead Reckoning: Latency Hiding for Networked Games
Using a predetermined set of algorithms to extrapolate entity behavior, you can hide some of the effects that latency has on fast-action games.
www.gamedeveloper.com