less than 1 minute read

다른 유용한 방식들

중계서버(Relay Server, Broadcast Server)를 이용하는 방식

image-20210430020810437

  • Rollback의 단점을 지우기 위해 사용하는 방식
  • 각 pc에서 처리하는 것이 아니라 input을 server에 의존해서 처리하는 방식. 서버로부터 데이터가 도착하면 그 데이터에 의거해서 처리를 하면 된다. 모든 클라이언트는 똑같은 입력을 받게 된다. input set이 모두 같게 된다.
  • 서버는 일정 시간동안 입력을 gathering 하고 시간이 되면 클라이언트들에 뿌려지게 된다. 약간 턴제와 같다고 볼 수 있음.
  • 하지만 이 방식은 서버를 한 번 거치기 때문에 Delay가 발생하게 된다.

Rollback

  • 반응성이 올라감(내 입력은 내가 처리하니까)
  • desync가 일어날 가능성이 높고 구현이 복잡하다.
  • 격투, FPS에 주로 사용

중계서버

  • 반응성은 좀 떨어짐
  • desync가 적고 구현이 비교적 더 편리하다
  • AOS, 스포츠에 사용

그 외 방식

  • 일정 시간, 일정 프레임 단위로 무조건 롤백을 시킨다. 롤백이 더 자주 일어남. 하지만 구현이 더욱 편리하다.
  • 한 가지 알아둬야할 것은 되감기, 앞감기를 하는게 생각보다 loss가 많은 작업은 아니다. 뒷감기 앞감기 이동하는 과정에서 애니메이션 처리를 할 필요가 없기 때문이다. 화면을 새로 그려야할 일이 없음. 게임 성능에 크게 영향을 미치는 것이 그래픽인데 그래픽 작업이 없음. 그러니까 앞감기, 뒷감기를 잘 구현만 했다면 성능상에는 문제가 없음.

출처