본문 바로가기
연구하기/게임 개발

온라인 게임의 응답속도 - 1부 -

by 썰렁황제 2004. 11. 10.

  과연 온라인 게임의 응답속도 한계는 어디일까?

  정보의 흐름 속도를, 이 계에서 가장 빠르다는 빛의 속도로 놓고 계산해 보도록 하자.

  지구 전 지역을 커버하는 선을 깐다고 가정할 경우 가장 먼 거리는 지구의 표면을 움직이는 직선으로 계산하였을 때 지구의 둘레 절반인 20000km 이 된다.

  빛의 속도는 약 300000km/s 이다. 따라서 아무리 정보가 빠르다고 하더라도 지구의 한쪽과 저 반대편간의 정보 전달 속도는 1/15s, 즉 66.66..... ms 가 된다.

  실제로 인류는 정보 전달 시 양 끝 말단에서는 대부분 전자를 통한 방법 (전선) 을 사용하기 때문에 이곳에서는 빛의 속도에 비해 훨씬 느린 속도를 가지게 되며,  더불어 각종 복잡한 정보처리 및 관리기기 (온라인 네트워크의 경우 허브 - 게이트웨이 - 라우터 등) 를 거치기 때문에 양 말단에서는 빛의 속도에 비해 훨씬 느린 이동속도를 보이며, 더불어 중간 경로의 가장 많은 역할을 차지하는 광케이블의 경우 빛으로 처리를 하는 것은 사실이지만, 케이블 내의 빛의 속도는 사실 공기중의 빛의 속도에 비해 많이 느리며 (물 속의 경우에도 약 200000km/s 로 줄어들어버린다.) 또다른 정보전달 방식인 인공위성의 경우는 지구의 표면을 지나는 것이 아니라 인공위성 궤도까지 올라오고 내려가기 때문에 지구 표면에서보다 훨씬 긴 거리를 이동하게 되므로 결국 표면거리로 계산한 빛의 속도로 걸리는 시간보다는 더 오랜 시간이 걸리게 된다.

  결국 전세계인이 한 서버에서 온라인 게임을 할 경우는 현재 인간이 가진 과학으로는 어떠한 방법으로도 응답시간차를 66ms 이하로 줄일 수 없다는 결론이 나온다. (실제로는 이보다 훨씬 더 걸리겠지만) 자 60ms 면 어느 정도일까? 게임은 보통 60fps 를 기본적인 값으로 처리하게 된다. 이는 16.6666.....ms 이다. 따라서 약 3.8-9프레임 정도의 처리가 먹어들어간다는 소리다. 따라서 이런 먼 거리의 경우, FPS 게임이나 대전 게임을 플레이하기는 무척 어렵게 된다.

  딜레이가 발생하면 어떻게 되는가? 스타크래프트같은 전략은, 단지 입력한 반응이 늦게 오는 정도이지만, 대전 게임이나 MMORPG 게임같은 경우에는 사용자가 입력한 값을 먼저 해당 사용자에게 출력하고 원격 플레이어에게 처리하라고 값을 넘기게 되어 있기 때문에 (서버가 따로 존재할 경우 서버로) 만약 4프레임의 딜레이가 생긴다고 가정할 경우, 자신의 행동은 현재 그대로이지만, 상대의 행동은 4프레임 전의 상태인 것이고, 따라서 불일치가 발생할 경우 순간 전혀 엉뚱한 화면이 출력되게 된다. (예를 들어 칵 버튼을 눌러서 상대방을 차버려 데미지를 입혔는데, 조금 있다가 상대방의 펀치로 인해 그 킥이 캔슬되어 버리고 자신이 맞는다거나 하는 등) 철권처럼 순간판정이 비교적 덜 필요한 게임의 경우라면 큰 무리가 없을 수도 있지만, 상대의 1프레임의 상황을 파악해 기술을 넣어야 하는 버추얼 파이터같은 게임의 경우에는 완전히 대책없는 상황이 되어 버리고 만다.

  아이고 졸려...나머지는 나중에..

반응형