Server-Side Rewind (SSR)
Server-Side Rewind는 서버가 클라이언트로부터 받은 입력을 처리할 때, 해당 입력이 발생했던 시점의 게임 상태로 "되돌아간다"고 가정하여 처리하는 방식입니다. 이는 주로 히트 스캔(hit-scan) 무기를 사용하는 FPS(First-Person Shooter) 게임에서 플레이어의 총알이 목표물에 맞았는지 판정할 때 사용됩니다.
예를 들어, 클라이언트 A가 적을 쏘고, 그 총알이 명중했다고 서버에 보고했지만, 서버와의 통신 지연으로 인해 서버는 적이 이미 그 위치에서 움직였다고 판단할 수 있습니다. SSR을 사용하면, 서버는 클라이언트 A의 총알이 발사되었던 시점으로 게임 상태를 "되돌린" 후, 그 시점에서 총알이 적에게 명중했는지를 판정합니다. 이 방식은 플레이어가 경험하는 지연을 감소시키며, 더 공정한 게임 플레이를 제공합니다.
Client-Side Rewind (CSR)
Client-Side Rewind는 클라이언트가 자신의 화면에 보이는 정보를 기반으로 게임 상태를 예측하고, 그 예측된 상태에서의 행동(예: 적 총격)을 서버에 보고하는 방식입니다. 이는 서버가 클라이언트로부터 입력을 받고, 그 입력에 따른 결과를 클라이언트에게 다시 전송하는 전통적인 네트워크 게임 방식과는 다릅니다.
CSR은 주로 클라이언트가 적에게 총을 쏠 때 사용됩니다. 클라이언트는 서버로부터 받은 최신 정보를 기반으로 적의 위치를 예측하고, 그 예측된 위치에서 총을 쏩니다. 만약 클라이언트의 예측이 정확하다면, 서버는 그 총격을 유효한 것으로 인정하고 적에게 피해를 입힙니다. CSR은 플레이어가 자신의 행동에 대한 즉각적인 피드백을 받을 수 있도록 하여, 게임 플레이의 반응성을 향상시킵니다.
'공부 > Unreal Engine 5' 카테고리의 다른 글
[언리얼5] 위젯 텍스트 롤업(C++) (0) | 2024.04.09 |
---|---|
[언리얼5] 클라이언트의 검증 함수 (0) | 2024.04.07 |
[언리얼5] 언리얼 네트워크 시뮬레이션 관련 참고 자료 (0) | 2024.04.07 |
[언리얼5] 프로퍼티 동기화(C++ & BP) (0) | 2024.04.05 |
[언리얼5] 멀티플레이 동기화(서버&클라)메모 (1) | 2024.04.02 |
댓글