팁과 노하우

전체보기

모바일 상단 메뉴

본문 페이지

[전투] 왜 슈아/무적이 뚫릴까? [렉에 관한 설명]

별빛에이드
댓글: 29 개
조회: 12889
추천: 29
2021-05-01 18:27:04
안녕하세요.

이번시간엔 pvp에서 왜 내화면에서 슈아기를 썼는데 cc가 걸리는지 심도 있게 알아보도록 하겠습니다.

------------------------------------------------------------------------------------------------

우선 몇가지 전제조건을 이해하셔야합니다.

1. 모든 공격판정은 서버에서 이루어진다.
말그대로 모든 공격판정은 서버에서 계산해서 개인 클라이언트로 결과를 보내주는 형식입니다.

2. 내 화면은 실시간이고 서버도 실시간이지만 사이 전송은 실시간이 아니다
저희 클라이언트는 실시간으로 전투상황을 렌더링 하고 보여주지만, 서버는 그러지 못합니다.
클라이언트에서 서버로 보내는 전투정보는 실시간으로 보내지는게 아니라, 일정 주기를 가지고 전송이 됩니다.
레딧에 양형이 연구해본 결과, 초당 25회정도 클라->서버 데이터 전송이 이뤄진다고 하네요.

3. 서버로 전송하는데도 시간이 걸린다 (핑)
클라이언트에서 서버한테 전투정보 패킷을 보내는데도 미세한 시간이 걸립니다.
보통 한국서버는 20-30ms정도 걸린다고 보시면 될거 같네요.

------------------------------------------------------------------------------------------------

자 그럼 케이스 스터디 알아보겠습니다.



실제상황입니다. 번살-c스왑(전가)-깨비(무적) 을 사용했음에도 불구하고 나토 경직이 들어왔네요.

어떤형식으로 이게 이뤄지는지 보시죠:

(참고로 핑이랑 틱은 이해를 쉽게 하기위해서 실제 비례랑 상이하게 그렸습니다.

실제비례는 핑 (20ms) 틱 (40ms)라서 전송시간은 1틱의 반정도 걸립니다.)



1. 클라(자기컴)은 실시간으로 렌더링을 하지만, 초당 30회 서버한테 전투정보를 보냅니다.
우선 자기컴에서 C스왑(전방가드를 합니다).

2. C스왑 했다는 전투데이터가 서버로 전송이 됩니다 (초당30회). 서버는 일정 시간후 (핑) 이 데이터를 받습니다.

3. 서버에서 전투판정을 계산합니다. (클라는 자기할거 실시간으로 하는중)
어! 그런데 상대 나토가 c스왑 상태에 들어갔네요. 그럼 전방가드 뒤로 cc가 걸리는거죠.

4. '너 cc걸렸어' 라는 데이터를 클라이언트에 다시 보냅니다. 이 데이터는 일정 시간후 (핑) 클라에 도착합니다.
우리 클라는 그동안 실시간으로 사용자의 인풋을 받아서 스킬을 쓰는데요, 현재 깨비 사용중이네요.
죄송하지만 무적상태라도 갓-서버에서 cc걸렸다고 하니 cc적용시킵니다.

5. 유저는 "ㅆㅂ 좆망겜 내 깨비무적 어디갔냐" ㅈㄹ후 능지상승해서 게임을 끕니다.

이렇게 초반에 당하는 경우가 생기는겁니다. 실제로 서버가 보는 화면은 당신의 화면 좀 전이라서요.

------------------------------------------------------------------------------------------------

자 근데 전가말고 슈아-슈아/무적 연계할때는 왜 뚫릴까요?

두번째 케이스 보시겠습니다. 

음 짤은 없는데 닥나분들이 자주 하시는 운수레-어스름 사이 틈을 예시로 들어보겠습니다.



1. 자 운수레를 썼네요. 후에 어스름을 씁니다.
클라이언트에선 모든게 실시간이라서 방어판정 아이콘을 보면 슈아-무적으로 끊김없이 전환되네요.

2. 하지만! 보통 운수레 끝나는 시점은 서버 전송 틱들 사이 어디일겁니다.
그래서 어스름을 썼다는 정보는 서버에 다음 틱때(1틱 늦게) 전송이 되는거죠.

3. 서버는 먼저 운수레썼다는 신호를 받고, 슈아판정을 원래 운수레의 슈아기간동안 부여할거에요.
근데 후속 어스름은 1틱이 늦게 들어오네요! 그래서 미량의 틈이 생깁니다.
특히 핑이 튀거나 프레임드랍이 걸리거나 그러면 더더욱 전송이 늦춰져서 틈이 커지는거죠.

4. 그 1틱의 틈사이에 CC가 들어갑니다. 틈이 작아보이긴 하지만 가끔씩 걸릴만합니다...

5. 유저는 "ㅆㅂ 운수레 어스름 사이 틈 ㅈ같네"라고 ㅈㄹ후 능지상승해서 게임을 끕니다.

6. 격가 초전박살같이 중간에 캔슬이 가능하고, 넉넉한 슈아유지판정이 있으면 미세틈이 많이 사라집니다.
초전박살 쓰는중 딴 스킬로 연계할때 1틱 늦게 전송되도, 서버에는 초전박살이 슈아유지되는 상태이기 때문에
1틱 늦게 딴스킬을 받아도 괜찮거든요.

이번에 닥나 어스름 무적판정이 약간 더 길어졌는데, 이정도만으로 어스름 후 운수레 같은 스킬을 연계할때
사이에 끊기는 일은 어느정도 줄어들것 같습니다.


------------------------------------------------------------------------------------------------

번외: 스킬가속

번외로 슈아유지할때 스킬쳐맞으면 스킬모션이 가속되면서 슈아가 짧아지는 현상이 발생합니다.

마찬가지로 서버랑 통신을 유지하고 있기 때문에 서버는 "ㅇㅋ 너 슈아 지금 끝났군" 이라고 이해하고

빨리끝난 슈아 후에 CC가 들어갈수 있습니다.

------------------------------------------------------------------------------------------------

사실 이런건 진짜 어쩔수 없어요. 온라인 게임 특성상 클라-서버통신때문에

이런 현상이 무조건 일어나는거고, 딱히 한 직업의 스킬이 문제있는게 아니라

모든 직업들이 동일하게 고통받는 상황입니다.


어쩌겠어요. 능지상승하고 겜 접으십쇼.

Lv58 별빛에이드

모바일 게시판 하단버튼

댓글

새로고침
새로고침

모바일 게시판 하단버튼

지금 뜨는 인벤

더보기+

모바일 게시판 리스트

모바일 게시판 하단버튼

글쓰기

모바일 게시판 페이징

최근 HOT한 콘텐츠

  • 검사
  • 게임
  • IT
  • 유머
  • 연예