8. 지연 보상: 클라 예측, 서버 재조정, 보간/외삽, lag compensation
문제 8 — 지연 보상: 클라 예측, 서버 재조정, 보간/외삽, lag compensation
상황
온라인 FPS를 만든다. 핑이 80~150ms인 유저들이 "총을 쐈는데 안 맞는다", "내 캐릭터가 순간이동(롤백)한다", "다른 플레이어가 끊겨 보인다"고 불평한다. 면접관: "권위(authoritative) 서버 구조를 유지하면서 이 체감 문제들을 어떻게 해결하겠습니까?"
질문
-
권위 서버(server-authoritative) 모델은 무엇이며 왜 게임에서 중요한가? 클라이언트를 신뢰하지 않는 이유는?
-
권위 서버를 쓰면 내 입력이 서버를 거쳐 돌아오기까지 RTT만큼 지연된다. 이를 가리려는 **클라이언트 예측(client-side prediction)**은 무엇인가? 예측이 서버 결과와 어긋났을 때 하는 **서버 재조정(server reconciliation)**은 어떻게 동작하는가? (입력 버퍼/시퀀스 번호의 역할)
-
**내 캐릭터(예측 대상)**와 **남의 캐릭터(원격 엔티티)**를 화면에 그리는 방식이 다르다. 원격 엔티티에 쓰는 **보간(interpolation)**과 **외삽(extrapolation/dead reckoning)**의 차이와 트레이드오프를 설명하라.
-
**lag compensation(피격 판정 되감기)**은 무엇인가? 서버가 "쏜 사람의 화면 시점"으로 시간을 되감아 판정하는 이유와, 그로 인해 생기는 "맞은 사람 입장에선 엄폐물 뒤에서 맞는" 부작용을 설명하라.
-
(응용/함정) 예측·재조정·보간을 모두 켰을 때 흔히 생기는 시각적 아티팩트(워핑, 고무줄 현상, 미스프레딕션 롤백)는 왜 생기며, 무엇으로 완화하는가?
직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.