잡담/문답 랙에 대한 FAQ part1 (해설추가)
페이지 정보
본문
UT홈 구경하다가 재미있을것 같아서 약간 번역해 보았습니다.
FAQ
이 글은 mod를 만드는 분들의 질문에 대답하기 위한 의도로 쓰여져 있습니다. 그러므로 만약 당신이 mod개발자라면 모든 것을 혼자 끙끙 해결하려고 하지 마시고 궁금한 것은 언제든지 이 글에서 참고하시기 바랍니다. 이 글에 제가 서버쪽에서의 랙 보정에 대해 질문받았던 모든 것들을 쓰도록 노력해 보겠습니다.
cl_timenudge는 기능이 잘못 알려진 대표적인 옵션중 하나입니다. 뭐 그것말고도 많은 명령어들이 잘못 알려져 있습니다.
Unlagged의 다른 부분들은 사실 설명을 필요로 하지 않습니다. 엥? 뭔소리냐? 라고 물으신다면 skip correction에 대해서 물어보는 사람은 아무도 없습니다. 실제로는 모든 사람이 그 덕을 보고 있지만 말입니다. 뭐 딱히 궁시렁거리는건 아니지만 수십일 동안 레일건(아마도 퀘이크)으로는 맞출 수도 없는 상대를 겨누고 있으면서도(랙땜시 레일건은 맞지도 않는다는 뜻?) 그게 있다는건 모르고 있습니다.
전 다릅니다. 사실 전 뭔가의 부재를 느낀다는건 어려운 일이라는걸 알고 있죠.
이건 질문 리스트입니다.
Unlagged는 어떻게 작동하는가?
내 핑은 얼마나 높아질 수 있는가?
주위에서 말하는 자체랙(built-in lag)은 무엇인가?
cl_timenudge가 어떤 작용을 하는지에 대해 논쟁하는 글을 옴팡지게 많이 봤다. 그건 대체 무었이냐?
cl_timenudge를 사용하면 다른 사람들에게 순간이동 하는 것처럼 보이지 않는가?
코너를 통과해서 총맞았어! 어떻게 된거야?
잠깐만, 그러면 뭔가 더 걱정해야할게 있는건가?
이런 레일건 빗나갔네.. 아니? 맞았잖아? or 레일건.. 맞았다!.. 어라? 안맞았네?
Unlagged는 높은 핑의 플레이어에게 유리한가?
Unlagged가 무기밸런스를 망치는거 아냐?
스펙터하면 왜 레일건이 빗나가보이지?
cg_projectileNudge란?
skip correction은?
사람들 머리위에 랜선뜬건 뭐야?
진핑(true ping)?
sv_fps를 20보다 높이는걸 권장하는건 아직도 유효한가?
Unlagged는 어떻게 작동하는가?
일반적인 대답
온라인 플레이를 하면 공격(또는 움직이는 것 같은거)명령이 서버에 도달하려면 약간의 시간이 걸린다는 것은 모두들 아는 사실일겁니다. 제일 헷갈리는 부분은 “hitscan\"이라는 무기들은 (퀘이크 3의 머신건, 샷건, 라이트닝건, 레일건) 목표의 약간 앞쪽을 조준해야 잘 맞는다는 사실입니다.
Unlagged는 이런 점을 다음의 메커니즘으로 보정하고 있습니다.
모든 플레이어들이 짧은 시간 전에 어디에 있었는지 기억합니다. 명중 테스트를 가능 목표의 위치에 따라서 하는 것이 아니라 플레이어가 보았을 때 가능 목표가 어디에 있었는가에 따라서 수행합니다. 만약 충분히 안정된 연결이라면 서버는 플레이어가 버튼을 누를 때 플레이어의 입장에서 타겟이 어디에 있는지를 정확히 알게 됩니다. 그렇게 괴상한 이야기는 아닙니다. 서버는 당신의 1인칭 시점에서 그들이 어디에 있었는가를 기초로 한 결과를 보내줍니다. 이 매커니즘의 덕분에 여러분들은 조준점을 목표에 겨냥하고 발사하면 맞출 수 있게 되는 것입니다.
전문적인 대답
Unlagged는 hitscan무기들의 명중 테스트에 대해 소급조정(backward reconciliation)이라는 방법을 사용하고 있습니다. 명중 테스트를 하는 동안 당신이 겨냥한 플레이어는 당신이 무기를 발사했을 때 당신의 입장에서 본 위치로 이동됩니다. (unlagged는 당신이 1인칭 시점에서 본 목표의 좌표를 전송하는 동시에 저장해두기 때문에 당신의 발사와 함께 보내진 발사시간의 정보를 통해서 그 당시 당신의 입장에서 본 위치를 알 수 있습니다.). 명중 테스트 이후 그 결과는 다시 당신에게 돌아오게 됩니다.
움직이는 플레이어의 위치는 위치 자료가 확실하게 복구되면 보통 완벽하게 정의됩니다. 서버가 소급조정을 하는 동안 플레이어의 위치가 원래 위치로 돌아가야 하는 코드가 실행되면 문제가 생길 수도 있지만 unlagged는 이런 일들에 매우 조심스럽기 때문에 별다른 문제를 야기하지는 않습니다.
(종합해서 말하자면 서버가 모든 사람의 위치 정보를 받고 그 정보를 다시 플레이어의 PC로 전송합니다. 그리고 플레이어가 누군가를 조준하여 발사하면 서버는 플레이어가 발사한 시각에 플레이어가 어떤 화면을 보고 있는지 추적하여 그 정보를 토대로 hit판정을 하게 됩니다. 이 추적은 서버와 플레이어의 PC사이에 있는 딜레이만큼의 시간 전에 서버가 플레이어에게 어떤 정보를 보냈는가를 알아낼 수 있으면 가능합니다. 따라서 연결의 딜레이가 그리 크지 않고 일정하다면 서버는 거의 정확하게 플레이어의 PC에서 어떤 화면을 보고 있는지 알 수 있게 되고 정확한 hit판정을 내릴 수 있게 됩니다. 이 과정은 플레이어가 실제로 쏘지 않더라도 모든 표적을 상대로 가상으로 행해지기 때문에 실제로 플레이어의 PC는 모든 표적에 대한 hit판정 정보를 가지고 있게 됩니다.-역자 주)
//궁금한데 허접번역이라 뭔소린지 잘 모르겠다는 분들은 답글로 질문이라고 쎄워주시면 다시 교정해보도록 하겠습니다.
리얼 원문
http://www.planetquake.com/alternatefire/unlagged_faq.html
UT홈페이지의 원문
d-_-bUT님 작성
http://nfclan.cafe24.com/zboard/zboard.php?id=tac&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=23
FAQ
이 글은 mod를 만드는 분들의 질문에 대답하기 위한 의도로 쓰여져 있습니다. 그러므로 만약 당신이 mod개발자라면 모든 것을 혼자 끙끙 해결하려고 하지 마시고 궁금한 것은 언제든지 이 글에서 참고하시기 바랍니다. 이 글에 제가 서버쪽에서의 랙 보정에 대해 질문받았던 모든 것들을 쓰도록 노력해 보겠습니다.
cl_timenudge는 기능이 잘못 알려진 대표적인 옵션중 하나입니다. 뭐 그것말고도 많은 명령어들이 잘못 알려져 있습니다.
Unlagged의 다른 부분들은 사실 설명을 필요로 하지 않습니다. 엥? 뭔소리냐? 라고 물으신다면 skip correction에 대해서 물어보는 사람은 아무도 없습니다. 실제로는 모든 사람이 그 덕을 보고 있지만 말입니다. 뭐 딱히 궁시렁거리는건 아니지만 수십일 동안 레일건(아마도 퀘이크)으로는 맞출 수도 없는 상대를 겨누고 있으면서도(랙땜시 레일건은 맞지도 않는다는 뜻?) 그게 있다는건 모르고 있습니다.
전 다릅니다. 사실 전 뭔가의 부재를 느낀다는건 어려운 일이라는걸 알고 있죠.
이건 질문 리스트입니다.
Unlagged는 어떻게 작동하는가?
내 핑은 얼마나 높아질 수 있는가?
주위에서 말하는 자체랙(built-in lag)은 무엇인가?
cl_timenudge가 어떤 작용을 하는지에 대해 논쟁하는 글을 옴팡지게 많이 봤다. 그건 대체 무었이냐?
cl_timenudge를 사용하면 다른 사람들에게 순간이동 하는 것처럼 보이지 않는가?
코너를 통과해서 총맞았어! 어떻게 된거야?
잠깐만, 그러면 뭔가 더 걱정해야할게 있는건가?
이런 레일건 빗나갔네.. 아니? 맞았잖아? or 레일건.. 맞았다!.. 어라? 안맞았네?
Unlagged는 높은 핑의 플레이어에게 유리한가?
Unlagged가 무기밸런스를 망치는거 아냐?
스펙터하면 왜 레일건이 빗나가보이지?
cg_projectileNudge란?
skip correction은?
사람들 머리위에 랜선뜬건 뭐야?
진핑(true ping)?
sv_fps를 20보다 높이는걸 권장하는건 아직도 유효한가?
Unlagged는 어떻게 작동하는가?
일반적인 대답
온라인 플레이를 하면 공격(또는 움직이는 것 같은거)명령이 서버에 도달하려면 약간의 시간이 걸린다는 것은 모두들 아는 사실일겁니다. 제일 헷갈리는 부분은 “hitscan\"이라는 무기들은 (퀘이크 3의 머신건, 샷건, 라이트닝건, 레일건) 목표의 약간 앞쪽을 조준해야 잘 맞는다는 사실입니다.
Unlagged는 이런 점을 다음의 메커니즘으로 보정하고 있습니다.
모든 플레이어들이 짧은 시간 전에 어디에 있었는지 기억합니다. 명중 테스트를 가능 목표의 위치에 따라서 하는 것이 아니라 플레이어가 보았을 때 가능 목표가 어디에 있었는가에 따라서 수행합니다. 만약 충분히 안정된 연결이라면 서버는 플레이어가 버튼을 누를 때 플레이어의 입장에서 타겟이 어디에 있는지를 정확히 알게 됩니다. 그렇게 괴상한 이야기는 아닙니다. 서버는 당신의 1인칭 시점에서 그들이 어디에 있었는가를 기초로 한 결과를 보내줍니다. 이 매커니즘의 덕분에 여러분들은 조준점을 목표에 겨냥하고 발사하면 맞출 수 있게 되는 것입니다.
전문적인 대답
Unlagged는 hitscan무기들의 명중 테스트에 대해 소급조정(backward reconciliation)이라는 방법을 사용하고 있습니다. 명중 테스트를 하는 동안 당신이 겨냥한 플레이어는 당신이 무기를 발사했을 때 당신의 입장에서 본 위치로 이동됩니다. (unlagged는 당신이 1인칭 시점에서 본 목표의 좌표를 전송하는 동시에 저장해두기 때문에 당신의 발사와 함께 보내진 발사시간의 정보를 통해서 그 당시 당신의 입장에서 본 위치를 알 수 있습니다.). 명중 테스트 이후 그 결과는 다시 당신에게 돌아오게 됩니다.
움직이는 플레이어의 위치는 위치 자료가 확실하게 복구되면 보통 완벽하게 정의됩니다. 서버가 소급조정을 하는 동안 플레이어의 위치가 원래 위치로 돌아가야 하는 코드가 실행되면 문제가 생길 수도 있지만 unlagged는 이런 일들에 매우 조심스럽기 때문에 별다른 문제를 야기하지는 않습니다.
(종합해서 말하자면 서버가 모든 사람의 위치 정보를 받고 그 정보를 다시 플레이어의 PC로 전송합니다. 그리고 플레이어가 누군가를 조준하여 발사하면 서버는 플레이어가 발사한 시각에 플레이어가 어떤 화면을 보고 있는지 추적하여 그 정보를 토대로 hit판정을 하게 됩니다. 이 추적은 서버와 플레이어의 PC사이에 있는 딜레이만큼의 시간 전에 서버가 플레이어에게 어떤 정보를 보냈는가를 알아낼 수 있으면 가능합니다. 따라서 연결의 딜레이가 그리 크지 않고 일정하다면 서버는 거의 정확하게 플레이어의 PC에서 어떤 화면을 보고 있는지 알 수 있게 되고 정확한 hit판정을 내릴 수 있게 됩니다. 이 과정은 플레이어가 실제로 쏘지 않더라도 모든 표적을 상대로 가상으로 행해지기 때문에 실제로 플레이어의 PC는 모든 표적에 대한 hit판정 정보를 가지고 있게 됩니다.-역자 주)
//궁금한데 허접번역이라 뭔소린지 잘 모르겠다는 분들은 답글로 질문이라고 쎄워주시면 다시 교정해보도록 하겠습니다.
리얼 원문
http://www.planetquake.com/alternatefire/unlagged_faq.html
UT홈페이지의 원문
d-_-bUT님 작성
http://nfclan.cafe24.com/zboard/zboard.php?id=tac&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=23
추천0
댓글목록
fetchinist님의 댓글
fetchinist이름으로 검색 아이피 (220.♡.3.20) 작성일쓰신분도 대단하지만 번역한분도 대단;;
|SLA|Schaukel님의 댓글
|SLA|Schaukel이름으로 검색 아이피 (211.♡.160.230) 작성일저걸 다 올리브형이 해석을 했다고 -ㅁ- 설마..