• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

액션게임의 초당 패킷전송 횟수와 유닛간 충돌에 대해 궁금합니다.

21.02.17 15:05 작성 조회수 298

0

안녕하세요. 올려주신 강의로 즐겁게 공부하고 있는 수강생입니다.

강의를 보던중 궁금한사항이.. 셀단위로 움직이는 RPG의 경우 움직임 동기화시 초당 4회로 패킷을 보낸다고 하셨는데

FPS 같은 액션 게임에서는 초당 4회면 좀 느리지 않을까 하는 생각을 하게 되었습니다..

보통 FPS게임을 제작할때에는.. 정확한 수치는 모두 다르겠지만 평균 어느정도의 호출간격을 갖고 제작하는지 궁금합니다. 

또한 다른 질문 글, 답변 글들을 보니

셀단위로 움직이지않고 자유롭게 움직이는 게임일 경우 대부분이 유닛간에 충돌을 주지 않도록 만든다고 하셨는데요.

이럴 경우에는 유저들간의 공격, 피격을 충돌로 처리하지 않는다는 뜻이신가요?

답변 1

답변을 작성해보세요.

0

FPS 게임이라면 좌우키를 연타하면서 와리가리를 하는 극한의 상황을 고려해서
초당 10~20번 정도는 싱크를 맞춰야 할 것 같습니다.
MMO와 다르게 FPS는 어차피 한 방에 입장 가능한 유저가 한정적이기 때문에
초당 싱크 횟수를 훨씬 늘려줘도 괜찮습니다.
그러나 네트워크 전송 지연은 여전히 존재하기 때문에 100% 싱크가 맞진 않습니다.
실제로 오버워치 테크 발표를 보면, 클라에서 피격 판정을 일차적으로 체크하고
서버에서 러프하게 검증하고 어느 정도 차이는
인정해주는 등의 보정을 사용한다고 합니다.

MMO 기준으로 유닛간의 좌표에 따라 서로 길막이 되어야 한다면,
그리드 방식으로 가는 것이 일반적이로 리니지 시리즈가 그렇습니다.
반면 WOW같은 게임은 유닛간의 길막이 없는데
이럴 땐 유닛 충돌이 없는 것이고 
그만큼 좌표 이동은 미세하게 자유롭게 할 수 있게 됩니다.

서버쪽에서 공격, 피격은 유니티와 같은 충돌(Collider)로 판별하는건 아니지만
수학적 공식을 통해서 피격을 받았는지 판별하긴 합니다.