아래 내용은 그냥 제가 보고 대충 분석한거지, 게임을 직접 뜯어본게 아니라서 틀릴 수도 있습니다
온라인 게임 많이 해보신 분들은 알겠지만, 어느 게임이나 랙은 존재하기 마련입니다
그리고 잘 되어있는 게임일수록 이런 랙을 없는 것처럼 보이게 하기 위해서 여러가지 트릭을 씁니다
예를 들어 캐릭터의 움직임 속도를 통해서 다음 위치를 예측한다든가,
일정 속도로 움직이는 캐릭터는 위치를 매번 업데이트 하는게 아니라 입력에 의한 변화만으로 움직이게 한다든가,
총에 맞는 이벤트를 한 쪽에서만 검증해서 처리한다든가..
이렇게 되면 랙은 별로 느껴지지 않겠지만, 대전 게임 같은 경우에는 조금의 움직임 차이가 굉장히 중요하기 때문에 이런 트릭은 쓰지 못합니다
그래서 대부분의 대전게임은 약간의 인풋 랙이 느껴지게 됩니다
문제는 대난투는 이거 뿐만이 아니라는 점입니다
대난투 게임 자체가 물리 엔진을 사용하는데, 대부분의 물리엔진이 그렇듯 물리엔진의 프레임은 게임 프레임과 별개로 움직입니다
즉 60프레임, 1초에 60번 렌더링하는 렌더링 프레임과는 별개로 물리 연산 프레임이 따로 존재한다는건데요
짜증나는게 이게 고정이 아닙니다.....
무슨 말이냐면, 어느 쪽에서는 물리 1프레임을 0.02초로 잡는데 다른 쪽에서는 이게 0.021초가 될 수 있다는 말..
이렇게 되면 양쪽 기기에 똑같은 이벤트를 주더라도 물리 연산이 차이가 날 수 있게 됩니다
그러면 어떻게 하냐, 물리 연산 프레임을 강제로 동기화 시켜야 합니다
이 말은 뭐냐면 호스트 쪽에서 언제 동기화를 시켜야 한다는 정보를 얻기 전까지 게임을 멈춘다는 소리입니다
즉 버벅이게 되는거죠
대난투가 네트워크 상황이 안 좋으면 인풋랙 뿐만 아니라 프레임 자체가 버벅이는 이유가 아마 이것때문인 것 같습니다
이거를 그나마 완화시키는 방법이 있습니다
바로 전용 게임 서버를 두고 서버쪽이 호스트가 되어 연산 결과를 넘겨주는 방식
이러면 이론상 현재 발생하고 있는 랙을 절반 가까이 줄일 수 있습니다
근데
닌텐도 이것들은
온라인 서비스 돈을 쳐받으면서
전용 서버를 쓰는 게임을 안 만드는게
말이 됩니까 --;
결론은 그냥 닌텐도 탓임
(IP보기클릭)210.101.***.***
마루콘
눈속임이라는 거는 실제로는 틀리거나 정확하지 않은 정보로부터 어림잡아 맞는 정보를 유출하는 방법입니다 시그널 프로세싱의 칼만 필터 같은 느낌으로 보시면 됨 대난투가 아무리 느려도 캐릭터가 순간이동 하는 모습이 보이지 않는거는 이런 트릭을 거의 쓰지 않는 증거로 보입니다 p2p가 겉보기에는 빠를 거 같지만 물리 엔진을 사용하게 되면 연산을 처리해 주는 서버에서 통신을 주고받는게 더 빨라요 | 19.01.07 23:47 | |
(IP보기클릭)210.101.***.***
마루콘
뭐 그렇기는 한데, 1:1 뿐만 아니라 4명 대전인 경우도 생각하면 p2p가 반드시 정답은 아닐듯 | 19.01.07 23:54 | |
(IP보기클릭)210.101.***.***
마루콘
좀 바꿔말하면 중앙 서버 방식은 느린 사람만 손해지만, p2p는 느린 사람 하나 때문에 모두가 느려지는 방식 | 19.01.07 23:56 | |
(IP보기클릭)118.217.***.***
(IP보기클릭)39.117.***.***