본문 바로가기
IT 지식

Dead Reckoning

by ballena 2022. 11. 28.

(딱 대충 설명할 수 있을 정도로만 찾아봤다)

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

https://eastroot1590.tistory.com/entry/%EC%9C%84%EC%B9%98%EC%B6%94%EC%A0%81%EA%B8%B0%EC%88%A0-Dead-Reckoning

 

위치추적기술 - 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

 

'IT 지식' 카테고리의 다른 글

CAPEX / OPEX  (0) 2023.06.10
게임 아키텍처 : 비동기/지속/세션  (0) 2022.11.28
Lag Compensation  (0) 2022.11.28
Kafka 입문 (4)  (0) 2022.10.06
Kafka 입문 (3)  (0) 2022.09.20

댓글