작성
·
639
1
강의를 듣다가 의문이 생겨서 질문을 남깁니다,
FPS이동 동기화 또한 클라이언트에서 먼저 이동후 서버에다가 패킷을 전송한후 자신이 움직였음을 알리는 방식이 대부분이라고 하셨습니다. 하지만 1초다 4번 패킷을 보내는 경우에는 캐릭터가 목표 좌표를 받아와서 이동하는 방식으로 하게 될경우 오차가 발생하는 경우가 있을거 같고 그 오차로인해서 플레이어 이동 동기화가 마치 한템포 늦을거 같은 느낌이 듭니다.
만약에 진짜 FPS게임으로 동기화를 한다면 1초에 4번이 아닌 서버가 플레이어의 응답을 대기하는 형식으로 하는게 더 좋은 방식인가요?
답변 2
2
캐릭터가 목표 좌표를 받아와서 이동하는 방식으로 하게 될경우 오차가 발생하는 경우가 있을거 같고
-> 클라가 서버한테 통보한다는 의미는
클라가 서버한테 본인이 어떤 좌표로 이동했음을 알리는 것이지,
서버의 '목표 좌표'를 받아오고 이동하는 것은 아닙니다.
(물론 서버에서 OK 패킷으로 보낸 좌표가 본인이 생각하는 좌표와 너무 차이가 크면,
가위눌리듯 롤백이 일어나겠죠)
만약에 진짜 FPS게임으로 동기화를 한다면 1초에 4번이 아닌
서버가 플레이어의 응답을 대기하는 형식으로 하는게 더 좋은 방식인가요?
-> [1초에 몇번]은 조절이 가능하지만 어차피 네트워크 지연을 고려하면
1초에 아무리 많이 좌표 패킷을 보낸다고 오차가 발생하지 않는 것은 아닙니다.
그리고 FPS 게임에서는 100% 확률로 클라에서 먼저 이동하고 서버한테 통보를 해야 하는데
실제로 키보드를 누르자마자 이동하는 것과 , 서버에서 허락을 받아 이동하는 것은
매우 큰 체감상의 차이가 있기 때문입니다.
0