KR100406325B1 - 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체 - Google Patents

온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체 Download PDF

Info

Publication number
KR100406325B1
KR100406325B1 KR10-2001-0066841A KR20010066841A KR100406325B1 KR 100406325 B1 KR100406325 B1 KR 100406325B1 KR 20010066841 A KR20010066841 A KR 20010066841A KR 100406325 B1 KR100406325 B1 KR 100406325B1
Authority
KR
South Korea
Prior art keywords
game
viewport
data
list
client
Prior art date
Application number
KR10-2001-0066841A
Other languages
English (en)
Other versions
KR20030034987A (ko
Inventor
송길섭
Original Assignee
(주)웹 젠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)웹 젠 filed Critical (주)웹 젠
Priority to KR10-2001-0066841A priority Critical patent/KR100406325B1/ko
Publication of KR20030034987A publication Critical patent/KR20030034987A/ko
Application granted granted Critical
Publication of KR100406325B1 publication Critical patent/KR100406325B1/ko

Links

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)

Abstract

본 발명은 게임서버가 온라인 게임에 참여한 게임 클라이언트들의 뷰포트 리스트를 관리함으로써 네트워크상의 데이터 전송을 보다 효율적으로 제어할 수 있는 온라인 게임상에서의 데이터 전송 방법에 관한 것이다.
본 발명에 의한 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법은 게임서버가 온라인 게임에 참여한 전체 게임 클라이언트들로부터 일정 시간을 주기로 하여 해당 오브젝트의 위치데이터 및 방향데이터를 전송받는 단계; (b) 게임서버는 각 게임 클라이언트의 뷰포트 영역에 위치한 오브젝트에 해당하는 게임 클라이언트들을 등록한 주체 뷰포트 리스트 및 게임 클라이언트 자신을 주체 뷰포트 리스트에 등록하여 관리받는 다른 게임 클라이언트를 등록한 객체 뷰포트 리스트를 포함하는 각 게임 클라이언트들의 뷰포트 리스트를 생성하여 관리하는 단계; 및 (c) 데이터를 전송하려는 게임 클라이언트가 있는 경우에 게임서버는 데이터를 전송하려는 게임 클라이언트로부터 데이터를 수신하여 일정시간을 주기로 하여 관리되는 객체 뷰포트 리스트에 등록된 게임 클라이언트로 수신한 데이터를 전송하는 단계를 포함한다.
본 발명에 의하면, 게임서버는 일정 시간을 주기로 하여 온라인 게임에 참여한 각 게임 클라이언트들의 뷰포트 리스트를 관리함으로써 이벤트 데이터를 필요로 하는 게임 클라이언트들에게만 데이터 전송처리를 함으로써 보다 효율적인 데이터 통신을 제어할 수 있게 된다.

Description

온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체{Method for transmitting data using viewport list in online game and computer readable recording medium materializing the method}
본 발명은 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법에 관한 것으로, 보다 상세하게는 게임서버가 온라인 게임에 참여한 게임 클라이언트들의 뷰포트 리스트를 주체 뷰포트 리스트 및 객체 뷰포트 리스트로 구분하여 관리함으로써 네트워크상의 데이터 전송을 보다 효율적으로 제어할 수 있는 온라인 게임상에서의 데이터 전송 방법에 관한 것이다.
게임이란 플레이어들이 공통의 목표를 가지고 소정의 규칙을 따라서 경쟁하는 것이다. 그리고, 컴퓨터 게임이란 컴퓨터가 마련한 장에서 플레이어들이 컴퓨터가 제시하는 공통의 목표를 두고 컴퓨터가 제시하는 규칙을 따라서 서로 경쟁하는 것이다. 초창기의 컴퓨터 게임은 게임기 또는 개인용 컴퓨터에서 실행되는 게임 프로그램에 의해 1인 또는 2인의 플레이어들에 의해 진행되었다. 그런데, 근래에 인터넷을 비롯한 네트워크가 급격히 발전하면서, 멀티 플레이어들이 참여하는 새로운 형태의 게임으로서 온라인 게임(MPOG : Multi Player Online Game)들이 등장하고 있다. 즉, 온라인 게임이란 네트워크, 특히 인터넷상에서 게임 프로그램을 수행하는 서버에 동시 접속한 다른 플레이어들과 멀티플레이를 즐기는 게임을 말한다.
온라인 게임은 일대일 혹은 다수의 플레이어가 양편으로 나뉘어져 실력을 겨루는 방식이 대부분이지만 더 나아가 대결뿐만 아니라 모든 플레이어가 조화와 타협을 통해서 하나의 세계를 만들고 그 속에서 살아가는 게임들도 존재한다. 이러한 게임들은 대부분 머그(Multi-User Graphic Games : MUG) 게임이라는 형태를 띠고 있다. 머그 게임은 단순히 텍스트로만 진행하던 머드(Multi User Dungeon, Multi User Dimension : MUD) 게임에서 한 단계 발전한 것으로서, 게임 과정에서 한차원 높은 화려한 그래픽, 사운드 및 동화상이 제공된다. 따라서, 머그 게임의 플레이어는 그래픽을 통해서 자신의 캐릭터의 성장을 볼 수 있고, 수많은 타 캐릭터들과의 반목, 대결, 타협, 조화를 통해서 실시간으로 게임을 진행할 수 있다.
멀티플레이어 롤플레잉 게임의 예를 들면, 웹젠의 "뮤(Mu)"와 엔씨 소프트의 "리니지(Lineage)" 등을 들 수 있는데, 사용자는 게임서버에 접속하여 클라이언트용 게임 프로그램을 다운로드받고(혹은 사용자는 게임 프로그램을 저장한 기록매체를 통하여 자신의 컴퓨터에 게임 프로그램을 구비할 수 있다), 캐릭터를 설정한다. 게임이 진행되면 사용자는 게임 인터페이스와 다양한 명령어를 통하여 캐릭터를 이동시키고 사용자간에 데이터(가령, 상대의 캐릭터를 공격하는 등의 오브젝트 데이터, 채팅 데이터 등)를 주고받으면서 자신의 캐릭터를 성장시키고 최종의 목표를 달성하도록 게임을 진행한다.
이러한 온라인 게임을 수행하는 게임서버에 동시에 접속하는 클라이언트의 수는 수천에서 수만에 이르고 있으며, 게임서버와 게임서버에 접속된 다수의 클라이언트들 사이에서 가장 빈번히 발생하는 데이터가 바로 캐릭터 이동에 관련된 데이터이다. 가령, 채팅 데이터를 주고 받는 경우에도 어느 하나의 게임 클라이언트는 자신을 화면 영역에서 바라보고 있는 타 게임 클라이언트를 선별하여 채팅 데이터를 전송하기 위하여 게임 서버에 접속한 다수의 게임 클라이언트들의 위치 데이터를 필요로 하게 된다.
따라서, 온라인 게임을 수행하는 게임서버 및 네트워크가 지원할 수 있는 통신 대역폭에 일정한 한계가 있다고 할 때, 온라인 게임에서 제공하는 서비스의 질을 개선하기 위해서는 캐릭터 이동에 관련된 데이터의 양을 줄이는 것이 매우 중요한 문제라 할 수 있다.
첨부한 도면을 참조하여 기존의 게임서버를 통하여 데이터를 송수신하는 과정을 설명하기 전에 게임서버와 게임 클라이언트간의 데이터 전송 횟수를 카운트하여 종래의 데이터 전송 효율과 본 발명에 의한 뷰포트 리스트를 이용한 데이터 전송 효율을 비교함에 있어서 사용되는 전송 카운트 단위를 도 1a 내지 도 1d를 참조하여 규정하도록 한다. 즉, 기준 시간동안 무작위적으로 발생하는 시스템의 각 구성요소간의 데이터 전송을 개별적으로 카운트하는 것보다는 하나의 서비스를 제공하기 위하여 요구되는 시스템의 각 구성요소들간의 일련의 전송들을 하나의 데이터 통신으로 셈함으로써 방대한 클라이트들의 접속에 따른 시스템의 데이터 처리 또는 데이터 전송에 관련한 시스템 부하를 쉽게 비교할 수 있을 것이다.
도 1a에 의하면, 게임 서버(20)는 게임 클라이언트1(10)과 게임 클라이언트2(30)로부터 각 위치데이터(①, ②)를 전송받고, 게임 클라이언트1(10)으로부터 채팅데이터(③)를 전송받아 전송된 위치데이터에 따라 채팅데이터를 수신할 수 있는 것으로 판단된 게임 클라이언트2(30)로 채팅데이터(④)를 전달한다. 즉, 게임서버(20)와 게임 클라이언트들(10, 30)간에 실제 4번의 데이터 전송이 있는 것이다.
그러나, 전술한 과정의 전송 횟수를 이하에서 사용될 카운트 단위로서 카운트하면 한번으로 카운트된다. 즉, 도 1b에 의하면, 게임 서버(20)는 게임 클라이언트2(30)로부터 위치데이터를 전송받고 게임 클라이언트1(10)으로부터 위치데이터 및 채팅데이터를 전송받아 전송된 위치데이터들을 통하여 게임 클라이언트2(30)가 채팅데이터의 수신대상임을 판단하여 게임 클라이언트2(30)로 채팅데이터를 전송하는 일련의 과정을 1회의 전송으로 카운트하는 것이다.
즉, 공통화할 수 있는 일련의 전송 과정을 1회로 카운트함으로써 게임서버(20)에 접속하는 많은 게임 클라이언트들(10, 30)간의 데이터 이동을 셈하는데 있어서 편의를 도모할 수 있게 된다.
또한, 도 1c에 의하면 게임서버(20)와 게임 클라이언트들(10, 30, 40, 50)간의 데이터 전송은 실제 4회(①, ②, ③, ④)가 있게 되나, 도 1d에 의하면 도 1c의 ①의 데이터 전송을 각 ②, ③, ④의 데이터 전송에 편입하여 총 3회로 카운트할 수 있다.
이하에서, 첨부한 도면을 참조하여 종래의 게임서버를 통하여 데이터를 송수신하는 과정을 설명한다.
데이터를 송수신하는 과정을 설명함에 있어서, 게임서버가 제공하는 온라인게임은 3D(3Dimension)게임인 것으로 하고 게임 클라이언트는 온라인 게임 중에 마주치는 오브젝트들에 한하여 채팅 데이터의 송수신을 의도하며 게임서버에 접속한 게임 클라이언트는 1,000개인 경우로 그 예를 한정하여 설명을 전개하기로 한다.
도 2는 종래의 게임서버(20)가 다수의 게임 클라이언트들(10, 30)과 연결되어 데이터를 주고받는 형태를 개략적으로 도시한 블록도이고, 도 3은 종래의 게임서버(20)와 다수의 게임 클라이언트들(10, 30)간의 데이터 전송 방법을 도시한 흐름도이다.
우선, 게임서버(20)에 접속하여 온라인 게임에 참여한 게임 클라이언트(10, 30a, 30b, 30c) 중에서 채팅 데이터를 전송하려는 게임 클라이언트(10)가 있으면(S100) 게임서버(20)는 채팅 데이터를 전송하려는 게임 클라이언트(10)로부터 해당 오브젝트의 위치 데이터, 방향 데이터 및 채팅 데이터를 수신하고(S110), 채팅 데이터를 전송하려는 게임 클라이언트(10)를 제외한 다른 한 개의 게임 클라이언트(30a)로부터 오브젝트의 위치 데이터 및 방향 데이터를 수신한다(S120).
이어서, 게임서버(20)는 수신한 위치데이터 및 기설정된 게임 클라이언트의 뷰포트 영역 정보를 통하여 채팅 데이터를 전송하려는 게임 클라이언트(10)의 오브젝트를 다른 한 개의 게임 클라이언트(30a)가 자신의 뷰포트 영역에 위치시키고 있는지의 여부를 판단하여(S130), 다른 한 개의 게임 클라이언트(30a)가 채팅 데이터를 전송하려는 게임 클라이언트(10)의 오브젝트를 자신의 뷰포트 영역에 위치시키고 있으면 다른 한 개의 게임 클라이언트(30a)로 채팅 데이터를 전송한다(S140).
즉, 도 1a 내지 도 1d에 의하여 규정한 바와 같이, 이 때까지의 과정은 한개의 게임 클라이언트(10)의 1회의 채팅 데이터 전송을 설명한 것이다.
일반적으로, 머그 게임에서 무대가 되는 가상의 세계를 "월드"라 하는데, "월드"는 다수의 "맵"으로 구성된다. 또한, 게임 클라이언트(10, 30a, 30b, 30c)의 오브젝트는 "월드"상의 특정 "맵"에 위치한다. 따라서, 게임 클라이언트(10, 30a, 30b, 30c)가 구비한 클라이언트용 게임 프로그램은 해당 오브젝트가 위치하는 특정 "맵"의 일부를 디스플레이한다. 게임 클라이언트(10, 30a, 30b, 30c)는 자신의 오브젝트의 이동에 따른 위치 데이터를 맵상의 절대 좌표에 의한 위치 데이터로 구성하여 게임서버(20)로 전달하고, 게임서버(20)는 동일하게 설정되어 있는 게임 클라이언트의 뷰포트 영역 정보에 따라 맵별로 각 위치데이터를 비교하여 해당 게임 클라이언트의 뷰포트 영역에 위치하는 다른 게임 클라이언트의 오브젝트들을 추출한다.
이어서, 게임서버(20)는 나머지 998개의 게임 클라이언트들(30b, 30c)로부터 차례로 각 위치데이터를 전송받아 전술한 과정을 반복하여 채팅 데이터의 전송을 마감한다(S150). 즉, 게임서버는 한 개의 게임 클라이언트의 채팅 데이터 전송 요구를 처리하기 위하여 전술한 과정을 1,000회 반복하여 실행하는 것이다.
만약, 게임서버(20)가 동시에 1,000개의 게임 클라이언트들(10, 30a, 30b, 30c)의 채팅 데이터 전송 요구를 처리할 수 있다면 게임서버(20)는 전술한 하나의 게임 클라이언트당 1,000회 반복되는 처리 과정을 다시 1,000회 반복 수행함으로써(S160) 총 1,000,000(1000×1000)회의 반복처리를 수행하게 된다.
그리고, 게임서버(20)가 동시에 발생하는 1,000개의 게임 클라이언트들(10,30a, 30b, 30c)의 채팅 데이터 전송 요구를 초당 5회 처리할 수 있다면 게임서버(200)는 최종적으로 1초간 5,000,000(1000×1000×5)회의 전송처리를 수행하여야 하며(S170), 온라인 게임이 종료될 때까지 이 과정은 지속된다(S180).
전술한 설명에 의하면, 기존의 데이터 전송 방식에 따른 게임서버(20)는 게임 클라이언트들(10, 30a, 30b, 30c)로부터 이벤트가 발생할 때마다(전술한 설명 과정에서는 수치 계산을 위하여 각 계산요소를 최대치로 하였으나 실제 온라인 게임을 운영하기 위해서는 이에 못지 않은 데이터 전송이 요구된다. 가령, 이벤트가 설명과정에서 설정한 기준 수치보다 더 빈번히 발생할 수 있다) 매우 많은 양의 데이터를 송수신하고 이를 처리하여야 한다.
보다 효율적인 온라인 게임 서비스를 제공하기 위하여 게임 서버에 요구되는 가장 중요한 요소는 다수의 게임 클라이언트와의 데이터 송수신을 제어하는 알고리즘이며, 이에 따라 게임서버의 기능은 크게 좌우된다.
그러나, 전술한 바와 같은 종래의 데이터 송수신 방법에 의하면 하나의 게임 서버가 동시에 지원할 수 있는 게임 클라이언트의 수 및 서비스 질은 매우 제한적일 수 밖에 없다.
본 발명은 상기한 바와 같은 요구에 부응하기 위하여 안출된 것으로서, 온라인 게임에 참여한 게임 클라이언트로부터 이벤트가 발생하면 이벤트에 해당하는 데이터를 해당 게임 클라이언트들로 전송하기 위하여 게임서버와 게임 클라이언트간에 요구되는 일련의 통신 과정을 획기적으로 줄여 네트워크 부하를 줄임으로써 온라인 게임에서 지원할 수 있는 클라이언트의 수를 늘리고, 온라인 게임에 의해 지원할 수 있는 서비스의 질을 개선시킬 수 있는 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법을 제공함을 그 목적으로 한다.
도 1a 내지 도 1d는 게임서버와 게임 클라이언트간의 데이터 전송 횟수를 카운트하는데 사용되는 전송 카운트 단위를 규정하기 위하여 게임서버와 게임 클라이언트간의 데이터 흐름을 예시한 블록도이다.
도 2는 종래의 게임서버가 다수의 게임 클라이언트들과 연결되어 데이터를 주고받는 형태를 개략적으로 도시한 블록도이다.
도 3은 종래의 게임서버와 다수의 게임 클라이언트들간의 데이터 전송 방법을 도시한 흐름도이다.
도 4는 본 발명에 의한 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송을 처리하는 게임서버와 게임 클라이언트들의 연결 형태를 개략적으로 도시한 블록도이다.
도 5는 본 발명에 의한 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법을 도시한 흐름도이다.
도 6은 본 발명에 의한 온라인 게임에서의 뷰포트 리스트를 이용한 데이터전송 방법 중에서 일정 시간을 주기로 하여 각 게임 클라이언트들의 뷰포트 리스트를 관리하는 방법을 도시한 흐름도이다.
도 7은 본 발명에 의한 게임서버가 관리하는 객체 뷰포트 리스트의 데이터 구조를 예시한 것이다.
상기의 목적을 달성하기 위하여, 본 발명에 의한 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법은 게임서버가 온라인 게임에 참여한 전체 게임 클라이언트들로부터 일정 시간을 주기로 하여 해당 오브젝트의 위치데이터 및 방향데이터를 전송받는 단계; (b) 게임서버는 각 게임 클라이언트의 뷰포트 영역에 위치한 오브젝트에 해당하는 게임 클라이언트들을 등록한 주체 뷰포트 리스트 및 게임 클라이언트 자신을 주체 뷰포트 리스트에 등록하여 관리받는 다른 게임 클라이언트를 등록한 객체 뷰포트 리스트를 포함하는 각 게임 클라이언트들의 뷰포트 리스트를 생성하여 관리하는 단계; 및 (c) 데이터를 전송하려는 게임 클라이언트가 있는 경우에 게임서버는 데이터를 전송하려는 게임 클라이언트로부터 데이터를 수신하여 일정시간을 주기로 하여 관리되는 객체 뷰포트 리스트에 등록된 게임 클라이언트로 수신한 데이터를 전송하는 단계를 포함한다.
이하에서 첨부된 도면을 참조하여 본 발명에 의한 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법을 상세히 설명한다.
먼저, 본 발명은 온라인 게임에 참여한 게임 클라이언트 중에서 어느 하나의 게임 클라이언트가 이벤트 데이터를 발생시킬 때마다 게임서버가 온라인 게임에 참여한 전체 게임 클라이언트와 다수의 데이터 통신을 수행하는 기존의 전송 제어 방법이 효율적이지 못한 점에 착안하여 각 게임 클라이언트가 이벤트 데이터를 발생시키는지의 여부에 상관없이 일정 시간을 주기로 하여 각 게임 클라이언트의 뷰포트 리스트를 관리하고 어느 하나의 게임 클라이언트로부터 이벤트 데이터가 발생하면 각 게임 클라이언트들의 뷰포트 리스트를 통하여 해당 게임 클라이언트들에게만 이벤트 데이터를 전송함으로써 게임서버와 다수의 게임 클라이언트간의 데이터 통신을 최소화하여 게임서버 및 네트워크에 걸리는 부하를 감소시키는 것에 그 기본적인 특징이 있다.
도 4는 본 발명에 의한 온라인 게임에서의 뷰포트 리스트(46)를 이용한 데이터 전송을 처리하는 게임서버(40)와 게임 클라이언트들(60)의 연결 형태를 개략적으로 도시한 블록도이다.
도 4에 의하면, 다수의 게임 클라이언트들(60)은 네트워크(50)를 통하여 게임서버(40)에 접속하고, 게임서버(40)는 온라인 게임이 진행되는 동안 인증 절차를 거쳐 온라인 게임에 참여한(가령, 게임서버(40)는 패스워드 및 아이디를 입력받아 게임 클라이언트(60)의 온라인 게임 참여를 허용할 수 있다) 다수의 게임 클라이언트들(60)의 뷰포트 리스트(46)를 생성하여 관리한다.
여기서, 네트워크(50)는 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜을 사용하는 전세계를 연결하는 컴퓨터 통신망으로서의 인터넷뿐만 아니라, 인터넷과 연동되어 클라이언트에 접속되는 유무선 통신망을 포함하는 광의의 인터넷을 의미하는 것으로 사용된다.
게임서버(40)는 네트워크(50)를 통하여 접속된 다수의 크라이언트들(60)에게게임 서비스를 제공하는 서버로서, 게임 서비스가 구현된 게임 진행 소프트웨어 및 그 소프트웨어를 수행하는 하드웨어를 포함한 총괄적인 의미로 사용된다. 또한, 게임서버(40)에 의해 제공되는 게임은 설명의 편의를 위하여 하나의 가상 세계인 "월드"를 구축하고, 다수의 플레이어들의 각자 자신의 캐릭터를 구축하여 "월드"상에서 각자의 역할을 수행하는 3D RPG(Role Playing Game)라 가정한다. 그러나, 본 발명은 이에 한정되는 것은 아니므로, 게임 플레이어가 각자의 캐릭터를 구축하여 게임을 수행하는 모든 형태의 온라인 게임을 포괄한다.
또한, 게임 클라이언트(60)는 게임서버(40)에 접속하여 게임 플레이어가 게임서버(40)에서 제공하는 온라인 게임을 수행할 수 있도록 하는 클라이언트 게임 프로그램을 구비한 단말기이다. 클라이언트 게임 프로그램은 게임 플레이어가 캐릭터 및 캐릭터 클래스를 설정하고 캐릭터의 이동 및 캐릭터 행위를 포함하는 이벤트를 발생시킬 수 있도록 그래픽 사용자 인터페이스와 각종 명령키 그리고 채팅 수단 등을 제공한다. 따라서, 게임 플레이어는 게임을 수행하기 전에 게임서버(40)로부터 클라이언트 게임 프로그램을 다운로드받거나 디스켓 또는 CD 등의 기록매체에 저장된 클라이언트 게임 프로그램을 제공받아 자신의 단말기에 설치함으로써 자신의 단말기를 게임서버(40)에 접속하여 게임 서비스를 제공받을 수 있는 게임 클라이언트(60)로 구현할 수 있다.
이때, 게임 클라이언트(60)는 웹의 표준 문서인 HTML(HyperText Markup Language) 문서를 읽을 수 있고 HTTP(HyperText Transfer Protocol)를 이용하여 웹 서버와 통신할 수 있는 소프트웨어인 웹 브라우저를 구비하는 개인용 컴퓨터 또는워크스테이션임이 바람직하다. 그러나, 본 발명에서 게임 클라이언트(60)로 구현되는 단말기는 이에 한정되지 않고, WML(Wireless Markup Language) 문서를 읽을 수 있고 PDA(Personal Digital Assistant), 휴대폰 등도 포함하는 총괄적인 의미로 사용된다.
클라이언트 게임 프로그램은 게임 플레이어에게 그래픽 사용자 인터페이스를 제공하기 위하여 뷰포트 영역을 설정하고 있다. 전술한 바와 같이, 클라이언트 게임 프로그램의 뷰포트는 절대좌표를 가지는 전체 맵상에서 해당 게임 클라이언트(60)의 오브젝트(캐릭터)가 위치하는 특정 영역의 맵을 디스플레이하기 위한 정보를 필요로 하고, 정보를 획득하기 위하여 다양한 설정 정보(화면에 디스플레이되는 영역의 크기, 가시 거리, 그래픽 처리를 위하여 필요로 하는 타 오브젝트의 위치 데이터 및 캐릭터 행위를 포함하는 이벤트 정보 등)를 가지고 있다. 뷰포트는 이러한 설정 정보에 의하여 자신의 영역에 위치한 타 게임 클라이언트(60)의 오브젝트 정보를 수신하고 자신의 오브젝트 정보를 송신한다.
이러한 클라이언트 게임 프로그램의 뷰포트는 다양한 정보를 관리하기 위하여 다수의 리스트를 가지고 있는데, 주체 뷰포트 리스트 및 객체 뷰포트 리스트로 구성되는 뷰포트 리스트도 이들 중 하나이다. 주체 뷰포트 리스트는 어느 하나의 게임 클라이언트(가령, 60a)가 자신의 화면 영역에 위치하는 타 오브젝트들의 정보를 관리하기 위하여 생성하는 다른 게임 클라이언트(가령, 60b)의 오브젝트 리스트이고, 객체 뷰포트 리스트는 자신(60a)의 오브젝트를 화면 영역에 디스플레이시키고 있는(즉, 자신의 오브젝트를 바라보고 있는) 다른 클라이언트(가령, 60c)의 오브젝트 리스트이다. 부언하면, 주체 뷰포트 리스트는 소정 게임 클라이언트(60a)가 자신의 화면 디스플레이를 위하여 타 게임 클라이언트(60b)로부터 오브젝트 정보를 전송받기 위한 오브젝트 리스트이고 객체 뷰포트 리스트는 타 게임 클라이언트(60c)의 화면 디스플레이를 위하여 소정 게임 클라이언트(60a)가 자신의 오브젝트 정보를 제공하기 위한 오브젝트 리스트이다.
종래의 게임 서버(20)는 이러한 뷰포트 리스트를 각 게임 클라이언트들(10, 30a, 30b, 30c)이 관리하도록 하고 게임서버(20)는 각 게임 클라이언트들(10, 30a, 30b, 30c)에서 발생하는 데이터들을 전달하여 게임을 운영하는 반면, 본 발명에 의하면 각 게임 클라이언트들(60)의 뷰포트 리스트를 게임서버(40)에 접속한 전체 게임 클라이언트들(60)뿐만 아니라 게임서버(40) 자신도 또한 관리함으로써 데이터 전송량을 획기적으로 감소시킬 수 있는 것이다.
이하에서, 도 5 및 도 6을 참조하여 본 발명에 의한 온라인 게임에서의 뷰포트 리스트(46)를 이용한 데이터 전송 방법을 상세히 설명한다.
도 5는 본 발명에 의한 온라인 게임에서의 뷰포트 리스트(46)를 이용한 데이터 전송 방법을 도시한 흐름도이고, 도 6은 본 발명에 의한 온라인 게임에서의 뷰포트 리스트(46)를 이용한 데이터 전송 방법 중에서 일정 시간을 주기로 하여 각 게임 클라이언트들(60)의 뷰포트 리스트(46)를 관리하는 방법을 도시한 흐름도이다.
본 발명에 의한 온라인 게임에서의 뷰포트 리스트(46)를 이용한 데이터 전송 방법을 설명함에 있어서, 이상에서 설명한 종래의 게임서버(20)를 통하여 데이터를송수신하는 과정과 비교하기 위하여, 게임서버(40)가 제공하는 온라인 게임은 3D(3Dimension)게임인 것으로 하고 게임 클라이언트(60)는 온라인 게임 중에 마주치는 오브젝트들에 한하여 채팅 데이터의 송수신을 의도하며 게임서버(40)에 접속한 게임 클라이언트(60)는 1,000개인 경우로 동일하게 그 예를 한정하기로 한다.
우선, 게임서버(40)는 일정시간을 주기로 하여 전술한 주체 뷰포트 리스트(42) 및 객체 뷰포트 리스트(44)로 구성되는 각 게임 클라이언트들(60)의 뷰포트 리스트(46)를 생성하여 관리하는데(S200), 이를 상세히 설명하면 다음과 같다.
첫째, 게임서버(40)는 온라인 게임에 참여한 전체 게임 클라이언트들(60)로부터 일정 시간을 주기로 하여 해당 오브젝트의 위치데이터 및 방향데이터를 전송받는다(S201).
온라인 게임이 진행되는 동안 게임 플레이어는 다양한 환경에 대처하여 상황판단을 하면서 자신의 오브젝트를 이동시켜야 하므로 오브젝트의 초당 이동 거리는 상당히 제한적이며, 따라서 실제 디스플레이될 특정 맵 영역의 이동(디스플레이되는 특정 맵 영역은 오브젝트가 항상 디스플레이되는 화면의 중앙에 위치하도록 오브젝트의 이동에 따라 함께 이동한다) 폭은 좁을 수 밖에 없다.
전술한 이유로 인하여 게임서버(40)가 각 게임 클라이언트들(60)로부터 이벤트 데이터가 발생할 때마다 1,000개의 게임 클라이언트들(60)로부터 위치 데이터 및 방향 데이터를 수신하여 1,000개의 뷰포트 리스트(46)를 업그레이드하지 않고 게임 클라이언트(60)의 이벤트 데이터의 발생과는 별개로 일정 시간을 주기로 하여1,000개의 게임 클라이언트들(60)의 뷰포트 리스트(46)를 관리하여 데이터 전송을 제어하여도 게임 운영상에 오류가 발생할 확률은 거의 없다. 본 발명을 설명함에 있어서 게임서버(40)는 초당 2회(500ms(millisecond)마다 1회)에 걸쳐 1,000개의 게임 클라이언트들(60)의 뷰포트 리스트(46)를 업그레이드하는 것으로 한다.
둘째, 게임서버(40)는 온라인 게임에 참여한 모든 게임 클라이언트들(60)로부터 전송된 오브젝트들의 위치데이터, 방향데이터 및 기설정된 게임 클라이언트의 뷰포트 설정 정보에 따라 각 게임 클라이언트들(60)의 뷰포트 영역을 계산하고, 뷰포트 영역들에 위치하게 되는 다른 오브젝트들을 추출한다(S202).
셋째, 게임서버(40)는 각 게임 클라이언트들(60)이 인증을 통하여 온라인 게임에 참여함과 동시에 생성시킨 게임 클라이언트(가령, 60a)별 주체 뷰포트 리스트(42)에 상기 추출된 다른 오브젝트들에 해당하는 게임 클라이언트들(가령, 60b, 60c)을 등록/삭제하여 관리한다(S203).
다른 게임 클라이언트들(60b, 60c)을 등록/삭제함에 있어서 게임서버(40)는 새롭게 추출된 게임 클라이언트들(60b, 60c)과 기존에 뷰포트 리스트(46)상에 존재하는 게임 클라이언트를 비교하여 중복 기재됨을 방지하고 새롭게 출현한 오브젝트의 게임 클라이언트(60b, 60c)는 등록하며 추출된 게임 클라이언트 이외의 기존에 등록되어 있는 게임 클라이언트들은 뷰포트 리스트(46)에서 삭제한다.
넷째, 게임서버(40)는 소정의 게임 클라이언트(가령, 60a)를 주체 뷰포트 리스트(42)에 등록하여 관리받는 다른 게임 클라이언트들(60b, 60c - 참조번호가 사용된 바에 의하면, 60a의 게임 클라이언트는 자신의 화면상에 60b, 60c의 오브젝트를 보고 있고, 60b, 60c의 게임 클라이언트는 각각 자신의 화면상에 60a의 오브젝트를 보고 있는 경우가 된다)을 추출한다(S204).
다섯째, 게임서버(40)는 소정의 게임 클라이언트(60a)를 자신의 화면에 디스플레이시키는(뷰포트 영역에 위치시키는) 상기 추출된 다른 게임 클라이언트들(60b, 60c)을 소정의 게임 클라이언트(60a)의 객체 뷰포트 리스트(44)에 등록/삭제하여 관리한다(S205). 게임서버(40)가 객체 뷰포트 리스트(44)를 관리하는 방법은 전술한 주체 뷰포트 리스트(42)를 관리하는 방법과 동일하다. 이로써 게임서버(40)는 온라인 게임에 참여한 1000개의 게임 클라이언트들(60) 각각에 해당하는 주체 뷰포트 리스트(42) 및 객체 뷰포트 리스트(44)를 완성한다.
도 7은 본 발명에 의한 게임서버가 관리하는 객체 뷰포트 리스트의 데이터 구조를 예시한 것이다.
도 7에 의하면, 객체 뷰포트 리스트는 뷰스테이트(ViewState)(A), 오브젝트 번호(Object Number)(B), 오브젝트 타입(Object Type)(C) 및 디스턴스(Distance)(D)의 데이터 구조를 가지는데, 뷰스테이트(A)에는 타 게임 클라이언트 오브젝트의 등록, 유지, 삭제 및 초기화가 셋팅되고 오브젝트 번호(B)에는 등록된 오브젝트에 부여된 식별번호(게임 클라이언트가 게임서버에 접속하여 인증을 받고 온라인 게임에 참여하는 순간 부여된다)가 기재된다. 또한, 오브젝트 타입(C)에는 오브젝트 캐릭터 타입, 몬스터 타입, 아이템 타입 및 NPC(Non-Playable Character : 게임 플레이어의 오브젝트가 터치하는 순간 오브젝트의 능력치, 경험치를 올려주든가 공격 도구 등을 획득할 수 있게 하는 등의 여러 가지 현상을 일으키는 게임의 구성요소이다) 타입 등 여러 종류의 오브젝트를 구분할 수 있는 정보가 기재되고, 디스턴스(D)에는 게임 플레이어 자신의 오브젝트와 타 오브젝트와의 거리가 맵상의 타일 단위로서 기록된다.
전술한 데이터 구조를 가지는 뷰포트 리스트는 게임 플레이어 단말기(게임 클라이언트) 화면에 보여지는 오브젝트의 개수만큼 존재한다.
전술한 데이터 구조를 프로그램으로 예시하면 다음과 같다.
typeof struct{
char state;
short Number;
BYTE Type;
int Distance;
} VIEWPORT_PLAYER_STRUCT;
ObjectClass
{
VIEWPORT_PLAYER_STRUCT viewportList[MAX_OBJECT];
};
여섯째, 게임서버(40)는 게임이 종료할 때까지 500ms마다 전술한 과정을 반복실행하여 1,000개의 뷰포트 리스트(46)를 업그레이드한다(S206, S207, S208).
따라서, 이상에서 규정한 전송 카운트 단위에 의하면 게임서버(40)는 초당 2,000회의 전송을 처리한 것이다.
이어서, 게임서버(40)는 별도로 전술한 1,000개의 뷰포트 리스트(46)를 관리함과 동시에 각 게임 클라이언트(60)로부터 채팅 데이터가 발생하는지의 여부를 감시하여 채팅 데이터를 전송하려는 게임 클라이언트(가령, 60a)가 있는 경우에(S210), 채팅 데이터를 전송하려는 게임 클라이언트(60a)로부터 채팅 데이터를 수신한다. 채팅 데이터를 수신한 게임서버(40)는 채팅 데이터를 전송하려는 게임 클라이언트(60a)의 객체 뷰포트 리스트(44)에 등록된 다른 게임 클라이언트들(60b, 60c)로 채팅 데이터를 전송한다(S220).
여기서, 계산의 편의를 위하여 각 게임 클라이언트(60)의 객체 뷰포트 리스트(44)에 평균 20개의 다른 게임 클라이언트들이 등록되어 있는 것으로 가정하면, 게임서버(40)는 20회의 전송을 처리한 것이다.
만약, 게임서버(40)가 동시에 1,000개의 게임 클라이언트들(60)의 채팅 데이터 전송 요구를 처리할 수 있다면 게임서버(40)는 전술한 하나의 게임 클라이언트당 20회 반복되는 처리 과정을 다시 1,000회 반복 수행함으로써 총 20,000(20×1000)회의 반복처리를 수행하게 된다(S230).
그리고, 게임서버(40)가 동시에 발생하는 1,000개의 게임서버(40)의 채팅 데이터 전송 요구를 초당 5회 처리할 수 있다면 게임서버(40)는 최종적으로 1초간 102,000(20×1,000×5+2,000)회의 전송처리를 수행하여야 하며(S240), 온라인 게임이 종료될 때까지 이 과정은 지속된다(S250).
따라서, 종래의 게임서버(40)가 처리하는 채팅 데이터 전송 횟수(5,000,000)와 비교하면 본 발명에 의한 게임서버(40)는 약 50배(5,000,000÷102,000=49.9…) 정도의 전송 횟수를 감소시킬 수 있게 된다.
한편, 상술한 본 발명에 의한 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하다. 그리고, 컴퓨터에서 사용되는 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 의하면, 게임서버는 일정 시간을 주기로 하여 온라인 게임에 참여한 각 게임 클라이언트들의 뷰포트 리스트를 관리함으로써 온라인 게임에 참여한 게임 클라이언트들로부터 이벤트가 발생하면 이벤트 데이터를 전송하기 위하여 이벤트가 발생하는 시점에서 온라인 게임에 참여한 전체 게임 클라이언트들로부터 각 위치데이터를 수신하여 일련의 처리과정을 수행하는 대신 이벤트 데이터를 필요로 하는 게임 클라이언트들에게만 데이터 전송처리를 함으로써 보다 효율적인 데이터 통신을 제어할 수 있다.
따라서, 방대한 데이터 전송에 의한 네트워크의 부하를 감소시킴으로써 게임서버는 온라인 게임에서 지원할 수 있는 클라이언트의 수를 늘리거나, 온라인 게임을 통하여 지원할 수 있는 서비스를 더욱 다양화할 수 있게 된다.

Claims (3)

  1. 온라인 게임상에서 발생하는 데이터를 전송하는 방법에 있어서,
    (a) 게임서버는 온라인 게임에 참여한 전체 게임 클라이언트들로부터 일정 시간을 주기로 하여 해당 오브젝트의 위치데이터 및 방향데이터를 전송받는 단계;
    (b) 상기 게임서버는 각 게임 클라이언트의 뷰포트 영역에 위치한 오브젝트에 해당하는 게임 클라이언트들을 등록한 주체 뷰포트 리스트 및 게임 클라이언트 자신을 주체 뷰포트 리스트에 등록하여 관리받는 다른 게임 클라이언트를 등록한 객체 뷰포트 리스트를 포함하는 각 게임 클라이언트들의 뷰포트 리스트를 생성하여 관리하는 단계; 및
    (c) 데이터를 전송하려는 게임 클라이언트가 있는 경우에 상기 게임서버는 데이터를 전송하려는 게임 클라이언트로부터 데이터를 수신하여 일정시간을 주기로 하여 관리되는 상기 객체 뷰포트 리스트에 등록된 게임 클라이언트로 상기 수신한 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법.
  2. 제1항에 있어서, 상기 (b)단계는
    (b1) 상기 게임서버는 온라인 게임에 참여한 모든 게임 클라이언트들로부터 전송된 상기 오브젝트들의 위치데이터, 방향데이터 및 기설정된 게임 클라이언트의 뷰포트 설정 정보에 따라 각 게임 클라이언트의 뷰포트 영역을 계산하고, 상기 뷰포트 영역들에 위치하게 되는 다른 오브젝트들을 추출하는 단계;
    (b2) 상기 게임서버는 게임 클라이언트별 주체 뷰포트 리스트에 상기 추출된 오브젝트들에 해당하는 게임 클라이언트들을 등록/삭제하여 관리하는 단계;
    (b3) 상기 게임서버는 소정의 게임 클라이언트를 주체 뷰포트 리스트에 등록하여 관리받는 다른 게임 클라이언트들을 추출하는 단계;
    (b4) 상기 게임서버는 상기 추출된 다른 게임 클라이언트들을 상기 소정의 게임 클라이언트의 객체 뷰포트 리스트에 등록/삭제하여 관리하는 단계; 및
    (b5) 일정 시간을 주기로 하여 전체 오브젝트의 위치데이터 및 방향데이터를 전송받는 게임서버는 게임이 종료할 때까지 상기 (b1)단계 내지 (b2)단계를 반복실행하여 각 게임 클라이언트의 뷰포트 리스트를 관리하는 단계임을 특징으로 하는 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송 방법.
  3. 온라인 게임서버에 설치되어 게임 클라이언트들로부터 전송된 데이터를 처리하여 전송하는 소프트웨어를 기록한 기록매체에 있어서,
    온라인 게임에 참여한 전체 게임 클라이언트들로부터 일정 시간을 주기로 하여 해당 오브젝트의 위치데이터 및 방향데이터를 전송받는 수신모듈;
    온라인 게임에 참여한 모든 게임 클라이언트들로부터 전송된 상기 오브젝트들의 위치데이터, 방향데이터 및 기설정된 게임 클라이언트의 뷰포트 설정 정보에 따라 각 게임 클라이언트의 뷰포트 영역을 계산하고, 상기 뷰포트 영역들에 위치하게 되는 다른 오브젝트들을 추출하는 서브모듈; 게임 클라이언트별 주체 뷰포트 리스트에 상기 추출된 오브젝트들에 해당하는 게임 클라이언트들을 등록/삭제하여 관리하는 서브모듈; 소정의 게임 클라이언트를 주체 뷰포트 리스트에 등록하여 관리받는 다른 게임 클라이언트들을 추출하는 서브모듈; 및 상기 추출된 다른 게임 클라이언트들을 상기 소정의 게임 클라이언트의 객체 뷰포트 리스트에 등록/삭제하여 관리하는 서브모듈을 구비하고, 상기 수신모듈로부터 일정 시간을 주기로 하여 전체 오브젝트의 위치데이터 및 방향데이터를 전달받아 게임이 종료할 때까지 상기 각 서브모듈들을 반복하여 기능시키는 뷰포트리스트 관리모듈; 및
    데이터를 전송하려는 게임 클라이언트가 있는 경우에 데이터를 전송하려는 게임 클라이언트로부터 데이터를 수신하여 일정시간을 주기로 하여 관리되는 상기 객체 뷰포트 리스트에 등록된 게임 클라이언트로 상기 수신한 데이터를 전송하는 송신모듈을 기능시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2001-0066841A 2001-10-29 2001-10-29 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체 KR100406325B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0066841A KR100406325B1 (ko) 2001-10-29 2001-10-29 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0066841A KR100406325B1 (ko) 2001-10-29 2001-10-29 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체

Publications (2)

Publication Number Publication Date
KR20030034987A KR20030034987A (ko) 2003-05-09
KR100406325B1 true KR100406325B1 (ko) 2003-11-19

Family

ID=29566859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0066841A KR100406325B1 (ko) 2001-10-29 2001-10-29 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체

Country Status (1)

Country Link
KR (1) KR100406325B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11861561B2 (en) * 2013-02-04 2024-01-02 Haworth, Inc. Collaboration system including a spatial event map

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06277362A (ja) * 1993-03-26 1994-10-04 Namco Ltd 3次元ゲーム装置
JPH11191097A (ja) * 1997-09-26 1999-07-13 Internatl Business Mach Corp <Ibm> インターネット・ベースのゲームにおいて、情報を除去する多重領域近接グループのための方法及びシステム
KR20010014199A (ko) * 1998-04-27 2001-02-26 이리마지리 쇼우이치로 플레이어 데이타를 이용한 게임 실행 방법 및, 게임 장치
KR20030012672A (ko) * 2001-08-03 2003-02-12 (주)혁성정보시스템 다중 사용자 네트워크 레이싱 게임을 위한 메시지 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06277362A (ja) * 1993-03-26 1994-10-04 Namco Ltd 3次元ゲーム装置
JPH11191097A (ja) * 1997-09-26 1999-07-13 Internatl Business Mach Corp <Ibm> インターネット・ベースのゲームにおいて、情報を除去する多重領域近接グループのための方法及びシステム
KR20010014199A (ko) * 1998-04-27 2001-02-26 이리마지리 쇼우이치로 플레이어 데이타를 이용한 게임 실행 방법 및, 게임 장치
KR20030012672A (ko) * 2001-08-03 2003-02-12 (주)혁성정보시스템 다중 사용자 네트워크 레이싱 게임을 위한 메시지 처리 방법

Also Published As

Publication number Publication date
KR20030034987A (ko) 2003-05-09

Similar Documents

Publication Publication Date Title
JP3764090B2 (ja) サーバ、サーバの制御プログラムおよびそのプログラムを記録した記録媒体
US20070099702A1 (en) Network-based gaming system
US6179713B1 (en) Full-time turn based network multiplayer game
US5964660A (en) Network multiplayer game
EP1407803B1 (en) Network Server for simultaneously processing of data received from attached gaming devices
EP1870142A1 (en) Game program, game machine, and game method
CN105848743B (zh) 信息处理装置、信息处理系统、程序、记录介质
US6419577B1 (en) Semi-real time simulation type video game device
US20130227438A1 (en) Position Tracking in a Virtual World
US20090075709A1 (en) System and method of customizing a weapon in the online first person shooter game
KR20040095633A (ko) 인스턴트 메세징이 내장된 게임들
US20100056275A1 (en) Massively Multiplayer Online Game Technologies
EP1382372A1 (en) System and method to integrate digital characters across multiple interactive games
GB2359704A (en) Sharing a computer-generated environment
CN1773518A (zh) 网络游戏系统
KR20020071886A (ko) 가상 세계 시스템, 서버 컴퓨터 및 정보 처리 장치
JP2009213737A (ja) サーバシステム
US8992328B2 (en) Method, apparatus, and recording medium for playing game with server transferring in online game environment
US8758104B2 (en) System and method for transmitting P2P message in multi-access online game
US20080045340A1 (en) Method For Providing On-Line Game Which Systematically Maintains Monster&#39;s Aggro Points Against Player Character and System Thereof
KR20080025230A (ko) 다중 접속 온라인 게임에서의 분산 서버를 통한 게임 제어방법 및 시스템
EP1323457A2 (en) Network game system, game server system, client system, network game processing method, and recording medium
JP5758438B2 (ja) サーバシステム
JP2015163262A (ja) サーバシステム
KR100406325B1 (ko) 온라인 게임에서의 뷰포트 리스트를 이용한 데이터 전송방법 및 그 방법이 구현된 컴퓨터로 읽을 수 있는 기록매체

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121029

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20131010

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20141027

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20151207

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20161025

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 17