KR101611673B1 - 스코어 및 거리에 기반한 랭킹 계산 방법 - Google Patents

스코어 및 거리에 기반한 랭킹 계산 방법 Download PDF

Info

Publication number
KR101611673B1
KR101611673B1 KR1020130164237A KR20130164237A KR101611673B1 KR 101611673 B1 KR101611673 B1 KR 101611673B1 KR 1020130164237 A KR1020130164237 A KR 1020130164237A KR 20130164237 A KR20130164237 A KR 20130164237A KR 101611673 B1 KR101611673 B1 KR 101611673B1
Authority
KR
South Korea
Prior art keywords
ranking
influence
user
area
map
Prior art date
Application number
KR1020130164237A
Other languages
English (en)
Other versions
KR20150075863A (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 KR1020130164237A priority Critical patent/KR101611673B1/ko
Publication of KR20150075863A publication Critical patent/KR20150075863A/ko
Application granted granted Critical
Publication of KR101611673B1 publication Critical patent/KR101611673B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/558Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

스코어 및 거리에 기반한 랭킹 계산 방법이 개시된다. 랭킹지도 상의 각 사용자들의 위치와, 수집된 각 사용자들의 스코어를 이용하여 각 사용자의 랭킹 지도 상의 위치를 중심으로 거리에 따른 영향력이 계산된다. 이때, 영향력은 스코어가 높을수록 커지며, 각 사용자의 위치로부터 멀어질수록 작아지도록 계산된다. 이후, 각 사용자 별로 계산된 거리에 따른 영향력을 이용하여 랭킹지도 상에서 인접한 사용자들간의 영역 경쟁이 처리된다. 이에 의해 각 사용자의 상기 랭킹지도 상의 영역이 갱신된다. 계산된 영향력 또는 갱신된 랭킹지도 상의 영역의 크기에 의해 각 사용자의 랭킹이 결정된다.

Description

스코어 및 거리에 기반한 랭킹 계산 방법{Computer implemented method of calculating ranking based on score and distance}
본 발명은 순위를 계산하는 방법에 관한 것이다. 더 구체적으로는 스코어를 시각적, 직관적으로 인지가능한 형태로 변환하는 방법에 관한 것이다.
일반적으로 순위는 텍스트 리스트의 형태로 표시된다.
스포츠 경기에서의 순위나, 학교에서의 성적 순위나, 영화의 관객점유율 순위 등 다양한 유형의 순위가 존재하며, 이들은 흔히 리스트의 형태로 표시된다.
대략 수십 내지 수백 정도의 대상물의 순위를 나타내는 정도라면 리스트의 형태로 표시하는 데 큰 어려움이 없으며, 리스트 형태로 표시된 순위 가운데 특정 대상물을 찾아내는 것이나, 찾아낸 특정 인물/대상물이 전체에서 어느 정도의 순위를 차지하고 있는지를 확인하는데에도 큰 어려움이 없다.
그러나, 순위로 표시될 인물이나 대상물의 수가 수천 내지 수만 정도까지 늘어나면 리스트의 형태의 전형적인 순위 표시방법이 한계에 달한다.
일단 리스트가 지나치게 길어지기 때문에 이를 모니터나 TV 화면에 표시할 경우, 순위를 확인하기 위해 사용자는 수많은 페이지를 넘겨서 보거나, 매우 길게 스크롤 해서 봐야 하는 등의 불편함을 겪는다.
뿐만 아니라, 전체 리스트에서 사용자 자신의 위치를 직관적으로 확인하기가 매우 어렵다는 문제가 발생한다.
따라서, 매우 많은 대상물의 순위를 모니터 등의 디스플레이 장치에 표시함에 있어, 리스트의 형태로 직렬적으로 표시할 때 발생하는 이러한 문제점을 해소할 수 있는 새로운 순위 표시방법의 개발이 필요하다.
특히, 이와 같은 새로운 랭킹시스템을 구현하기 위하여, 사용자들의 스코어를 새로운 랭킹시스템에 부합하도록 변환하는 방법의 개발이 필요하다.
특허문헌 1. 대한민국 특허등록 제10-1180761호 "분산 지리정보 시스템의 개체 표시 우선순위" 특허문헌 2. 대한민국 특허공개 제10-2003-0006916호 "랭킹 시스템 및 랭킹방법" 특허문헌 3. 대한민국 특허등록 제10-0476485호 "랭킹 정보 통합 관리 시스템 및 방법" 특허문헌 4. 대한민국 특허등록 제10-1318783호 "게임 성적의 랭킹 설정 시스템, 게임 성적의 랭킹 설정 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체" 특허문헌 5. 대한민국 특허등록 제10-0943045호 "온라인 게임 로컬 랭킹 검색 시스템" 특허문헌 6. 대한민국 특허공개 제10-2013-0116231호 "게임 그룹별 랭킹 제공 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체" 특허문헌 7. 미국특허공개 제2012/0252583호 "COMPUTER IMPLEMENTED METHOD FOR CALCULATING A GAME SCORE TO CREATE A RANKING"
비특허문헌 1. 코에이 삼국지 2 소개 기사, 2008.04.24, http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=105&oid=020&aid=0001955854
본 발명은 상기와 같은 종래기술의 문제점을 해소하기 위한 것으로, 다수의 사용자들이 자신의 랭킹(순위)을 직관적으로 파악할 수 있도록 하는 새로운 랭킹시스템의 제공을 그 목적으로 한다.
더 구체적으로는 이러한 새로운 랭킹시스템의 구현을 위하여 사용자들의 스코어를 인접한 사용자들과의 상대적인 관계를 고려, 영토지도(Territory Map)상 영토의 크기로 환산하고, 환산된 영토가 표시될 지도 상의 레벨을 결정하는 방법의 제공을 그 목적으로 한다.
이하에서 기술되는 다양한 실시예는 사용자들의 스코어를 소정의 방식에 의하여 변환하여 영토지도의 형태로 표시하는 랭킹 표시방법에 관한 것이다.
랭킹지도란 사용자들의 스코어로부터 얻어지는 랭킹을 시각적으로 표시하기 위한 것으로, 바람직하게는 스코어 자체가 얻어지는 과정이나 플랫폼과는 독립적이며 서로 무관한 영토지도 형태의 데이터를 의미한다.
각 사용자는 랭킹지도 상의 임의의 지점을 자신의 위치로 가지며, 사용자들의 스코어와 해당 사용자의 랭킹지도상의 위치로부터의 거리에 따라서 각 사용자들의 영향력이 계산된다.
계산된 영향력에 따라서 각 사용자들이 랭킹지도 상에서 차지하는 영역이 동적으로 갱신되며, 갱신된 결과는 랭킹지도 상에 시각적으로 표시된다.
사용자들의 스코어는 스포츠 경기나 시험점수, 온라인 게임의 점수 등 다양한 지표가 이용될 수 있다. 점수의 형태로 간단히 표시되는 지표 이외에도 소셜 네트워크 서비스 상에서의 사용자의 활동 정도, 제품에 대한 고객들의 만족도와 같은 비전형적인 요소들도 소정의 방식에 의하여 수치화된다면 본 발명을 통하여 랭킹지도 상의 영역의 형태로 그 순위가 표시될 수 있다.
본 발명은 컴퓨터 시스템 상에서 실행될 수 있으며, 둘 이상의 사용자의 스코어와 각 사용자들의 랭킹지도 상의 위치 획득한 다음, 이를 이용하여 각 사용자의 영향력을 계산한다. 이후, 랭킹지도 상의 일부 영역에 대하여 인접한 사용자들간 영향력이 높은 사용자가 해당 영역을 점유하도록 처리하는 방식에 의하여 각 사용자들이 차지하는 랭킹지도 상의 영역을 갱신한다.
이때, 영향력은 스코어가 높을수록 커지며, 각 사용자의 위치로부터 멀어질수록 작아진다.
랭킹 지도의 영역의 적어도 일부는 속성을 가질 수 있으며, 영향력을 계산함에 있어 영역의 속성에 따라서 페널티가 주어질 수 있다.
계산된 영향력을 이용하여 인접한 사용자들간 영역에 대한 영향력을 비교할 때에, 둘 이상의 사용자의 위치가 동일한 경우 해당 위치는 스코어가 가장 높은 사용자가 점유하는 것으로 처리한다.
인접한 위치의 두 사용자에 대해서는, 어느 하나의 사용자의 위치에서 해당 사용자의 영향력보다 인접한 다른 사용자의 영향력이 더 큰 경우, 해당 위치는 상기 인접한 다른 사용자가 점유하는 것으로 처리한다.
이때, 랭킹 지도는 둘 이상의 레벨을 가진다. 각 레벨은 상하의 관계를 가지며, 하위 레벨은 상위 레벨을 소정의 축척에 의하여 확대한 것에 해당한다.
상기 다수의 사용자의 영향력을 계산할 때, 최하위 레벨의 각 경쟁범위 내의 사용자들의 영향력을 비교하여, 해당 경쟁범위에서 가장 넓은 영역을 점유한 사용자의 레벨을 상기 최하위 레벨의 상위 레벨로 변경하고, 상기 상위 레벨로 변경된 사용자들을 대상으로 각 경쟁범위 내의 사용자들의 영향력을 비교하는 과정을 최상위 레벨에 이르기까지 반복한다.
이후, 최상위 레벨에 속하는 사용자들을 제외한 나머지 전체 사용자들을 대상으로, 최하위 레벨의 각 경쟁범위 내의 사용자들의 영향력을 비교하여, 해당 경쟁범위에서 가장 넓은 영역을 점유한 사용자의 레벨을 상기 최하위 레벨의 상위 레벨로 변경하고, 상기 상위 레벨로 변경된 사용자들을 대상으로 각 경쟁범위 내의 사용자들의 영향력을 비교하는 과정을 차상위 레벨에 이르기까지 반복한다. 상기 과정은 차하위 레벨에 이르기까지 반복된다.
이러한 본 발명에 의할 때, 랭킹지도 상의 사용자들의 위치와 각 사용자의 스코어를 각 사용자가 가지는 랭킹지도 상의 영역의 크기로 환산할 수 있다.
이와 같이 환산된 각 사용자별 영역을 계층적 레벨 구조를 갖는 랭킹지도 상의 특정 레벨에 표시하는 것에 의하여 수많은 사용자들의 랭킹을 하나의 랭킹지도 상에 모두 표시할 수 있게 된다.
특히, 상위 레벨의 사용자가 결정되면, 해당 사용자를 제외한 나머지 사용자들에 대해서, 해당 레벨의 하위레벨까지 랭킹 연산을 반복적으로 수행함으로써, 모든 사용자들이 각자 자신의 레벨을 가질 수 있도록 표현하는 것이 가능해진다.
도 1은 외부 서버와 랭킹 서버, 클라이언트들의 연결관계를 설명하는 도면이며,
도 2는 종래기술에 의한 스코어 기준 랭킹과 본 발명에 의한 영역 랭킹을 비교하는 도면이며,
도 3은 사용자의 스코어와 랭킹지도상의 위치로부터 랭킹지도상 영역이 산출되는 과정을 설명하는 도면이며,
도 4는 사용자의 스코어의 증가에 따른 랭킹지도 상의 영역 변화를 설명하는 도면이며,
도 5는 랭킹지도 상의 위치에 따라 영역의 차이가 발생하는 경우를 설명하는 도면이며,
도 6은 랭킹지도의 레벨 개념을 설명하는 도면이며,
도 7은 본 발명에 의한 스코어 및 거리에 기반한 랭킹 계산 방법을 설명하는 플로우차트이며,
도 8은 랭킹지도 상의 거리에 따른 영향력 계산과정을 설명하는 도면이며,
도 9는 랭킹지도 상 영역의 속성에 따른 영향력 변화를 나타내는 도면이며,
도 10은 영향력 비교에 의한 영역 점유 과정을 설명하는 도면이며,
도 11은 동일한 셀의 두 사용자 사이의 영역 점유 과정을 설명하는 도면이며,
도 12는 인접한 셀의 두 사용자 사이의 영역 점유 과정을 설명하는 도면이며,
도 13은 어느 하나의 사용자의 영역 일부에 대한 영역 점유 과정을 설명하는 도면이며,
도 14는 어느 하나의 사용자 영역의 일부로서, 해당 사용자의 위치에 해당하는 영역에 대한 점유 과정을 설명하는 도면이며,
도 15는 랭킹지도에서 상위 레벨로의 층위이동에 따른 경쟁범위 확장을 설명하는 도면이며,
도 16은 레벨 개념을 배제한 채 영역을 계산하는 경우의 사용자 영역 형태를 예시하는 도면이며,
도 17은 어느 하나의 레벨에 이르는 영역경쟁 연산이 종료된 후, 그 직전 레벨에 이르는 영역경쟁 연산을 수행하는 과정을 설명하는 도면이다.
이하에서는 본 발명의 바람직한 실시예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.
발명의 상세한 설명 또는 특허청구범위에서 어느 하나의 구성요소가 다른 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 당해 구성요소만으로 이루어지는 것으로 한정되어 해석되지 아니하며, 다른 구성요소들을 더 포함할 수 있는 것으로 이해되어야 한다.
또한, 발명의 상세한 설명 또는 특허청구범위에서 "~수단", "~부", "~모듈", "~블록"으로 명명된 구성요소들은 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이들 각각은 소프트웨어 또는 하드웨어, 또는 이들의 결합에 의하여 구현될 수 있다.
이하에서 개시(開示)되는 순위 표시방법은 종래기술에 의한 스코어에 기반한 리스트 형태의 순위 표시방법과 비교하여 완전히 새로운 사용자 인터페이스를 제시한다.
이하에서, 랭킹지도란 사용자들의 순위를 영토지도의 형태로 시각적으로 보여주기 위한 것으로, 지도 형태의 데이터이다. 이때, 랭킹지도는 바람직하게는 스코어가 수집되는 과정이나 플랫폼 그 자체와는 독립적인 별개의 것이다. 즉, 이미 각 사용자들의 스코어가 존재한다고 가정하고 이를 이용하여 후술하는 바와 같이 랭킹지도 상의 영역으로 환산한 다음 표시한다.
예를 들어, 공지의 코에이(Koei)사의 삼국지(三國志, romance of the three kingdoms) 게임의 경우 누가 어느 위치를 차지하고 있는지를 영토 지도의 형태로 보여주는 것이 게임의 내용 그 자체를 이루지만, 본 발명은 스코어가 생성되는 과정과는 독립적으로, 단지 게임 플레이시 얻어진 사용자들의 스코어를 소정의 알고리즘에 의해 변환하여 각 사용자의 영향력을 계산하고, 각 사용자들의 영향력과 랭킹지도 상의 위치에 따라 영역 경쟁을 진행한 다음, 그 결과 얻어진 영역을 영토지도의 형태로 표시함으로써 사용자들의 랭킹을 보여주는 것이다. 랭킹지도 상의 영역의 크기가 각 사용자들의 랭킹에 해당한다.
이하에서, 사용자란 랭킹지도 상에 그 순위가 표시되는 대상을 의미한다. 편의상 "사용자(User)"라는 단어를 사용하였을 뿐, 사람 이외의 모든 유형의 대상물에 대해 본 발명에 의한 랭킹 표시 방법이 적용될 수 있음은 물론이다. 따라서, 본 발명에서 "사용자"란 랭킹지도 상에 순위가 표시되는 대상물(Object)의 총칭으로 이해되어야 하며, 자연인을 지칭하는 것으로 한정되어 해석되지 아니한다. "대상물"과 동등한 용어로서 이하 혼용하기로 한다.
이하에서, 랭킹과 순위는 동일한 의미를 가지는 바 혼용하기로 한다.
이하에서, 외부 서버란 대상물들의 스코어를 생성하거나 보유하는 주체를 지칭한다. 온라인 게임 서버 또는 전자학습 시스템 등이 외부 서버에 해당할 수 있을 것이다.
이하에서, 스코어란 대상물들의 특정한 상태나 성적, 성능 등을 나타내는 지표로서 바람직하게는 크기의 비교가 가능한 형태의 데이터이다. 시험점수, 경기성적, 온라인 게임의 포인트나 경험치와 같은 지표들이 스코어로 사용될 수 있다. 이외에도 사용자의 소셜 네트워크 서비스나 온라인 커뮤니티에서의 활동지수나 제품에 대한 사용자의 만족도와 같은 비전형적인 요소들 또한 수치화된다면 마찬가지로 스코어로 사용될 수 있다.
이하에서, 랭킹지도 상의 위치란 각 사용자들이 랭킹지도 상에서 유일하게 가지는 위치정보를 의미한다. 바람직하게는 랭킹지도 상의 위치는 스코어가 생성되는 플랫폼(예컨대, 온라인 게임, 전자학습시스템 등)과는 독립적이고, 서로 무관하도록 구현될 수 있다. 하지만, 외부 서버로부터 지도형태의 데이터를 획득하여 이를 랭킹지도로 사용하는 것을 배제하지 아니한다.
각 사용자들은 단지 자신의 순위를 랭킹지도 상에 표시하기 위하여, 랭킹지도 상의 위치를 정할 수 있다. 랭킹지도는 스코어가 생성되는 과정과 독립적이며 현실의 지도가 아니기 때문에 사용자들은 임의의 위치를 선택할 수 있으며, 바람직하게는 한번 선택한 위치는 고정적으로 유지된다. 물론, 경우에 따라서는 위치를 변경할 수 있는 기회가 제공될 수도 있다.
이하에서, 영역랭킹이란 사용자들의 스코어를 랭킹지도 상의 영역으로 환산하여 매긴 순위를 가리킨다. 넓은 영역을 차지한 사용자가 높은 순위에 랭크된다. 따라서, 랭킹지도 상에서 넓은 영역으로 표시된 사용자 순으로 랭킹이 표시되는 것이다. 즉, 스코어에 따라서 리스트의 형태로 랭킹을 표시하는 종래기술과는 달리 스코어를 변환하여 랭킹지도 상의 영역의 크기로 환산하여 그 크기에 따라 매겨지는 순위를 의미하는 것으로 이해될 수 있다.
이하에서, 영향력이란 사용자의 스코어가 랭킹지도 상의 각 영역에 대하여 미치는 지표를 의미한다. 이러한 영향력은 사용자의 스코어와 사용자의 랭킹지도 상 위치로부터의 거리에 따라 수치적으로 계산된다.
이하에서, 사용자의 영역이란 랭킹지도 상에서 각 사용자가 차지한 범위를 의미한다. 지도 상에 각 사용자가 차지하는 영토처럼 표현될 수 있다.
이하에서, 영역의 점유가란 사용자가 랭킹지도 상의 영역의 적어도 일부를 차지하는 행위를 가리킨다. 후술하는 바와 같이 영역랭킹을 집계하기 위하여 각 사용자의 영역을 갱신하는 과정에서 랭킹지도 상의 영역을 어느 사용자가 점유할 것인지를 판정하게 된다. 바람직하게는 해당 영역에 대한 인근 사용자들의 영향력을 비교하여 가장 영향력이 큰 사용자가 해당 영역을 점유하는 것으로 처리된다.
이러한 영역의 점유는 랭킹지도 상에서 인접한 위치를 가진 사용자들간 서로의 영역의 적어도 일부에 대하여 영향력을 비교함으로써 이루어질 수 있다. 즉, 스코어에 따라서는 기존에는 A 사용자의 영역이었던 범위를 B 사용자가 점유하는 경우가 발생한다.
이하에서, 랭킹지도의 레벨이란 랭킹지도를 표시하는 축척(縮尺, scale)을 의미한다. 예컨대, 최상위 레벨에서는 전세계가 표시되며, 그 아래 레벨에서는 어느 하나의 대륙이 표시되며, 그 아래 레벨에서는 해당 대륙의 어느 하나의 국가가 표시되고, 또 그 아래 레벨에서는 해당 국가의 특정 도시가 표시되고, 또 그 아래의 레벨에서는 해당 도시의 촌락이 표시되는 등이 그것이다.
(세계, 대륙, 국가, 도시 및 촌락이라는 용어는 계층구조를 가지는 랭킹지도의 레벨 개념을 비유적으로 설명하기 위하여 차용한 것이지만, 이하에서도 이해를 돕기 위하여 사용하기로 한다.)
랭킹지도는 둘 이상의 레벨을 가지며, 이때 각 레벨은 상하의 관계를 가진다.
즉, 임의의 두 레벨 가운데 어느 하나는 상위 레벨이고, 나머지 하나는 하위 레벨인 관계가 성립한다.
하위 레벨은 상위 레벨을 소정의 축척에 의하여 확대한 것이며, 상위 레벨은 역으로 하위 레벨을 소정의 축척에 의하여 축소한 것이라 볼 수 있다.
이때, 랭킹지도란 사용자들의 랭킹을 표시하기 위하여 임의로 만든 지도 형태의 데이터이기 때문에 실제 지도와 같이 엄밀하게 확대 또는 축소가 이루어질 필요는 없으며, 하위 레벨에서는 화면상에 크게 표시되는 영역이 상위 레벨에서는 작게 표현되는 정도로 족하다.
이하에서, 사용자의 랭킹지도 상의 레벨이란 해당 사용자가 랭킹지도 상에서 차지하는 영역이 표시되는 레벨을 의미한다. 각 사용자는 스코어에 따라서 차지하는 영역의 크기가 대략적으로 정해지는데, 그 크기는 상기 예에서 "촌락" 단위의 크기일 수도 있으나, "대륙" 단위의 크기일 수도 있다.
사용자의 영역의 크기가 "대륙"에 해당하는 크기인 경우라면, 랭킹지도 상의 최상위 레벨에서 "대륙"의 크기로 표시될 것이다. 이 경우 사용자의 랭킹지도 상의 레벨은 최상위 레벨이 된다. 반면, 사용자의 영역의 크기가 "촌락"에 해당하는 크기라면, 랭킹지도 상의 최하위 레벨에 "촌락"의 크기로 표시될 것이다. 이 경우 사용자의 랭킹지도 상의 레벨은 최하위 레벨이 될 것이다.
사용자들의 스코어에 따라 인접 사용자들간 영역의 점유를 통한 영역의 확장이 이루어질 수 있으며, 사용자의 랭킹지도 상의 영역이 일정 정도 이상 커지면 해당 사용자의 영역은 랭킹지도 상의 상위 레벨로 옮겨져 표시된다. 이 경우 해당 사용자의 랭킹지도 상의 레벨이 상승한 것이라 표현할 수 있다.
즉, 본 발명에서 "레벨"이란 사용자의 영역이 표시되는 "랭킹지도 상의 축척"을 의미하는 것이다.
한편, 이하에서는 외부서버가 랭킹 서버로 하여금 대상물들의 랭킹을 랭킹지도의 형태로 표시할 수 있도록, 대상물들의 스코어를 제공하는 경우의 실시예를 들어 설명하지만, 랭킹 서버의 관리자가 대상물들의 스코어를 직접 입력하거나, 별도의 데이터베이스에 기 저장된 스코어를 이용하여 랭킹지도의 형태로 표시하는 등의 다양한 실시예가 가능하며, 이 또한 본 발명의 범위에 속하는 것인 물론이다.
도 1에는 외부 서버와 랭킹 서버, 클라이언트들의 연결관계가 도시되어 있다.
외부 서버(1)는 사용자들의 스코어를 생성하거나 보유한다.
외부 서버(1)는 온라인 게임 서버일 수 있으며, 이 경우 사용자들의 온라인 게임 플레이시 각 사용자의 스코어를 집계할 수 있다.
외부 서버(1)는 전자학습 시스템일 수 있으며, 이 경우 사용자들의 문제풀이 점수를 스코어로 집계할 수 있다.
클라이언트(3)는 외부 서버(1) 또는 랭킹 서버(2)에 접속하여 사용자의 영역랭킹을 수신하여 화면에 표시하는 수단에 해당한다. 개인용 컴퓨터나 스마트폰 등이 될 수 있다.
이에 더하여, 클라이언트(3)는 외부 서버(1)에 의한 스코어 생성을 위한 액티비티에 참여하기 위한 수단일 수도 있다. 예컨대, 온라인 게임 클라이언트 소프트웨어 또는 전자학습 클라이언트 소프트웨어를 실행하는 수단일 수 있다.
상기 예에서, 사용자는 자신의 클라이언트(3)를 이용하여 외부 서버(1)에 접속하여 온라인 게임 플레이를 하거나 학습활동을 하는 등의 방식으로 스코어 생성을 위한 액티비티를 수행할 수 있으며, 랭킹 서버(2)가 제공하는 사용자들간의 순위를 확인할 수 있다.
랭킹 서버(2)는 스코어가 생성되는 플랫폼과는 독립적으로, 외부 서버(1)들로부터 각 사용자들의 스코어를 수집하여 랭킹지도 상의 영역으로 변환하여 표시한다. 랭킹지도 상의 영역의 크기가 사용자들의 랭킹에 해당한다.
이때, 랭킹 서버(2)는 둘 또는 그 이상의 외부 서버(1)들과 연결되어 각 외부 서버(1)가 제공하는 스코어를 가지고서 각각의 랭킹지도를 생성하여 제공할 수도 있으며, 둘 이상의 이종의 외부 서버(1)로부터 제공받은 스코어를 통합하여 하나의 랭킹으로 표시할 수도 있다.
한편, 랭킹 서버(2)는 바람직하게는 랭킹 서버(2)가 호스팅하는 웹 페이지 상에서 직접 클라이언트(3)들로 랭킹을 제공할 수도 있지만, 외부 서버(1)로 생성된 영역랭킹에 관한 데이터를 넘겨주어 외부 서버(1)로 하여금 사용자에게 제공하도록 할 수도 있다.
이외에도 전용의 모바일 앱을 사용자들에게 영역랭킹을 표시하는 등 다양한 형태와 방법으로 영역랭킹을 제공할 수 있다.
한편, 랭킹 서버(2)는 둘 이상의 사용자들에 대하여 1회성으로 수집된 스코어에 대하여 영역랭킹의 형태로 변환하여 보여줄 수도 있지만, 누적적으로 수집되는 데이터를 이용하여 영역랭킹의 형태로 제공할 수도 있다.
본 발명은 기 수집된 사용자별 스코어와 랭킹지도 상의 위치에 기반하여 계산된 영향력을 근거로, 각 사용자들의 랭킹지도 상의 영역을 갱신하고, 갱신된 영역을 랭킹지도 상에 시각적으로 표시하는 방법에 관한 것으로, 바람직하게는 도 1에 도시된 바와 같은 랭킹 서버(2)에서 실행될 수 있다.
다만, 외부 서버(1)가 본 발명에 의한 방법을 실행하거나, 클라이언트(3)가 실행하는 경우를 배제하지 아니한다.
이하에서는 도 2 내지 도 6를 참조하여, 영역랭킹의 개념을 살펴보기로 한다.
도 2는 종래기술에 의한 스코어 기반 랭킹과 본 발명에 의한 영역 랭킹을 비교하는 도면이다.
도 2에는 랭킹지도가 표시되어 있으며, 각 사용자들이 차치한 영역이 각각 표시되어 있다. 이때, 이해를 돕기 위하여 각 사용자들의 영역마다 2(3)와 같은 표시가 되어 있는데, 앞의 숫자는 본 발명에 의한 영역랭킹을 의미하며 괄호 안의 숫자는 스코어 순으로 매긴 랭킹(종래기술)을 의미한다.
영역랭킹은 반드시 스코어가 높은 순으로 정해지는 것은 아니다. 도 2의 우측에 도시된 표를 통해 스코어가 가장 높은 사용자가 영역랭킹으로는 5위를 차지한 것을 확인할 수 있다.
후술하는 바와 같이 영역랭킹은 스코어와 랭킹지도 상의 위치에 따라서 결정되기 때문에 영역랭킹은 반드시 스코어의 순으로 결정되지 않을 수 있다.
도 3은 사용자의 스코어와 랭킹지도상의 위치로부터 랭킹지도상 영역이 산출되는 과정을 개략적으로 설명한다.
도 3에 도시된 바에 의할 때, 스코어와 랭킹지도 상의 위치가 입력값으로 들어가면, 랭킹지도 상의 사용자 영역이 계산되고, 해당 사용자의 랭킹지도 상의 레벨이 결정되어 출력값으로 나오는 것을 알 수 있다.
스코어는 바람직하게는 외부 서버(1)로부터 수집될 수 있다.
한편, 입력값인 스코어와 랭킹지도 상의 위치로부터 출력값인 사용자의 랭킹지도 상의 영역이 계산되는 과정은 영향력 계산, 영향력 비교 및 점유영역 갱신의 단계를 거친다.
영향력은 바람직하게는 사용자의 랭킹지도 상의 위치로부터 멀어질수록 낮아지며, 사용자의 스코어가 높을수록 커진다. 즉, 각 사용자는 자신의 랭킹지도 상의 위치에서 가장 영향력이 높고, 자신의 위치에서부터 멀어질수록 영향력이 낮아진다.
영향력 비교 단계에서는 랭킹지도 상의 적어도 일부의 영역에 대하여 해당 영역에 인접한 둘 이상의 사용자들의 영향력을 비교한다. 그 가운데 가장 영향력이 높은 사용자가 해당 영역을 점유한다.
이러한 과정에 의해 각 사용자들이 점유한 영역을 갱신한다. 갱신된 영역은 랭킹지도 상에 표시된다.
도 4는 사용자의 스코어의 증가에 따른 랭킹지도 상의 영역 변화를 설명하는 도면이다.
도 4의 (a)에는 각 사용자들의 스코어와 랭킹지도 상의 영역의 면적이 표시되어 있다.
도 4의 (a) 우측 상단에는 "User 8158", "Score : 49745", "Area : 20489"와 같이 기재되어 있는 것을 확인할 수 있다. 8158번 사용자이며, 스코어는 49745, 랭킹지도 상에서 점유한 영역의 크기는 20489라는 의미이다.
한편, 도 4의 (b)에는 같은 위치에 "User 8158", "Score : 49815", "Area : 25299"라 표시되어 있다. 즉, 스코어가 70만큼 증가함에 따라 랭킹지도 상의 해당 사용자의 영역이 20489에서 25299만큼 커진 것을 알 수 있다.
해당 사용자의 스코어가 증가함에 따라 랭킹지도 상의 영역이 증가한 것인데, 스코어가 높아진다고 하여도 단순히 선형적인 관계에 의해 랭킹지도 상의 영역이 넓어지는 것은 아니며 도 3과 관련하여 설명한 바와 같은 과정을 거치기 때문에 랭킹의 상승여부나 상승정도는 랭킹지도 상의 인접한 다른 사용자들의 영향력에 따라 달라진다. 즉, 랭킹지도 상의 주위 사용자들과의 상대적인 관계에서 결정되는 것이다.
도 5는 랭킹지도 상의 위치에 따라 영역의 차이가 발생하는 경우를 설명하는 도면이다.
도 5에 도시된 랭킹지도의 우측에는 사용자 A의 영역이, 좌측에는 사용자 B의 영역이 표시되어 있다. 한편, 사용자 A와 사용자 B는 스코어가 각각 49745로 동일하지만, 랭킹지도 상의 영역은 두 배 이상 차이가 나는 것을 확인할 수 있다.
이는 랭킹지도 상의 사용자 A의 주위 사용자들이 사용자 B의 주위 사용자들에 비해 영향력이 상대적으로 낮기 때문에 나타나는 현상이다.
즉, 영역랭킹은 스코어가 반드시 결정적인 변수가 아닐 수 있으며, 랭킹지도 상의 위치에 따라서 크게 달라질 수 있다.
도 6은 랭킹지도의 레벨 개념을 설명하는 도면이다.
도 6의 (a)는 랭킹지도의 최상위 레벨을 예시하며 "전세계"에 해당한다. 다수의 "대륙"이 랭킹지도 상에 표시된 것을 확인할 수 있다.
한편, 도 6의 (b)는 랭킹지도에서의 그 하위레벨로 "대륙"에 대응된다. 해당 대륙에 속하는 다수의 "국가"가 랭킹지도 상에 표시된다.
한편, 도 6의 (c)는 도 6의 (b)에 도시된 어느 하나의 "국가"를 확대한 것으로, 도 6에서는 최하위 레벨에 해당한다. 어느 하나의 "국가"를 이루는 다수의 "도시"들이 랭킹지도 상에 표시된다.
즉, 도 6의 (a)에서 도 6의 (b), 도 6의 (c)로 갈수록 랭킹지도 상의 하위레벨이 되며, 그 반대로 갈수록 상위레벨이 되는 관계이다.
한편, 도 6의 (a) 내지 (c)는 각각 구획지어져 있는데, 각각의 구획지어진 영역은 어느 하나의 사용자의 영역에 해당한다.
각 사용자는 자신의 영역의 크기에 따라서 각각 표시되는 레벨이 달라지며, 도 6의 (a) 내지 (c)에 도시된 바와 같이 각자의 레벨에 자신의 영역이 표시된다.
각 사용자들은 같은 레벨의 다른 사용자들과의 경쟁을 통해서 영역을 점차 확대할 수 있으며, 랭킹지도 상의 상위레벨로 올라가거나 또는 반대로 내려오게 될 수 있다.
한편, 이와 같이 랭킹지도 상에 사용자들의 영역을 해당 사용자의 레벨에 표시함으로써, 사용자들은 자신의 레벨에 해당하는 랭킹지도를 보면서 해당 레벨에서 자신의 영역의 크기를 시각적으로 한눈에 확인할 수 있다. 뿐만 아니라, 해당 레벨의 다른 경쟁자들의 영역의 크기나 위치 또한 시각적으로 한눈에 확인할 수 있다.
종래기술에 의할 때, 수만, 수십만 명의 사용자들 가운데 자신의 순위를 찾는 것이 번거롭고 어려울 뿐 아니라, 자신이 대략 어느 정도의 실력인지를 한눈에 알기가 어려웠으나, 이와 같이 영토지도의 형태로 표시하는 것에 의하여 직관적으로 인지할 수 있다.
특히, 레벨을 나누어 표시함으로써 수많은 사용자들을 하나의 랭킹지도 상에 모두 표시하는 것이 가능해진다. 예컨대, 하나의 레벨에 10명의 사용자의 영역을 표시한다고 가정하고, 레벨의 수를 n이라 하면, 표시가능한 전체 사용자의 수는 10n에 달한다.
뿐만 아니라, 해당 레벨의 사용자들은 대체로 영역의 크기가 비슷하기 때문에 스코어가 비슷할 가능성이 높다. 즉, 비슷한 실력을 가진 사용자들간의 경쟁이 자연스럽게 이루어진다.
이때, 주위 사용자란 랭킹지도 상에서 우연히 비슷한 위치를 차지한 사용자들로서, 스코어가 생성된 플랫폼 상에서 실제 경쟁했던 관계에 있다거나, 실제 접속지역이 일치한다거나 하는 등의 관련이 있을 필요는 없다.
다만, 이러한 관계에 따라 랭킹지도 상에서 가까운 위치를 할당하는 방법으로 구현할 수도 있음은 당연하다.
중요한 점은 이러한 영역랭킹 자체가 스코어가 생성되는 플랫폼과는 독립적으로 운영될 수 있다는 점에 있다.
이하에서는 도 7 내지 도 10를 참조하여 본 발명에 의한 스코어 및 거리에 기반한 랭킹 계산 방법의 일 예를 특정한 실시예를 통해 설명하기로 한다.
도 7은 본 발명에 의한 스코어 및 거리에 기반한 랭킹 계산 방법을 설명하는 플로우차트이다.
도 7에 도시된 본 발명은 컴퓨터 상에서 실행될 수 있는 방법에 관한 것으로, 바람직하게는 도 1에 도시된 바와 같이 하나 이상의 외부 서버(1)와 연결되는 랭킹 서버(2)에서 실행될 수 있다.
도 7에 도시된 본 발명은 각 사용자들의 영향력을 계산하는 단계(S1)와 계산된 영향력을 이용하여 각 사용자들의 랭킹지도 상의 영역을 갱신하는 단계(S2)를 포함한다.
S1 단계에서는 다수의 사용자들의 스코어와 랭킹지도 상의 위치를 획득한다. 사용자들의 스코어는 외부 서버(1)로부터 제공받거나, 또는 랭킹서버(2)의 사용자가 직접 입력할 수도 있을 것이다. 각 사용자의 랭킹지도 상의 위치는 랭킹서버(2)가 미리 저장하였다가 이를 이용할 수 있다.
그리고, 각 사용자의 랭킹 지도 상의 위치를 중심으로 거리에 따른 영향력을 계산한다.
도 8은 랭킹지도 상의 거리에 따른 영향력 계산과정을 설명하는 도면이다.
도 8의 우측에는 랭킹지도 상에 사용자 A의 위치가 점으로 표시되어 있다. 그리고, 해당 위치에서의 사용자 A의 영향력은 900인 것을 알 수 있다.
그러나, 해당 위치를 중심으로 일정거리 이격된 동심원상의 위치에서는 A의 영향력이 500으로 낮아지며, 조금 더 이격된 동심원상의 위치에서는 그 영향력이 100으로 줄어든다.
즉, 도 8의 좌측에 도시된 것처럼 영향력은 랭킹지도 상의 사용자의 위치로부터 멀어질수록 낮아진다. 그리고, 영향력의 크기는 스코어가 클수록 커진다.
S1 단계에서는 이와 같은 조건을 만족하는 알고리즘에 의하여 랭킹지도상 위치로부터의 거리에 따른 각 사용자의 영향력을 계산한다.
한편, 랭킹지도 상의 영역의 적어도 일부는 속성을 가질 수 있다.
예컨대, 일부의 영역은 점유가 불가능한 속성을 가질 수도 있다. 이 경우 랭킹지도 상의 모든 영역을 사용자가 점유할 수 있는 것은 아니며, 점유가 가능한 영역에 대해서만 사용자들간의 경쟁이 일어난다.
도 2에 예시된 랭킹지도에는 사용자들이 점유한 영역들이 표시되어 있다. 즉, 나머지 영역은 사용자들이 점유할 수 없는 영역에 해당한다. 예를 들자면, 육지는 점유가 가능한 영역으로, 바다는 점유가 불가능한 영역으로 처리할 수도 있다.
S1 단계에서 각 사용자들의 영향력을 계산함에 있어, 영역들의 속성이 고려될 수도 있다.
영역들은 예컨대, "습지", "숲", "길", "성벽"과 같은 속성을 가질 수도 있으며, 이러한 영역들의 속성은 사용자의 영향력 계산시에 변수로 고려될 수 있다.
도 9는 랭킹지도 상 영역의 속성에 따른 영향력 변화를 나타내는 도면이다.
도 9의 (a)에 도시된 랭킹지도는 사용자 A 및 B의 영역을 각각 나타낸다. 이때, 사용자 A의 영역 우측으로 B의 영역 가까이에 "성벽"의 속성을 갖는 영역이 존재하는 것을 확인할 수 있다.
"성벽"의 속성을 갖는 영역은 사용자들의 해당 영역에 대한 영향력을 계산함에 있어 페널티로 작용하거나 또는 인센티브로 작용하도록 할 수 있다. 즉, 영역의 속성이 영향력을 증감시키는 요인으로 작용하는 것이다.
예컨대, 자신의 영역 내에 "성벽" 속성의 영역을 가지는 경우에는 해당 구간의 영향력 계산시에, 거리 증가에 따른 영향력 감소 기울기를 완만하게 할 수 있다. 또는 계산된 영향력에 소정의 값을 더하는 방식으로 처리할 수도 있다. 이 경우 영역의 해당 속성은 영향력 계산시 인센티브로 작용한다.
반대로, 타인의 영역 내에 "성벽" 속성의 영역이 존재하는 경우에는 해당 구간에 대한 영향력 계산시에, 거리 증가에 따른 영향력 감소 기울기를 가파르게 할 수 있다. 또는 계산된 영향력에 소정의 값을 빼는 방식으로 처리할 수도 있다. 이 경우 영역의 해당 속성은 영향력 계산시 페널티로 작용한다.
도 9의 (b)는 사용자 A의 위치로부터 사용자 B에 이르는 동안 A의 영향력을 나타내는 그래프이다.
영향력은 A의 위치로부터의 거리가 증가할수록 일정하게 줄어들다가 "성벽"을 지나는 동안에는 기울기가 완만해져 거의 줄어들지 않는다. 이후, "성벽" 너머의 구간에서는 다시 원래의 기울기에 따라서 일정하게 줄어든다.
도 9의 (c)는 사용자 B의 위치로부터 사용자 A에 이르는 동안 B의 영향력을 나타내는 그래프이다.
영향력은 B의 위치로부터의 거리가 증가할수록 일정하게 줄어들다가 사용자 A의 영역에 존재하는 "성벽"을 지나는 동안에는 기울기가 급격하게 가파르게 변화하며 크게 줄어든다. 이후, "성벽" 너머의 구간에서는 다시 원래의 기울기에 따라서 일정하게 줄어든다.
이와 같이 영역에 속성을 부여하되, 부여된 영역의 속성을 영향력 계산시 변수로 사용함으로써 스코어를 영역랭킹으로 변환하는 과정에서, 주위 사용자들과 비교할 때의 영향력의 상대적 크기뿐만 아니라, 점유한 영역의 위치상 잇점이 더 고려되도록 할 수 있다.
이후, S2 단계에서는 각 사용자 별로 계산된 거리에 따른 영향력을 이용하여 상기 각 사용자의 상기 랭킹지도 상의 영역을 갱신한다.
도 10은 영향력 비교에 의한 영역 점유 과정을 설명하는 도면이다.
도 10의 (a)에 도시된 동심원은 사용자 A의 랭킹지도상 위치로부터의 거리를 설명하기 위하여 참고적으로 표시된 것이며, 도 8에서 계산된 영향력이 적용되는 거리를 의미한다.
한편, 도 10의 (a)에는 사용자 B, C 및 D의 위치가 표시되어 있고, 해당 위치에서의 각 사용자의 영향력이 표시되어 있다.
애초에는 사용자 A, B, C 및 D가 각각 자신의 영역을 차지하고 있었을 것이나, 해당 사용자들에 대한 영향력 비교 과정을 통하여 도 9에 도시된 바와 같이 각 사용자의 영역이 갱신된다.
도 10의 (a)에 의할 때, 사용자 B는 영향력이 80이며, 해당 영역에서 사용자 A의 영향력은 500이다. 따라서, 사용자 A는 사용자 B의 위치에 해당하는 영역을 점유하게 된다.
사용자 C는 자신의 랭킹지도 상의 위치에서 450의 영향력을 가진다. 사용자 A는 마찬가지로 사용자 C의 위치에 해당하는 영역을 점유한다.
반면, 사용자 D는 자신의 위치에서의 영향력이 510이다. 따라서, 사용자 A는 사용자 D의 영역을 점유하지 못한다. 반대로, 사용자 D 또한 사용자 A의 영역을 점유하지 못한다.
이와 같은 과정을 거쳐 영역이 갱신되면 사용자 A가 점유한 랭킹지도 상의 영역은 도 10의 (b)에 도시된 바와 같이 확장된다.
도 10의 (b)에는 사용자 A가 기존 사용자 B, C의 영역을 점유한 것으로 확인할 수 있다.
한편, 이와 같이 사용자의 영역이 갱신되면, 랭킹서버(2)는 각 사용자의 영역의 크기에 따라서 랭킹을 결정한다.
이와 같은 과정을 통해 사용자들의 영역랭킹이 계산된다.
이렇게 계산된 사용자들의 영역랭킹은 도 2 또는 도 4에 예시된 바와 같이 랭킹지도 상의 특정 레벨에 각 사용자별 영역으로 표시될 수 있다.
이처럼, 종래기술과 같이 스코어에 따라서 선형적으로 랭킹을 정하지 아니하며, 스코어를 영역랭킹으로 변환하는 과정에서 주위 사용자들과의 상대적인 영향력 크기와 점유한 영역의 위치상 잇점을 반영함으로써 사용자들간 보다 적극적인 랭킹 경쟁을 유도할 수 있으며, 랭킹 경쟁 그 자체에 대한 흥미를 유발할 수 있다.
한편, 이하에서는 도 11 내지 도 14에 도시된 실시예를 참조하여 S2 단계에서의 사용자들간의 영향력 비교에 의한 영역의 점유 여부 판정 과정을 부연하기로 한다.
도 11 내지 도 14에 예시된 실시예는 인접한 사용자 간의 영역 경쟁을 몇 가지의 경우로 나누어서 예시하는 것으로, 예시된 방법 이외의 다른 방식으로 처리가 가능함은 물론이다.
도 11은 동일한 셀의 두 사용자 사이의 영역 점유 과정을 설명하는 도면이다.
랭킹지도의 영역은 쪼갤 수 없는 기본단위를 가진다. 이를 편의상 "셀"이라 칭하기로 한다.
랭킹지도의 영역의 크기와 관련하여 상기에서는 이해를 돕기 위하여, "국가", "도시"와 같은 비유적 표현을 사용하였는데, 다수의 "셀"이 모여서 일정한 크기가 되면 "도시"가 되고, "도시"들이 모여서 일정한 크기를 이루면 "국가"가 되는 관계로 이해할 수 있다.
한편, 각 사용자들이 랭킹지도 상에 각각 자신의 위치를 정할 수 있음은 상기에서 살펴본 바와 같은데, 각 사용자는 랭킹지도 상의 임의의 하나의 "셀"을 선택하여 이를 자신의 랭킹지도 상 위치로 할 수 있다.
그런데, 만일 둘 또는 그 이상의 사용자가 동일한 셀을 자신의 위치로 선택한 경우에는 도 11에 도시된 바와 같이 처리된다.
도 11의 (a)에 도시된 바에 의할 때, 사용자 A와 사용자 B의 위치가 동일한 셀인 것을 확인할 수 있다.
이때, 해당 셀에서의 사용자 A의 영향력은 300이며, 사용자 B의 영향력은 200이다. 따라서, 해당 셀은 사용자 A가 점유하게 된다.
사용자 자신의 셀에서의 영향력은 스코어에 비례하는 관계에 있으므로 스코어가 가장 높은 사용자가 점유하는 것으로 처리하여도 무방하다.
도 11의 (b)에는 해당 셀이 사용자 A의 영역으로 표시된 것을 확인할 수 있다.
도 12는 인접한 셀의 두 사용자 사이의 영역 점유 과정을 설명하는 도면이다.
이러한 경우 어느 하나의 사용자의 위치에 해당하는 셀에서 인접한 다른 사용자의 영향력이 더 큰 경우, 해당 셀을 상기 인접한 다른 사용자가 점유하는 것으로 처리한다.
도 12의 (a)에 도시된 바에 의할 때, 사용자 A가 위치한 셀과, 사용자 B가 위치한 셀이 서로 인접한 것을 확인할 수 있다.
이때, 사용자 B의 셀에서 사용자 A의 영향력은 250이며, 사용자 B의 영향력은 200이므로, 사용자 A가 사용자 B의 셀(영역)을 점유하게 된다.
도 12의 (b)에는 사용자 A의 셀과 사용자 B의 셀을 모두 사용자 A가 점유한 것으로 표시되는 것을 확인할 수 있다.
도 13과 도 14는 사용자들의 영역이 확장되어 쪼갤 수 있는 다수의 영역(셀 또는 이보다 더 큰 단위여도 무방하다.)을 포함하는 경우의 영역경쟁 과정을 설명한다.
도 13은 두 사용자가 서로의 영역의 일부에 대해서 영역 경쟁을 하는 경우를 설명한다.
도 13의 (a)에 도시된 바에 의할 때, 사용자 A와 사용자 B가 각각 다수의 셀로 이루어진 영역을 각각 차지하고 있다. 이때, 사용자 B의 영역에 속하는 셀로서 사용자 A의 영역에 인접한 셀에서의 사용자 A와 사용자 B의 영향력이 각각 표시된 것을 확인할 수 있다.
해당 셀에서의 사용자 A의 영향력은 450인 반면, 사용자 B의 영향력은 250으로 사용자 A의 영향력이 더 크다.
이와 같이 어느 하나의 사용자의 다른 사용자의 영역의 일부에 대한 영향력이 해당 다른 사용자의 영향력보다 더 큰 경우에는, 상기 어느 하나의 사용자가 해당 영역을 점유하는 것으로 처리한다.
도 13의 (b)에는 해당 셀을 사용자 A가 점유한 것을 확인할 수 있다.
도 14는 두 사용자가 서로의 영역의 전부에 대해서 영역 경쟁을 하는 경우를 설명한다. 특히, 어느 하나의 사용자 영역의 일부로서, 해당 사용자의 위치에 해당하는 영역에 대한 영영 경쟁시 도 14에 도시된 바와 같이 처리할 수 있다.
도 14의 (a)에 도시된 바에 의할 때, 사용자 B의 위치에 해당하는 셀에서 사용자 B의 영향력은 300이지만, 사용자 A의 영향력은 이보다 더 큰 310인 것을 확인할 수 있다.
이와 같이 다른 사용자의 위치에 해당하는 영역에서 어느 하나의 사용자의 영향력이 해당 다른 사용자보다 더 큰 경우, 해당 다른 사용자의 영역 전부를 상기 어느 하나의 사용자가 점유하는 것으로 처리할 수 있다.
도 14의 (b)에 도시된 바에 의할 때, 사용자 A가 사용자 B의 영역 전부를 점유한 것을 확인할 수 있다.
이처럼, 인접한 사용자들간 영역 경쟁시 서로의 영역 전부에 대해서 경쟁이 이루어지도록 하거나, 또는 일부에 대해서만 경쟁이 이루어지도록 할 수 있다.
한편, 이러한 영역 경쟁은 바람직하게는 경쟁범위마다 이루어진다.
예컨대, 경쟁범위가 "국가"레벨이라고 한다면, 각 "국가"마다 영역 경쟁이 이루어진다. 각 "국가"는 다수의 도시를 이루며, 각 "도시"를 점유한 사용자들간의 영역 경쟁이 이루어지는 것이다.
그리고, 그 가운데에서 영역 경쟁에서 승리한 어느 하나의 사용자는 해당 레벨의 상위 레벨로 올라간다.
예컨대, 어느 하나의 "국가"에서 가장 넓은 면적을 차지한 사용자가 해당 레벨의 상위 레벨로 올라가는 등의 방식으로 처리할 수 있다.
그리고, 상위 레벨로 올라간 사용자는 "대륙" 레벨에서, 해당 "대륙"에 속한 다른 사용자들과 영역 경쟁을 다시 치르게 된다.
즉, 상위 레벨로 올라가는 것에 의하여 경쟁범위가 "국가"레벨에서 "대륙"레벨로 올라간다.
뿐만 아니라, 상위 레벨로 올라갈수록 동일한 경쟁범위 내에서 영역경쟁이 이루어지는 단위 또한 커진다.
"국가"레벨에서는 각 사용자들이 점유한 "도시" 단위로 영역 경쟁이 이루어졌지만, "대륙"레벨에서는 각 사용자들이 점유한 "국가"단위로 영역 경쟁이 이루어진다.
도 15는 랭킹지도에서 상위 레벨로의 층위이동에 따른 경쟁범위 확장을 설명하는 도면이다.
도 15의 (a)는 랭킹지도의 최하위 레벨로, 셀 단위의 경쟁이 일어남을 알 수 있다.
그리고, 도 15의 (b), (c)로 갈수록 경쟁의 단위가 커져서, 영역 경쟁의 결과로 어느 하나의 사용자가 다른 사용자의 영역에 속하는 "촌락"을 점유하게 된다.
도 15의 (a)에서는 영역 경쟁의 결과 다른 사용자의 "셀"을 점유했던 것에 비할 때, 경쟁의 단위가 커진 것을 확인할 수 있다.
그리고, 도 15에서 가장 상위레벨을 표시하고 있는 도 15의 (d)에서는 "도시" 단위로 경쟁하게 된다. 즉, 상위레벨로 갈수록 경쟁의 단위와 범위가 커지는 것이다.
한편, 셀이 랜덤한 형상을 가지도록 설계하고, 상기와 같은 방식으로 하위 레벨에서 일정 크기 이상 다른 사용자의 영역을 점유함으로써 랭킹지도 상의 상위 레벨로 올라가는 방식을 채택한다면 상위레벨로 갈수록 각 사용자들이 차지한 영역은 현실의 지도와 유사하게 다양한 모양과 형상을 가지게 된다.
특히, 다른 사용자의 위치에 해당하는 영역을 점유했을 때 해당 다른 사용자의 영역 전부를 점유하도록 하는 경우, 각 사용자들이 점유하는 영역의 형상은 더욱 복잡한 형상을 띄게 된다.
만일, 단순히 영향력을 수학적으로 연산하여 경쟁상대에 비해 영향력이 높은 구간 전부를 차지하는 것으로 처리한다면 사용자의 영역은 자로 잰 듯 매끈한 모양을 가질 것이다.
도 16은 레벨 개념을 배제한 채 단순히 영향력의 비교에 의해 일괄적으로 영역을 계산하는 경우의 사용자 영역 형태를 예시하는 도면이다.
도 16은 도 15의 (d)에 대응되는데, 각 사용자들이 차지하는 영역이 대체로 미끈한 형상을 가지는 것을 확인할 수 있다. 이는 영토지도로 레벨을 환산하여 표시할 때의 사실감을 떨어뜨리는 요인이 될 수 있다.
한편, 상기와 같이 최하위 레벨에서부터 각 경쟁범위마다 영역경쟁이 이루어지고, 해당 경쟁범위에서 경쟁에 승리한 사용자가 그 상위 레벨로 올라가면, 그 상위 레벨로 올라온 사용자들에 대해서 또 다시 각 경쟁범위마다 영역경쟁을 처리한다.
이러한 일련의 과정은 최상위 레벨에 이르기까지 수행될 수 있다.
한편, 바람직하게는 각 사용자가 각자 자신의 레벨을 가지도록 함으로써 계층적 구조를 갖는 랭킹지도 상에서의 자신의 순위를 직관적으로 알 수 있도록 할 수 있다.
즉, 각 사용자는 랭킹지도 상의 임의의 어느 하나의 레벨에 자신의 영역이 표시된다.
그런데, 상기와 같은 과정을 통해 최하위 레벨에서부터 최상위 레벨에 이르기까지 각 경쟁범위마다 영역경쟁을 처리할 경우, 최상위 레벨의 사용자는 전레벨에 걸쳐, 자신이 속하는 경쟁범위에서 항상 다른 사용자에 비해 경쟁에서 우세한 것으로 판정된다. 따라서, 해당 사용자의 영역은 모든 레벨에 표시되는 문제가 있다.
이러한 문제를 해소하기 위하여, 상기 S1 단계에서는 다음과 같이 연산을 수행할 수 있다.
도 17은 어느 하나의 레벨에 이르는 영역경쟁 연산이 종료된 후, 그 직전 레벨에 이르는 영역경쟁 연산을 수행하는 과정을 설명하는 도면이다.
도 17에서는 이해를 돕기 위하여 랭킹지도 상의 레벨이 3개인 것으로 가정하여 설명한다.
도 17의 (a)에 의할 때, 최하위 레벨은 3개의 경쟁범위를 가진다.
최하위 레벨에서는 A,B,C,D, E,F,G,H, I,J,K,L 사용자가 경쟁하며, 그 가운데 A, G, I 사용자가 상위 레벨로 올라간다.
어떤 사용자가 상위 레벨로 올라갈 것인지에 대해서는 다양한 기준이 사용될 수 있다. 상기에서 예를 든 것과 같이 점유한 영역의 크기가 일정 크기 이상인 사용자가 올라가도록 한다거나, 해당 레벨에서 경쟁한 전체 사용자 가운데 영향력의 순으로 상위 몇 %에 해당하는 사용자들이 올라가도록 한다는 등의 방법들이 사용될 수 있다.
한편, 이와 같이 최하위 레벨에서의 영역경쟁 연산이 완료되면, 바로 그 상위 레벨에 대해서 동일한 연산을 수행한다.
도 17의 (a)에서는 A,G,I 사용자가 각각 경쟁하며, 최종적으로 승리한 A 사용자가 상위 레벨로 올라간다.
이러한 연산은 최상위 레벨에 이르기까지 반복적으로 수행된다.
도 17의 (a)에서는 A 사용자가 최상위 레벨에 올라가는 것으로 연산이 마무리된다.
그러나, 여기에서 연산을 종료할 경우 A 사용자는 모든 레벨에서 자신의 영역이 표시된다.
이러한 문제를 해소하기 위해서, 도 17의 (b)에 도시된 바와 같이, 최상위 레벨의 사용자들을 모두 제외하고, 나머지 사용자들에 대해서 상기와 같은 연산을 차상위 레벨까지 수행한다.
도 17의 (a)의 예에서는 최상위 레벨에 A 사용자만이 존재하므로, A 사용자를 제외하고 나머지 사용자들에 대해서 영역경쟁을 연산한다.
그 결과 최하위 레벨의 경쟁서는 C, G, I 사용자가 승리하여 상위레벨로 올라간다. 즉, 제외된 A 사용자 대신 C 사용자가 상위 레벨로 올라가는 것이다.
이와 같은 연산은 차상위 레벨에 이르기까지 반복적으로 수행되며, 그 후 차상위 레벨에 속하는 사용자들을 모두 제외하고, 나머지 사용자들에 대해서 재차 연산을 수행한다. 물론, 차상위 레벨의 바로 다음 하위 레벨까지 연산이 수행되어야 한다.
이는 차하위 레벨에 이르기까지 반복된다. 즉, 차하위 레벨의 상위 레벨에 속하는 사용자들을 모두 제외한 나머지를 대상으로 재차 이러한 일련의 연산을 수행하기까지 반복한다.
그리고, 최하위 레벨로부터 차하위 레벨에 속한 사용자들을 제외하는 것에 의하여 비로서 연산이 종료된다.
도 17은 레벨이 3개인 것으로 가정하고 있기 때문에, 도 17의 (b)는 차상위 레벨에서의 영역경쟁 연산이 종료된 상황에 해당한다.
이후, 도 17의 (c)와 같이 최하위 레벨에서 차하위 레벨에 속한 사용자들 - 즉, C, G, I 사용자들을 모두 제외함으로써 연산이 종료된다.
도 17의 예에서 최상위 레벨에는 A 사용자만이 표시되며, 그 다음 레벨에는 C, G, I 사용자만이 표시된다.
그리고, 최하위 레벨에는 B,D,E,F,H,J,K,L 사용자가 표시된다.
즉, 모든 사용자가 각각 자신의 레벨을 가지는 것을 확인할 수 있다.
한편, 본 발명에 의한 스코어 및 거리에 기반한 랭킹 계산 방법은 컴퓨터가 판독할 수 있는 명령어의 집합인 소프트웨어의 형태로 구현되어 기록 매체에 수록될 수 있다.
이때, 기록매체는 컴퓨터에 의하여 읽을 수 있는 모든 종류의 매체를 포함할 수 있으며, 그 예로는 DVD-ROM, CD-ROM, 하드 디스크, USB 메모리, 플래쉬 메모리와 같은 유형물을 들 수 있다.
한편, 기록매체에 수록된다는 표현은 이와 같은 유형의 기록매체에 수록되는 경우는 물론, 무형의 반송파(Carrier Wave)의 형태로 통신회선을 통해 제공되는 경우를 포함한다.
이상 몇 가지의 실시예를 통해 본 발명의 기술적 사상을 살펴보았다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 상기 살펴본 실시예를 다양하게 변형하거나 변경할 수 있음은 자명하다. 또한, 비록 명시적으로 도시되거나 설명되지 아니하였다 하여도 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 본 발명에 의한 기술적 사상을 포함하는 다양한 형태의 변형을 할 수 있음은 자명하며, 이는 여전히 본 발명의 권리범위에 속한다. 첨부하는 도면을 참조하여 설명된 상기의 실시예들은 본 발명을 설명하기 위한 목적으로 기술된 것이며 본 발명의 권리범위는 이러한 실시예에 국한되지 아니한다.
본 발명은 컴퓨터 소프트웨어 기술분야에 적용될 수 있다. 더 구체적으로는 대상물의 순위를 그래픽으로 표시하는 기술에 적용될 수 있다.
1 : 외부 서버
2 : 랭킹 서버
3 : 클라이언트

Claims (17)

  1. 컴퓨터 시스템 상에서 실행되는, 대상물의 랭킹을 해당 대상물이 점유하는 랭킹지도상의 영역으로 표시하기 위한 랭킹 계산 방법에 있어서,
    상기 랭킹지도에서 제1 대상물의 랭킹지도상의 위치 주변에 영역을 점유하고 있는 제2 대상물의 랭킹지도상의 위치에서의 상기 제1 대상물의 영향력을 계산하는 단계;
    상기 제2 대상물의 위치에서의 상기 제2 대상물의 영향력과 상기 계산된 제1 대상물의 영향력을 비교함으로써 영역 경쟁을 수행하는 단계; 및
    상기 비교의 결과 상기 제1 대상물의 영향력이 상기 제2 대상물의 영향력보다 큰 경우, 상기 제2 대상물이 점유하는 영역의 적어도 일부를 상기 제1 대상물이 점유하는 것으로 처리하여 상기 랭킹지도를 갱신하는 단계를 포함하고,
    상기 제1 대상물의 영향력을 계산하는 단계는, 상기 제1 대상물의 위치를 중심으로 거리가 멀어질수록 상기 제1 대상물의 영향력을 감소시키는 것에 의해 상기 제2 대상물의 위치에서의 제1 대상물의 영향력을 계산하되, 상기 제1 대상물의 위치로부터 제2 대상물의 위치까지의 사이에 소정의 속성을 가지는 구간이 있으면, 이 구간에서의 영향력 감소폭을 변경하여 계산하는 단계를 포함하는 것을 특징으로 하는 랭킹 계산 방법.
  2. 제1항에 있어서,
    상기 제1 대상물의 위치에서의 상기 제1 대상물의 영향력은 상기 제1 대상물의 스코어에 따라 결정되고, 상기 제2 대상물의 위치에서의 상기 제2 대상물의 영향력은 상기 제2 대상물의 스코어에 따라 결정되는 것을 특징으로 하는 랭킹 계산 방법.
  3. 제1항에 있어서,
    상기 랭킹지도는 복수의 레벨로 구성되고, 각 레벨의 랭킹지도는 복수의 경쟁범위를 포함하고, 랭킹지도의 레벨이 높을수록 포함되는 경쟁범위가 확대되며,
    상기 랭킹 계산 방법은,
    하위 레벨의 랭킹지도에 포함된 복수의 경쟁범위 중 하나의 경쟁범위에서 가장 넓은 영역을 가지는 대상물의 레벨을 상위 레벨로 상승시키는 단계;
    상기 상위 레벨에 속하는 대상물들의 랭킹지도상의 위치 각각에 대해, 각 대상물의 영향력을 계산하는 단계;
    상기 계산된 영향력들을 이용하여 각 대상물의 영역 경쟁을 수행하는 단계; 및
    상기 영역 경쟁의 결과로 조정된 영역의 점유 상태를 상기 상위 레벨의 랭킹지도에 표시하는 단계를 더 포함하는 것을 특징으로 하는 랭킹 계산 방법.
  4. 제1항에 있어서,
    상기 랭킹지도를 갱신하는 단계에서,
    임의의 두 대상물의 상기 랭킹지도상 인접한 영역 - 이때, 상기 두 대상물의 영역은 둘 이상의 셀을 가짐 - 에 대하여,
    상기 두 대상물 가운데 어느 하나의 대상물의 위치에 해당하는 셀에서 상기 어느 하나의 대상물의 영향력보다 다른 대상물의 영향력이 더 큰 경우, 상기 어느 하나의 대상물의 영역 전부를 상기 다른 대상물이 점유한 것으로 갱신하는 것을 특징으로 하는 랭킹 계산 방법
  5. 제1항에 있어서,
    상기 랭킹지도를 갱신하는 단계에서,
    임의의 두 대상물의 상기 랭킹 지도상 인접한 영역 - 이때, 상기 두 대상물의 영역은 둘 이상의 셀을 가짐 - 에 대하여,
    상기 두 대상물 가운데 어느 하나의 대상물의 영역에 속하되 상기 어느 하나의 대상물의 위치에 해당하지 않으며, 다른 대상물의 영역에 인접한 셀로서, 상기 어느 하나의 대상물의 영향력보다 상기 다른 대상물의 영향력이 더 큰 셀은 상기 다른 대상물이 점유한 것으로 갱신하는 스코어 및 거리에 기반한 랭킹 계산 방법.
  6. 대상물의 랭킹을 해당 대상물이 점유하는 랭킹지도상의 영역으로 표시하기 위한 랭킹 계산 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터로 판독가능한 기록매체에 있어서,
    상기 랭킹지도에서 제1 대상물의 랭킹지도상의 위치 주변에 영역을 점유하고 있는 제2 대상물의 랭킹지도상의 위치에서의 상기 제1 대상물의 영향력을 계산하는 단계;
    상기 제2 대상물의 위치에서의 상기 제2 대상물의 영향력과 상기 계산된 제1 대상물의 영향력을 비교함으로써 영역 경쟁을 수행하는 단계; 및
    상기 비교의 결과 상기 제1 대상물의 영향력이 상기 제2 대상물의 영향력보다 큰 경우, 상기 제2 대상물이 점유하는 영역의 적어도 일부를 상기 제1 대상물이 점유하는 것으로 처리하여 상기 랭킹지도를 갱신하는 단계를 포함하고,
    상기 영향력을 계산하는 단계는, 상기 제1 대상물의 위치를 중심으로 거리가 멀어질수록 상기 제1 대상물의 영향력을 감소시키는 것에 의해 상기 제2 대상물의 위치에서의 제1 대상물의 영향력을 계산하되, 상기 제1 대상물의 위치로부터 제2 대상물의 위치까지의 사이에 소정의 속성을 가지는 구간이 있으면, 이 구간에서의 영향력 감소폭을 변경하여 계산하는 단계;를 포함하는 프로그램 코드를 갖는 컴퓨터로 판독가능한 기록매체.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020130164237A 2013-12-26 2013-12-26 스코어 및 거리에 기반한 랭킹 계산 방법 KR101611673B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130164237A KR101611673B1 (ko) 2013-12-26 2013-12-26 스코어 및 거리에 기반한 랭킹 계산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130164237A KR101611673B1 (ko) 2013-12-26 2013-12-26 스코어 및 거리에 기반한 랭킹 계산 방법

Publications (2)

Publication Number Publication Date
KR20150075863A KR20150075863A (ko) 2015-07-06
KR101611673B1 true KR101611673B1 (ko) 2016-04-26

Family

ID=53788910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130164237A KR101611673B1 (ko) 2013-12-26 2013-12-26 스코어 및 거리에 기반한 랭킹 계산 방법

Country Status (1)

Country Link
KR (1) KR101611673B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005199016A (ja) * 2004-01-16 2005-07-28 Konami Co Ltd ゲーム結果評価方法、ゲーム結果評価装置、及びゲーム結果評価プログラム
JP2013111190A (ja) * 2011-11-28 2013-06-10 Sega Corp ゲーム装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005199016A (ja) * 2004-01-16 2005-07-28 Konami Co Ltd ゲーム結果評価方法、ゲーム結果評価装置、及びゲーム結果評価プログラム
JP2013111190A (ja) * 2011-11-28 2013-06-10 Sega Corp ゲーム装置及びプログラム

Also Published As

Publication number Publication date
KR20150075863A (ko) 2015-07-06

Similar Documents

Publication Publication Date Title
US11331575B2 (en) Virtual environment mapping system
JP6145387B2 (ja) ユーザマッチング方法およびシステム
US9351108B2 (en) Information processing system, information processing terminal, information processing method, program, and information storage medium
JP2014195530A (ja) ゲーム制御装置、抽選装置、ゲーム制御方法、プログラム、ゲームシステム
Perger et al. A campaign to collect volunteered geographic Information on land cover and human impact
US20130079130A1 (en) Fantasy sports game
RU2014138615A (ru) Интерактивный сравнительный информационный дисплей
Ho et al. The effects of ‘publicness’ and quality of publicly accessible open space upon user satisfaction
CN104834743A (zh) 人脉关系的展示与搜索
Cao et al. Choice of land reference situation in life cycle impact assessment
Fraile-Jurado Geographical Aspects of Open-World Video Games
Ooms et al. Mixing methods and triangulating results to study the influence of panning on map users’ attentive behaviour
Nasa et al. Assessment of tourism resource potential at Buriram Province, Thailand
Pantelidis et al. Place attachment theory and virtual reality: the case of a rural tourism destination
KR101611673B1 (ko) 스코어 및 거리에 기반한 랭킹 계산 방법
US20180025661A1 (en) Educational computer puzzle
KR101611672B1 (ko) 지도상의 영역 크기에 의한 랭킹 표시방법
KR101619576B1 (ko) 컴퓨터 상에서 실행되는 랭킹의 시각화 방법 및 이를 실행하는 컴퓨터
US20160023112A1 (en) System for updating attributes
KR101432160B1 (ko) 그룹화된 등급 및 순위를 차등적 인터페이스로서 제공하는 온라인 스포츠 게임 제공 방법 및 그 시스템
Lawani et al. Designing drone game for construction site inspection
Ostwald et al. Mathematics in, of and for Architecture: A Framework of Types
Biggs et al. Evaluation of a non-visual auditory choropleth and travel map viewer
JP2018151991A (ja) 予約管理装置、予約管理プログラム及び予約管理方法
US11113651B2 (en) Method and system for assessing play value of a playground

Legal Events

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

Payment date: 20190314

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200206

Year of fee payment: 5