입력과 상태는 서로 다른 빈도로
멀티플레이어 게임은 전송 빈도를 나눠. 클라이언트는 렌더링에 맞춰 입력을 30~60Hz 의 높은 빈도로 보내고, 서버는 권위 있는 상태를 10~20Hz 의 낮은 빈도로 보내면서 처치, 점수, 레벨 변경처럼 게임을 바꾸는 행동은 별도 이벤트 메시지로 보내. 클라이언트가 서버 스냅숏 사이를 보간하면 상태가 15Hz 로 와도 움직임은 60fps 로 부드럽게 보여.
클라이언트 측 예측
입력을 보내고 서버 상태를 기다리면 키를 누를 때마다 100ms 가 넘는 지연이 느껴질 수 있어. 해법은 클라이언트 측 예측이야. 입력을 로컬에 즉시 적용하고 서버의 권위 있는 상태가 오면 둘을 맞춰. 서버와 다르면 위치를 바로 옮기거나 부드럽게 보정해. Quake III 가 만든 이 패턴을 현대 멀티플레이어 게임은 어떤 형태로든 사용해.