Unreal C++ · Networking

Client Prediction/Reconciliation

클라이언트 예측, 서버 검증, 보정, 보간이 입력 프레임과 네트워크 지연 사이에서 어떻게 연결되는지 보여준다.

01

입력 번호 부여

클라이언트는 입력에 sequence를 붙이고 로컬에서 즉시 이동을 예측한다.

predict
02

서버 처리

서버는 받은 입력을 권한 상태에서 실행하고 authoritative transform을 만든다.

authority
03

오차 계산

클라이언트는 서버 상태와 로컬 예측 결과를 비교해 차이를 구한다.

delta
04

보정 적용

큰 오차는 스냅 또는 재시뮬레이션, 작은 오차는 보간으로 숨긴다.

smooth
Prediction
입력 반응성 확보 서버 응답을 기다리지 않아 조작 지연을 줄인다.
latency hiding
Validation
치트와 불가능 상태 차단 속도, 위치, 쿨다운 같은 규칙은 서버가 최종 판단한다.
server truth
Interpolation
시각적 끊김 완화 다른 클라이언트의 움직임은 과거 상태 사이를 보간해 표시한다.
remote view

예측 보정 점검

입력 저장 아직 서버 확인을 받지 않은 입력 버퍼를 유지한다.
임계값 오차 크기에 따라 보간과 강제 보정을 나눈다.
권한 분리 클라이언트 예측은 UX용이고 게임 결과는 서버 기준이다.