• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

패킷 관련해서 궁금한점이 있습니다

21.09.21 18:53 작성 조회수 152

0

 의도한것은 아니었지만 수업을 따라하다가
서버 솔루션을 작동시키고 나오는 콘솔창에
마우스 커서를  실수로 드래그를 하고
유니티  클라 3개를 서버에 입장시켰었습니다

처음에 왜 안되지? 하며보다가 아 콘솔창 드래그했구나라며
서버솔루션 중지했다 다시 재생을 하였는데
"패킷모아보내기  : N개 " 디버깅메세지가 뜨면서
캐릭터들이 쌓엿던 패킷대로 이동과 행동을 한번에 처리하니
순간이동을 하거나 아주 빠르게 이동하고
다른 플레이어가 볼떄
대각선으로 이동하는거같이 보이고 그랬습니다

비슷한 상황으로
어릴적 온라인 게임을 하다 이런경우를  보곤했었는데
결국 효율을 위해서 패킷을 모아보내기는 해야하지만 이렇게 
쌓인 패킷이 많아 한번에 처리를 하려하면
클라유저간 싱크가 안맞는 상황이 벌어지는게 맞을까요?
마찬가지로 락도  잘 걸어야겠네요.. 너무 무섭습니다 서버..
재밋는데 진짜 어렵기도하고요 ㅋㅋ

답변 1

답변을 작성해보세요.

1

네 쌓인 패킷일 수도 있지만,
그냥 순전히 서버쪽 or 클라쪽 렉으로 인해서 그런 경우도 있고 다양합니다.
그리고 서버 공부를 시작한 다음부터는 앞으로 게임을 하더라도
동기화 기법을 유심히 관찰하는게 많은 도움이 됩니다.
가령 디아블로 같은 경우는 모든 좌표를 서버에서 지정하지 않고
클라/서버 각각 계산한다는 것을 쉽게 알 수 있는데요.
렉이 걸리면 아무리 쳐도 무한 헛방이 뜨고,
그 현상이 오래 지속되면 가위 눌리는 현상이 일어나면서 좌표가 롤백되고
몹/플레이어 좌표를 서버에서 다시 받아오는 것을 알 수 있습니다.