KR101904530B1 - 게임 맵을 제공 및 표시하는 방법 - Google Patents

게임 맵을 제공 및 표시하는 방법 Download PDF

Info

Publication number
KR101904530B1
KR101904530B1 KR1020160160353A KR20160160353A KR101904530B1 KR 101904530 B1 KR101904530 B1 KR 101904530B1 KR 1020160160353 A KR1020160160353 A KR 1020160160353A KR 20160160353 A KR20160160353 A KR 20160160353A KR 101904530 B1 KR101904530 B1 KR 101904530B1
Authority
KR
South Korea
Prior art keywords
user
nodes
sub
cell
displayed
Prior art date
Application number
KR1020160160353A
Other languages
English (en)
Other versions
KR20180060633A (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 KR1020160160353A priority Critical patent/KR101904530B1/ko
Publication of KR20180060633A publication Critical patent/KR20180060633A/ko
Application granted granted Critical
Publication of KR101904530B1 publication Critical patent/KR101904530B1/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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

사용자 클라이언트가 게임 맵을 표시하는 방법에 있어서, 사용자가 위치한 제1 영역에 대응하는 하나 이상의 셀을 로딩하는 단계, 상기 사용자의 위치를 나타내기 위한 복수의 노드들을 포함하는 제1 자료구조를 로딩하되, 상기 제1 자료구조에 포함된 복수의 노드들 각각은 상기 제1 영역을 분할하는 복수의 서브영역들 각각에 대응하고, 상기 하나 이상의 셀 중 하나에 대응하고, 상기 복수의 노드들 각각에 대응하는 셀을 표시하기 위한 정보 및 상기 복수의 노드들 사이의 연결관계에 대한 정보를 포함하는, 단계, 상기 제1 자료구조에서 상기 사용자가 위치한 제1 노드를 결정하는 단계, 상기 제1 노드에 대응하는 셀을 표시하는 단계, 상기 연결관계에 대한 정보를 이용하여 상기 제1 노드에서 이동가능한 방향에 대한 정보를 획득하는 단계, 상기 이동가능한 방향 중 하나에 대한 선택 입력을 수신하는 단계, 상기 선택된 방향에 대응하는 제2 노드로 이동하는 단계 및 상기 제2 노드에 대응하는 셀을 표시하는 단계를 포함하는 방법이 개시된다.

Description

게임 맵을 제공 및 표시하는 방법{METHOD FOR PROVIDING AND DISPLAYING A GAME MAP}
본 발명은 게임 맵을 제공 및 표시하는 방법에 관한 것이다.
컴퓨터의 처리속도 및 메모리가 크게 향상되고, GPU가 널리 보급되면서 컴퓨터 게임의 그래픽 수준이 크게 높아지고 있다. 사실적인 3D 렌더링에 따라 다양한 배경이 제공되며, 사용자는 게임의 배경을 자유롭게 탐색할 수 있다.
또한, 스마트폰의 발전에 따라 스마트폰 게임 시장이 컴퓨터 게임 시장 이상으로 크게 성장하고 있다. 하지만, 스마트폰의 처리속도는 컴퓨터에 비해 많이 부족하므로, 컴퓨터와 같이 사실적인 표현을 하거나 사용자에게 자유로운 탐색 경험을 제공하기에는 어려움이 따른다.
따라서, 스마트폰의 처리속도에 따른 제한 내에서도 컴퓨터 게임과 유사한 탐색 경험을 사용자에게 제공할 수 있는 기술의 개발이 요구된다.
공개특허공보 제10-2008-0018404호, 2008.02.28 공개
본 발명이 해결하고자 하는 과제는 게임 맵을 제공 및 표시하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따라 사용자 클라이언트가 게임 맵을 표시하는 방법은, 사용자가 위치한 제1 영역에 대응하는 하나 이상의 셀을 로딩하는 단계, 상기 사용자의 위치를 나타내기 위한 복수의 노드들을 포함하는 제1 자료구조를 로딩하되, 상기 제1 자료구조에 포함된 복수의 노드들 각각은 상기 제1 영역을 분할하는 복수의 서브영역들 각각에 대응하고, 상기 하나 이상의 셀 중 하나에 대응하고, 상기 복수의 노드들 각각에 대응하는 셀을 표시하기 위한 정보 및 상기 복수의 노드들 사이의 연결관계에 대한 정보를 포함하는, 단계, 상기 제1 자료구조에서 상기 사용자가 위치한 제1 노드를 결정하는 단계, 상기 제1 노드에 대응하는 셀을 표시하는 단계, 상기 연결관계에 대한 정보를 이용하여 상기 제1 노드에서 이동가능한 방향에 대한 정보를 획득하는 단계, 상기 이동가능한 방향 중 하나에 대한 선택 입력을 수신하는 단계, 상기 선택된 방향에 대응하는 제2 노드로 이동하는 단계 및 상기 제2 노드에 대응하는 셀을 표시하는 단계를 포함한다.
또한, 상기 제1 영역은 상기 제1 영역 전체에서 관찰가능한 제1 오브젝트를 포함하고, 상기 하나 이상의 셀 각각은 일 측면에 상기 제1 오브젝트를 표시하도록 구성되고, 상기 복수의 노드들 각각에 대응하는 셀을 표시하기 위한 정보는 상기 복수의 노드들 각각에 대응하는 셀에 표시된 상기 제1 오브젝트가 상기 제1 영역에 포함된 상기 제1 오브젝트의 위치를 향하도록 상기 복수의 노드들 각각에 대응하는 셀을 표시하는 방향에 대한 정보를 포함할 수 있다.
또한, 상기 하나 이상의 셀 각각은 서로 다른 하나 이상의 오브젝트를 포함하고, 상기 제1 노드에 대응하는 셀을 표시하는 단계 또는 상기 제2 노드에 대응하는 셀을 표시하는 단계는, 상기 제1 노드에 대응하는 셀 또는 상기 제2 노드에 대응하는 셀에 포함된 하나 이상의 오브젝트의 일부 또는 전부가 표시될 위치를 결정하는 단계 및 상기 결정된 위치에 상기 하나 이상의 오브젝트의 일부 또는 전부를 표시하는 단계를 포함할 수 있다.
또한, 상기 제1 자료구조는, 상기 제1 자료구조에 포함된 복수의 노드들 각각에서 발생되는 이벤트 또는 상기 복수의 노드들 각각에서 이벤트가 발생될 확률에 대한 정보를 포함하고, 상기 선택된 방향에 대응하는 제2 노드로 이동하는 단계는, 상기 제2 노드에서 발생되는 이벤트 또는 상기 제2 노드에서 이벤트가 발생될 확률에 대한 정보에 기초하여 상기 이벤트를 실행하는 단계를 포함할 수 있다.
또한, 상기 제1 노드에 대응하는 셀을 표시하는 단계는, 상기 사용자의 조작에 따라 제1 모드 또는 제2 모드를 선택하는 단계를 더 포함하고, 상기 제1 자료구조를 로딩하는 단계는, 상기 제1 자료구조에 포함된 상기 복수의 노드들 중 적어도 일부를 포함하고, 상기 적어도 일부의 노드들 사이의 연결관계에 대한 정보를 포함하는 제2 자료구조를 로딩하는 단계를 더 포함하고, 상기 제1 노드에서 이동가능한 방향에 대한 정보를 획득하는 단계는, 상기 제1 모드에서, 상기 제1 자료구조에 포함된 상기 연결관계에 대한 정보를 이용하여 상기 제1 노드에서 이동가능한 방향에 대한 정보를 획득하는 단계 및 상기 제2 모드에서, 상기 제2 자료구조에 포함된 상기 연결관계에 대한 정보를 이용하여 상기 제1 노드에서 이동가능한 방향에 대한 정보를 획득하는 단계를 포함할 수 있다.
또한, 상기 하나 이상의 셀은 3차원 공간으로 구성되고, 상기 3차원 공간은 상부 공간 및 하부 공간으로 분리되며, 상기 제1 노드에 대응하는 셀을 표시하는 단계는, 상기 사용자의 조작에 따라 상기 제1 모드가 선택되면 상기 사용자의 캐릭터를 상기 제1 노드에 대응하는 셀의 하부 공간에 표시하는 단계 및 상기 사용자의 조작에 따라 상기 제2 모드가 선택되면 상기 사용자의 캐릭터를 상기 제1 노드에 대응하는 셀의 상부 공간에 표시하는 단계를 포함할 수 있다.
또한, 상기 제2 노드로 이동하는 단계는, 상기 제2 노드와 상기 제1 노드 사이의 연결관계를 변경하는 단계; 를 더 포함하고, 상기 제2 노드에 대응하는 셀을 표시하는 단계는, 상기 제1 노드와 상기 제2 노드 사이의 위치관계에 따라 상기 제2 노드에 대응하는 셀을 표시하는 방향이 결정될 수 있다.
또한, 상기 제1 자료구조는, 제2 영역으로 이동할 수 있는 링크정보를 포함하는 제3 노드를 포함하고, 상기 방법은, 상기 사용자의 조작에 따라 상기 제3 노드로 이동하는 단계, 상기 제3 노드에 저장된 상기 링크정보를 이용하여 상기 제2 영역으로 이동하는 단계 및 상기 제2 영역에 대응하는 하나 이상의 셀 및 상기 제2 영역에서 상기 사용자의 위치를 나타내기 위한 복수의 노드들을 포함하는 제3 자료구조를 로딩하는 단계를 더 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 판독가능 기록매체에 저장된 어플리케이션은 컴퓨터와 결합되어, 개시된 실시 예에 따라 사용자 클라이언트가 게임 맵을 표시하는 방법을 수행한다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따라 서버가 사용자 클라이언트에 게임 맵을 제공하는 방법은, 제1 영역의 게임 맵을 복수의 서브영역들로 분할하는 단계, 상기 분할된 복수의 서브영역들 각각에 대응하는 노드들을 생성하는 단계, 상기 생성된 노드들을 이용하여 상기 분할된 복수의 서브영역 각각의 위치관계 및 연결관계를 나타내는 자료구조를 생성하는 단계, 상기 게임 맵의 풍경을 3D로 렌더링한 하나 이상의 셀을 생성하는 단계, 상기 분할된 복수의 서브영역들 각각에서 표시될 셀을 결정하는 단계, 상기 분할된 복수의 서브영역들 각각에서 셀이 표시될 방향을 결정하는 단계 및 상기 사용자 클라이언트로부터 상기 제1 영역의 게임 맵에 대한 요청을 수신하는 경우, 상기 자료구조 및 상기 생성된 셀들을 상기 사용자 클라이언트에 전송하는 단계를 포함한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
3D 렌더링을 이용한 게임 화면을 표시하는 것은 적지 않은 처리속도와 리소스를 요구하므로, 모바일 장치를 이용하는 경우 표현의 한계가 있는 경우가 있다.
개시된 실시 예에 따르면, 적은 개수의 셀만을 로딩하고, 게임 맵의 각 위치에 로딩된 셀들을 매칭하는 방법에 대하여 설명하고 있다. 게임 맵을 탐색하는 데 있어, 이미 로딩된 셀들을 게임 맵의 각 위치에 따라 번갈아가며 화면에 표시함으로써, 상대적으로 낮은 처리속도와 적은 리소스를 이용하면서도 3D로 렌더링된 게임 맵을 탐색하는 듯한 느낌을 사용자에게 제공할 수 있는 효과가 있다.
나아가, 게임 맵의 각 위치에 따른 이벤트를 발생시키거나 오브젝트를 추가함으로써, 적은 개수의 셀이 반복되는 느낌을 주지 않고 사용자에게 지속적인 흥미를 불러일으킬 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따라 게임 맵을 제공 및 표시하는 시스템을 도시한 도면이다.
도 2는 일 실시 예에 따라 게임 맵을 제공하는 서버의 동작을 도시한 흐름도이다.
도 3은 일 실시 예에 따라 사용자 클라이언트가 게임 맵을 표시하는 방법을 도시한 도면이다.
도 4는 일 실시 예에 따른 게임 맵의 구성을 도시한 도면이다.
도 5는 도 4에 도시된 셀들에 제1 오브젝트를 표시하는 방법의 일 예를 도시한 도면이다.
도 6은 도 4에 도시된 게임 맵의 일부를 상세하게 도시한 도면이다.
도 7은 모드에 따른 게임 맵 이동방법의 예시를 도시한 도면이다.
도 8은 일 실시 예에 따른 셀을 도시한 도면이다.
도 9는 사용자 캐릭터가 공중에 표시되는 일 예를 도시한 도면이다.
도 10은 일 실시 예에 따라 사용자 클라이언트에 표시되는 게임화면을 도시한 도면이다.
도 11은 다른 실시 예에 따라 사용자 클라이언트에 표시되는 게임화면을 도시한 도면이다.
도 12는 특정 이벤트 발생시 사용자 클라이언트에 표시되는 게임화면의 일 예를 도시한 도면이다.
도 13은 도 9와 관련하여 사용자 클라이언트에 표시되는 화면을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 일 실시 예에 따라 게임 맵을 제공 및 표시하는 시스템을 도시한 도면이다.
게임 맵을 제공 및 표시하는 시스템은 게임 맵을 제공하는 서버(100) 및 게임 맵을 표시하는 하나 이상의 사용자 클라이언트(200 및 300)를 포함한다.
이하에서 개시되는 실시 예에서, 서버(100)는 하나 이상의 사용자 클라이언트(200 및 300) 각각에서 저장 및 실행될 수 있는 게임을 하나 이상의 사용자 클라이언트(200 및 300)에 제공한다.
하나 이상의 사용자 클라이언트(200 및 300)에서 실행되는 게임은 싱글 플레이(single play)로서 각각 실행될 수도 있고, 멀티 플레이(multi play)로서 네트워크를 통하여 함께 실행될 수도 있다.
이하에서 개시되는 실시 예에서, 하나 이상의 사용자 클라이언트(200 및 300)각각은 모바일 단말의 사용자 클라이언트이다. 이하에서는 하나 이상의 사용자 클라이언트(200 및 300) 중 하나인 사용자 클라이언트(200)의 동작에 대해서 서술한다. 하지만, 사용자 클라이언트(200)와 관련하여 서술되는 내용은 사용자 클라이언트(300) 및 기타 사용자 클라이언트들에도 적용된다.
서버(100) 및 사용자 클라이언트(200)의 동작에 대해서는 이하 도 2 및 도 3에서 각각 서술하도록 한다.
도 2는 일 실시 예에 따라 게임 맵을 제공하는 서버의 동작을 도시한 흐름도이다.
도 2를 참조하면, 서버(100)가 게임 맵을 제공하는 방법은 도 1에 도시된 서버(100)에서 시계열적으로 처리되는 단계들로 구성된다.
단계 S110에서, 서버(100)는 게임 내의 제1 영역의 게임 맵을 복수의 서브영역들로 분할한다. 예를 들어, 서버(100)는 게임 맵을 4방향으로 이동 가능한 사각형(또는 정사각형)들의 조합으로 분할한다.
단계 S120에서, 서버(100)는 단계 S110에서 분할된 복수의 서브영역들 각각에 대응하는 노드(node)들을 생성한다. 노드는 사용자 클라이언트(200)가 게임 맵을 표시하기 위해 필요한 하나 이상의 정보를 포함한다.
단계 S130에서, 서버(100)는 단계 S120에서 생성된 노드들을 이용하여 분할된 복수의 서브영역 각각의 위치관계 및 연결관계를 나타내는 자료구조를 생성한다. 예를 들어, 자료구조는 트리, 그래프 또는 테이블 등으로 구성될 수 있으나, 이에 제한되지 않는다.
단계 S140에서, 서버(100)는 게임 맵의 풍경을 3D로 렌더링한 하나 이상의 셀을 생성한다. 각각의 셀은 게임 맵의 풍경을 사용자 클라이언트(200)에 표시하는 데 이용된다.
일 실시 예에서, 서버(100)는 단계 S120에서 생성된 노드들의 수보다 적은 수의 셀을 생성한다. 예를 들어, 단계 S110에서 분할된 서브영역들의 수 및 단계 S120에서 생성된 노드들의 수는 수십 개 이상에 달할 수 있으나, 단계 S140에서 생성되는 셀의 수는 10개 이하로 제한될 수 있다.
단계 S150에서, 서버(100)는 분할된 복수의 서브영역들 각각에서 표시될 셀을 결정한다. 서버(100)는 단계 S110에서 분할된 서브영역들 각각에서 표시될 게임 맵의 풍경을 나타내는 셀을 결정한다.
단계 S140에 따르면, 단계 S110에서 분할된 서브영역들의 수는 단계 S140에서 생성된 셀의 수보다 많을 수 있다. 따라서, 하나의 셀이 복수의 서브영역에서 표시된다. 단, 하나의 셀이 복수의 서브영역 각각에서 표시되는 방향은 달라질 수 있다.
일 실시 예에서, 서버(100)는 동일한 셀이 연속하여 나타나지 않도록 분할된 서브영역들 각각에서 표시될 셀을 결정한다. 예를 들어, 연속된 서브 영역에 대하여 같은 셀이 표시된다면, 사용자는 주변 풍경이 변하지 않는다는 것을 깨닫거나 지루함을 느낄 수 있다. 따라서, 서버(100)는 인접한 서브영역들에 대해서는 같은 셀이 표시되지 않도록 한다.
단계 S160에서, 서버(100)는 분할된 복수의 서브영역들 각각에서 셀이 표시될 방향을 결정한다.
일 실시 예에서, 제1 영역의 게임 맵에는 제1 영역 전체에서 관찰가능한 제1 오브젝트가 포함된다. 예를 들어, 제1 영역의 게임 맵에는 제1 영역 전체에서 관찰가능한 산이나 높은 탑 등이 배치될 수 있다.
이 경우, 단계 S140에서 생성되는 하나 이상의 셀은 모두 일 측면에 제1 오브젝트가 표시된다. 단계 S140에서 생성되는 하나 이상의 셀 각각은 서로 다른 풍경을 가짐으로써 사용자로 하여금 주변 풍경이 변화되는 듯한 효과를 줄 수 있다. 하지만, 동일한 영역 내에 있다는 느낌을 주기 위하여, 각 셀의 일부 구성요소를 통일적으로 구성한다.
예를 들어, 위에서 언급된 바와 같이 하나 이상의 셀 각각의 주변 풍경은 서로 다를 수 있으나, 제1 영역 전체에서 관찰가능한 산 또는 높은 탑이 일 측면에 보이도록 하여 통일성을 줄 수 있다.
단계 S170에서, 서버(100)는 사용자 클라이언트(100)로부터 제1 영역의 게임 맵에 대한 요청을 수신하는 경우, 단계 S130에서 생성된 자료구조 및 단계 S140에서 생성된 셀들을 사용자 클라이언트(100)에 전송한다.
제1 영역의 게임 맵은 사용자 클라이언트(100)가 게임을 다운로드할 때, 업데이트할 때 또는 사용자가 게임을 플레이할 때 서버(200)로부터 다운로드된다.
도 3은 일 실시 예에 따라 사용자 클라이언트가 게임 맵을 표시하는 방법을 도시한 도면이다.
도 3을 참조하면, 사용자 클라이언트(200)가 게임 맵을 제공하는 방법은 도 1에 도시된 사용자 클라이언트(200)에서 시계열적으로 처리되는 단계들로 구성된다.
단계 S210에서, 사용자 클라이언트(200)는 사용자가 위치한 제1 영역에 대응하는 하나 이상의 셀을 로딩한다.
하나 이상의 셀 각각은 게임 맵의 풍경을 3D로 렌더링한 것으로, 게임 맵의 풍경을 사용자 클라이언트(200)에 표시하는 데 이용된다.
단계 S220에서, 사용자 클라이언트(200)는 사용자의 위치를 나타내기 위한 복수의 노드들을 포함하는 제1 자료구조를 로딩한다. 제1 자료구조에 포함된 복수의 노드들 각각은 제1 영역을 분할하는 복수의 서브영역들 각각에 대응한다. 또한, 제1 자료구조에 포함된 복수의 노드들 각각은 로딩된 하나 이상의 셀 중 하나에 대응한다. 또한, 제1 자료구조는 복수의 노드들 각각에 대응하는 셀을 표시하기 위한 정보 및 복수의 노드들 사이의 위치관계 및 연결관계에 대한 정보를 포함한다.
단계 S210 및 단계 S220에서, 제1 자료구조 및 하나 이상의 셀을 로딩한다는 것은, 별도의 탐색 및 처리과정 없이 즉시 프로세서가 정보를 이용할 수 있도록 하는 것을 의미한다.
예를 들어, 사용자 클라이언트(200)는 제1 자료구조 및 하나 이상의 셀을 주기억장치 또는 캐시 등에 적재할 수 있다. 제1 자료구조 및 하나 이상의 셀을 로딩하는 방법은 제한되지 않으며, 통상적인 기술자가 적용할 수 있는 어떠한 방법이라도 이용될 수 있다.
단계 S230에서, 사용자 클라이언트(200)는 단계 S220에서 로딩된 제1 자료구조에서 사용자가 위치한 제1 노드를 결정한다.
단계 S240에서, 사용자 클라이언트(200)는 단계 S230에서 결정된 제1 노드에 대응하는 셀을 표시한다. 사용자 클라이언트(200)에서 표시된 셀은 3D 렌더링되어 있으므로, 사용자는 표시된 셀을 회전시키거나 확대 또는 축소시켜 표시하도록 할 수 있다.
단계 S250에서, 사용자 클라이언트(200)는 제1 자료구조에 포함된 연결관계에 대한 정보를 이용하여 제1 노드에서 이동가능한 방향에 대한 정보를 획득한다.
예를 들어, 제1 자료구조에 포함된 각각의 노드는 서로 연결관계에 있을 수 있으며, 연결된 노드 간의 이동이 가능하다. 또한, 연결된 노드 사이에서도 이동 가능여부가 결정될 수 있다.
예를 들어, 서로 연결된 두 개의 노드는 서로 인접한 영역인 것으로 판단할 수 있다. 따라서, 서로 연결된 두 노드 사이에서는 서로 이동이 가능할 수 있다. 하지만, 두 개의 노드가 서로 인접해 있더라도 닫힌 문이나 기타 장애물들에 의해 이동할 수 없도록 설정될 수도 있다. 따라서, 연결된 노드 사이에서도 이동 가능여부가 별도로 설정되어 있을수 있다.
단계 S260에서, 사용자 클라이언트(200)는 단계 S250에서 획득된 정보에 기초하여 이동가능한 방향 중 하나에 대한 선택 입력을 수신한다.
예를 들어, 사용자는 각 노드에서 앞, 뒤, 좌, 우 방향으로 이동할 수 있다. 사용자 클라이언트(200)는 그 중 다른 노드가 연결되지 않은 방향 및 노드가 연결되어 있더라도 이동이 불가능하도록 설정된 방향을 제외한 방향들 중 하나에 대한 선택 입력을 수신한다.
단계 S270에서, 사용자 클라이언트(200)는 단계 S260에서 선택된 방향에 대응하는 제2 노드로 사용자를 이동시킨다.
단계 S280에서, 사용자 클라이언트(200)는 제2 노드에 대응하는 셀을 화면에 표시한다.
도 4는 일 실시 예에 따른 게임 맵의 구성을 도시한 도면이다.
도 4를 참조하면, 복수의 서브 영역(1 내지 16)으로 분할된 제1 영역의 게임 맵과 게임 맵에 포함된 제1 오브젝트(400), 그리고 제1 영역에 대응하는 4개의 셀(10 내지 40)이 도시되어 있다.
일 실시 예에서, 서브 영역(1)은 제1 영역의 출발점이다. 또한, 서브 영역(5, 8 및 16)은 다른 영역으로 이동할 수 있는 링크정보를 포함한다. 따라서, 사용자가 서브 영역(5, 8 및 16)으로 이동하는 경우 사용자 클라이언트(200)는 각각의 서브 영역(5, 8 및 16)에 대응하는 링크정보에 따라 새로운 영역으로 이동한다.
새로운 영역으로 이동하는 경우, 사용자 클라이언트(200)는 새로운 영역에 대응하는 하나 이상의 셀 및 새로운 영역에서 사용자의 위치를 나타내기 위한 복수의 노드들을 포함하는 자료구조를 로딩한다.
일 실시 예에서, 게임 맵은 게임 맵 전체에서 관찰가능한 제1 오브젝트(400)를 포함한다. 이 경우, 하나 이상의 셀(10 내지 40) 각각은 일 측면에 제1 오브젝트(400)를 표시하도록 구성된다.
도 4를 참조하면, 각각의 서브 영역(1 내지 16)은 사각형(또는 정사각형) 형태로 구성되어 있다. 따라서, 각각의 서브 영역(1 내지 16)에서 사용자는 4방향으로 이동할 수 있다. 편의상, 도 4에 도시된 게임 맵의 위쪽을 북쪽으로 하여 게임 맵의 방위를 정하고, 각 셀(10 내지 40)의 위쪽을 기준으로 하여 각 셀(10 내지 40)의 상, 하, 좌, 우를 지시하도록 한다.
도 4를 참조하면, 서브 영역(1)에서 사용자는 북쪽으로만 이동할 수 있다. 또한, 서브 영역(2)에서 사용자는 4방향 모두로 이동할 수 있다. 일 실시 예에서, 서브 영역(2)과 인접한 서브 영역(1, 3, 4 및 6) 중 한 방향으로 가는 길이 막혀 있는 것으로 설정될 수 있다. 이 경우, 사용자는 막힌 방향을 제외한 나머지 방향의 인접한 서브 영역으로만 이동할 수 있다.
일 실시 예에서, 사용자 클라이언트(200)는 게임 중에 특정 장소로 즉시 이동할 수 있도록 하기 위한 별도의 셀을 로딩할 수 있다. 예를 들어, 게임 맵에서 마을 또는 상점으로 즉시 이동할 수 있도록 게임 맵에 대응하는 셀 외에 마을 셀 또는 상점 셀 등을 로딩한 후, 사용자의 조작에 따라 마을 셀 또는 상점 셀을 표시하는 방식으로 마을 또는 상점으로 즉시 이동이 가능하도록 구현할 수 있다.
도 5는 도 4에 도시된 셀들에 제1 오브젝트를 표시하는 방법의 일 예를 도시한 도면이다.
도 5를 참조하면, 셀 1(10) 내지 셀 4(40) 각각은 일 측면에 도 4에 도시된 제1 오브젝트(400)가 표시되도록 구성된다.
예를 들어, 셀 1(10)의 상측에 제1 오브젝트(11)가 표시되고, 셀 2(20)의 우측에 제1 오브젝트(21)가 표시되고, 셀 3(30)의 하측에 제1 오브젝트(31)가 표시되고, 셀 4(40)의 좌측에 제1 오브젝트(41)가 표시될 수 있다.
각각의 셀에 제1 오브젝트를 표시하는 방법 및 그 방향은 제한되지 않는다. 제1 오브젝트는 각각의 셀에 표시되는 게임 맵의 풍경에 따라 자유롭게 배치될 수 있다.
일 실시 예에서, 각각의 셀은 서로 다른 하나 이상의 오브젝트를 포함한다. 예를 들어, 게임 맵의 풍경을 구성하는 풀, 나무, 바위, 연못 및 구름 등이 각각의 셀에 포함되는 오브젝트가 된다.
각각의 셀에서 오브젝트가 표시되는 위치는 고정될 수도 있고, 자유롭게 변경될 수도 있다. 예를 들어, 사용자 클라이언트(200)는 제1 노드에 대응하는 셀을 표시할 때, 제1 노드에 대응하는 셀에 포함된 오브젝트들 중 적어도 일부를 선택하여 표시되도록 한다. 또한, 사용자 클라이언트(200)는 각각의 오브젝트가 표시될 위치를 결정하여 표시되도록 한다.
다른 예로, 각각의 오브젝트가 배치될 위치는 사전에 결정되에 셀과 함께 저장된다. 따라서, 제1 노드에 대응하는 셀을 표시할 때, 사용자 클라이언트(200)는 결정된 위치에 따라 각각의 오브젝트를 표시한다.
도 6은 도 4에 도시된 게임 맵의 일부를 상세하게 도시한 도면이다.
도 6을 참조하면, 도 4에 도시된 게임 맵의 제1 오브젝트(400)와 서브 영역들(7, 8, 9, 10, 12, 14 및 15)이 도시되어 있다.
제1 영역의 서브 영역들 각각은 제1 자료구조의 노드들 각각에 대응한다. 일 실시 예에서, 도 6의 각 서브 영역들(7, 8, 9, 10, 12, 14 및 15)에 도시된 내용은 각 서브 영역들(7, 8, 9, 10, 12, 14 및 15)에 대응하는 노드에 저장된다.
서브 영역(7)을 살펴보면, 서브 영역(7)에서는 도 4 및 도 5에 도시된 셀 1(10)이 표시된다. 또한, 셀 1(10)은 북향으로 표시된다. 개시된 실시 예에서, 북향, 동향, 서향 및 남향은 각 셀의 상측 방향이 향하는 방위를 기준으로 하여 설정된다.
도 5를 살펴보면, 셀 1(10)은 상측에 제1 오브젝트가 표시되어 있다. 게임 맵에서 제1 오브젝트는 서브 영역(7)의 북쪽에 위치하므로, 셀 1(10)의 상측이 북쪽을 향하도록, 셀 1(10)을 북향으로 표시한다.
또한, 도 4 및 도 6을 참조하면 서브 영역(7)의 상측에는 제1 오브젝트(400)가 위치하는 바 이동할 수 없고, 하측에는 서브 영역(6)이, 좌측에는 서브 영역(8)이, 우측에는 서브 영역(9)가 위치한다. 따라서, 서브 영역(7)에서는 사용자의 조작에 따라 다른 서브 영역(6, 8 및 9)으로 이동할 수 있다.
일 실시 예에서, 서브 영역(7)에서 인접한 다른 서브 영역(6, 8 및 9)으로 이동할 수 없는 경우도 존재한다. 예를 들어, 서브 영역(7)에서 서브 영역(8)으로 이동하는 문이 잠겨 있을 수 있다. 이 경우, 사용자 클라이언트(200)는 닫힌 문 모양의 오브젝트를 셀 1(10)의 좌측에 표시한다.
또한, 사용자가 서브 영역(6)에서 서브 영역(7)으로 이동했을 때, 이미 지나온 서브 영역(6)으로는 돌아갈 수 없도록 설정될 수 있다. 이 경우, 사용자는 서브 영역(7)에서 서브 영역(6)으로 돌아갈 수는 없다.
또한, 사용자 클라이언트(200)는 미로 효과를 주기 위하여 사용자가 서브 영역(7)에 진입할 때마다 서브 영역(7)과 다른 서브 영역들(6, 8 및 9) 사이의 연결관계를 다르게 설정할 수 있다. 예를 들어, 게임 맵에 표시된 방향과 달리 사용자가 선택하는 방향에 따라 이동할 수 있는 서브 영역(6, 8, 9 중 하나)이 무작위로 선택될 수도 있다.
또한, 사용자가 서브 영역(7)에 진입하는 방향에 따라 셀 1(10)이 표시되는 방향이 변경될 수 있다. 예를 들어, 사용자가 서브 영역(6)에서 서브 영역(7)으로 진입하는 경우에는 정면에 제1 오브젝트(400)가 있으므로, 사용자 캐릭터가 북쪽을 바라보도록 셀 1(10)이 표시된다. 따라서, 제1 오브젝트(400)는 사용자의 전면에 표시된다.
다른 예로, 사용자가 서브 영역(9)에서 서브 영역(7)으로 이동하는 경우, 우측에 제1 오브젝트(400)가 있으므로, 사용자 캐릭터가 서쪽을 바라보도록 셀 1(10)이 표시된다. 따라서, 제1 오브젝트(400)는 사용자의 우측에 표시된다.
사용자가 서브 영역(7)으로 진입하는 방향은 사용자가 기존에 위치한 서브 영역과 서브 영역(7) 사이의 위치관계에 따라 설정된다. 예를 들어, 사용자가 서브 영역(9)에서 서브 영역(7)으로 진입하는 경우, 서브 영역(9)은 서브 영역(7)의 동쪽에 위치하므로, 사용자가 서쪽 방향으로 서브 영역(7)에 진입하는 것을 알 수 있다.
일 실시 예에서, 각각의 서브 영역에서 이벤트가 발생할 수 있다.
예를 들어, 각각의 서브 영역에서 아이템 획득, 전투, 퀘스트 또는 포털 이동 등의 이벤트가 발생할 수 있다. 이벤트는 기 설정된 서브 영역에서 발생하도록 설정될 수 있다. 또는, 각 서브 영역에서 각 이벤트가 발생할 확률이 설정될 수 있다. 이 경우, 사용자가 각 서브 영역으로 이동할 때마다 소정의 확률로 각 이벤트가 발생한다.
일 실시 예에서, 복수의 사용자가 네트워크를 통하여 게임을 이용한다. 예를 들어, 도 1에 도시된 사용자 클라이언트(200)와 사용자 클라이언트(300)의 사용자가 제1 영역의 같은 서브 영역에 함께 위치하게 될 수 있다. 두 사용자가 동일한 서브 영역에 동시에 진입할 수도 있고, 한 사용자가 위치한 서브 영역에 다른 사용자가 진입할 수도 있다. 이 경우, 사용자 간 전투 이벤트가 발생할 수 있다. 또는, 사용자 간에 아이템을 거래하거나 대화를 할 수 있다.
도 7은 모드에 따른 게임 맵 이동방법의 예시를 도시한 도면이다.
일 실시 예에서, 게임 맵을 표시하는 방법은 제1 모드 또는 제2 모드를 포함하는 모드 변화에 따라 달라진다.
사용자 클라이언트(200)는 사용자의 조작에 따라 제1 모드 또는 제2 모드를 선택한다. 제1 모드가 선택된 경우, 사용자 클라이언트(200)는 도 4 내지 도 6을 통해 설명된 제1 자료구조에 포함된 노드들 사이의 연결관계에 대한 정보를 이용하여 사용자가 이동하도록 한다.
제2 모드가 선택된 경우, 사용자 클라이언트(200)는 또 다른 제2 자료구조에 포함된 노드들 간의 연결관계를 이용하여 사용자가 이동할 수 있도록 한다.
도 7을 참조하면, 서브영역(1)과 서브영역(9)를 연결하는 경로, 서브영역(7)과 서브영역(15)를 연결하는 경로 및 서브영역(13)과 서브영역(17)을 연결하는 경로가 표시되어 있다.
일 실시 예에서, 사용자는 게임 상에서 포털을 이용하여 이동할 수 있다. 이 경우, 인접한 서브영역이 아닌 다른 서브영역으로도 이동이 가능하다. 각 서브영역에 포함된 포털에 대한 정보는 이벤트 정보와 같이 소정의 확률로 포함되거나, 기 설정된 정보에 따라 포함된다. 포털이 포함된 서브 영역의 경우, 포털을 이용하여 이동할 수 있는 서브영역에 대한 정보가 포털이 포함된 서브 영역에 대응하는 노드에 저장된다.
다른 실시 예에서, 각각의 셀은 3차원 공간으로 구성되어, 상부 공간 및 하부 공간으로 분리될 수 있다. 사용자가 제1 모드를 선택하는 경우, 사용자의 캐릭터가 하부 공간에 표시되고, 제1 자료구조를 이용하여 이동하도록 한다. 사용자가 제2 모드를 선택하는 경우, 사용자의 캐릭터가 상부 공간에 표시되고, 제2 자료구조를 이용하여 이동하도록 한다.
예를 들어, 제1 모드의 경우 사용자 캐릭터가 지상에 표시되어 도보 등으로 이동하는 모션을 표시한다. 제2 모드의 경우 사용자 캐릭터가 하늘에 표시되어, 비행을 통해 이동하는 모션을 표시한다. 실시 예에 따라, 지상의 이동경로와 하늘의 이동경로는 상이할 수 있다. 따라서, 사용자 클라이언트(200)는 모드에 따라 상이한 자료구조를 이용하여 사용자가 이동하도록 한다.
이 경우, 제1 모드에서는 이동할 수 없었던 영역으로 이동이 가능한 경우가 있다. 예를 들어, 서브영역(17)을 섬이라고 가정하면, 도보로는 이동할 수 없다. 따라서, 제1 모드에서는 서브영역(17)이 표시되지 않거나, 표시되도라도 이동할 수 없는 경우가 있다. 제2 모드로 변경되는 경우, 서브영역(17)이 새로 표시되거나, 이동가능하게 될 수 있다.
도 8은 일 실시 예에 따른 셀을 도시한 도면이다.
도 8을 참조하면, 셀 1(10)이 도시되어 있다. 셀 1(10)은 3차원 공간으로 구성되며, 3D렌더링을 통해 생성된다. 셀 1(10)의 상측에는 제1 오브젝트(11)가 표시된다.
또한, 셀 1(10)에는 복수의 서로 다른 오브젝트(12, 13, 14 및 15)가 표시된다. 예를 들어, 셀 1(10)의 지상에는 나무(12)와 연못(13) 등이 표시되고, 하늘에는 구름(14)과 태양(15) 등이 표시된다.
일 실시 예에서, 태양(15)은 셀 1(10)의 3D 렌더링의 광원이 된다.
또한, 셀 1(10)에는 사용자의 캐릭터(500)가 표시된다. 셀 1(10)이 3차원 공간으로 구성되므로, 사용자는 셀 1(10)의 내부를 둘러볼 수 있다. 예를 들어, 사용자는 사용자 클라이언트(200)의 화면에서 셀 1(10)을 여러 방향으로 회전시키면서 관찰하거나, 확대 또는 축소하여 관찰할 수 있다.
도 9는 사용자 캐릭터가 공중에 표시되는 일 예를 도시한 도면이다.
도 7과 관련하여 설명한 바와 같이, 사용자 클라이언트(200)는 사용자의 선택에 따라 모드가 변경된다. 도 8의 경우 제1 모드로서, 사용자 캐릭터(500)가 지상에 표시되었다. 도 9의 경우 제2 모드로서, 사용자 캐릭터(500)가 공중에 표시된다. 사용자 캐릭터(500)가 탑승하는 비행체(510) 또한 표시될 수 있다.
사용자 클라이언트(200)에는 사용자 캐릭터(500)를 중심으로 하여 셀 1(10)이 표시된다. 따라서, 사용자 캐릭터(500)가 공중에 표시됨으로써 사용자 클라이언트(200)에 표시되는 화면은 달라지게 된다. 셀 1(10)은 3D 렌더링을 통해 생성된 바, 이는 셀 1(10) 내에서 시점을 변경하는 것으로 이해된다.
개시된 실시 예에서는 제1 모드를 지상으로, 제2 모드를 공중으로 표현하였지만, 실시 예는 이에 제한되지 않는다. 예를 들어, 제1 모드를 지상으로, 제2 모드를 지하로 표현할 수도 있고, 제1 모드와 제2 모드가 건물 내의 서로 다른 층으로 표현될 수도 있다. 이 경우, 모드 변경시 사용자가 엘리베이터 등을 타고 이동하는 모션이 표시될 수 있다.
상술한 예시 외에도 다양한 실시 예를 이용하여 각 모드에 따른 게임화면이 표시된다.
도 10은 일 실시 예에 따라 사용자 클라이언트에 표시되는 게임화면을 도시한 도면이다.
도 10을 참조하면, 도 8에 도시된 셀 1(10)이 사용자 클라이언트(200)에 표시되는 일 예가 도시되어 있다. 사용자 클라이언트(200)에는 사용자 캐릭터(500)를 중심으로 하여 셀 1(10)이 표시된다. 사용자 캐릭터(500)가 북쪽을 보고 있는 경우, 정면에 제1 오브젝트(11)가 표시된다.
일 실시 예에서, 사용자 클라이언트(200)에는 미니맵(600)이 표시된다. 전체 게임 맵(610)에 비해, 미니맵(600)에는 일부 서브영역만이 표시된다. 예를 들어, 사용자가 방문한 적이 있는 서브영역만이 미니맵(600)에 표시된다.
일 실시 예에서, 사용자 클라이언트(200)는 미니맵(600)의 일 지점을 선택하는 사용자의 입력을 수신한다. 사용자 클라이언트(200)는 선택된 위치까지 자동으로 사용자 캐릭터(500)가 이동하도록 한다.
또한, 사용자 클라이언트(200)에는 조작버튼(620 내지 624)이 표시된다. 예를 들어, 사용자 클라이언트(200)에는 이동버튼(620) 및 회전버튼(622 및 624)이 표시된다. 사용자는 회전버튼(622 및 624)을 이용하여 방향을 결정하고, 이동버튼(620)을 이용하여 결정된 방향으로 이동하도록 한다. 회전버튼(622 및 624)에 대한 선택입력이 수신되면, 사용자 클라이언트(200)는 사용자 캐릭터(500)가 선택된 방향으로 회전하도록 하고, 회전된 방향의 풍경이 사용자 클라이언트(200)에 표시된다.
도 11은 다른 실시 예에 따라 사용자 클라이언트에 표시되는 게임화면을 도시한 도면이다.
도 11을 참조하면, 도 10에 도시된 바와는 다른 형태의 조작버튼(630 내지 636)이 도시되어 있다.
도 10에 도시된 조작버튼 (620 내지 624)과는 달리, 도 11에 도시된 조작버튼(630 내지 636)에서 각 방향의 조작버튼에 대한 선택 입력을 수신함으로써 사용자 클라이언트(200)는 사용자가 선택된 방향으로 이동하도록 한다.
또한, 도 4와 관련하여 설명한 바와 같이, 사용자가 마을 또는 상점으로 즉시 이동하도록 하는 조작버튼(640 및 642) 또한 사용자 클라이언트(200)에 표시될 수 있다.
도 12는 특정 이벤트 발생시 사용자 클라이언트에 표시되는 게임화면의 일 예를 도시한 도면이다.
각 서브영역에서 발생하는 이벤트의 종류에 따라, 사용자 클라이언트에는 추가 오브젝트(650) 또는 다른 사용자의 캐릭터(700)가 표시된다.
예를 들어, 사용자가 위치한 서브영역에서 아이템 획득 이벤트가 발생하는 경우, 아이템 오브젝트(650)가 사용자 클라이언트에 표시된다.
또한, 다른 사용자 또는 몬스터와의 전투 이벤트가 발생하는 경우, 다른 사용자의 캐릭터 또는 몬스터(700)가 사용자 클라이언트에 표시된다.
도 13은 도 9와 관련하여 사용자 클라이언트에 표시되는 화면을 도시한 도면이다.
도 9를 참조하면, 제2 모드에서 사용자가 공중에 표시되는 예시가 도시되어 있다. 도 13을 참조하면, 도 9에 도시된 셀 1(10)이 사용자 클라이언트(200)에 표시되는 일 예가 도시되어 있다.
사용자 클라이언트(200)는 사용자 캐릭터(500)의 위치를 중심으로 하여 셀 1(10)을 표시하므로, 사용자 캐릭터(500)가 공중에 위치한 경우 제1 오브젝트(11)와 같은 오브젝트들은 시야 아래에 표시된다.
제2 모드가 선택됨에 따라, 미니맵(800) 또한 제2 모드의 자료구조에 대응하여 변경된다.
도 13을 참조하면, 사용자가 비행을 통해 이동할 수 있는 서브영역들이 미니맵(800)에 표시된다. 또한, 인접한 서브영역으로 직관적으로 이동할 수 있는 제1 모드와 달리 제2 모드에서는 이동경로가 다양하게 구성될 수 있는 바, 이동할 수 있는 경로가 미니맵(800)에 표시될 수 있다.
도 10에 도시된 미니맵(600)과 마찬가지로, 전체 게임 맵(810)과 달리 사용자 클라이언트(200)에는 사용자가 방문한 적이 있는 서브영역만이 미니맵(800)에 표시된다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 서버
200 : 사용자 클라이언트
210 : 사용자 클라이언트

Claims (10)

  1. 사용자 클라이언트가 게임 맵을 표시하는 방법에 있어서,
    사용자가 위치한 제1 영역에 대응하는 하나 이상의 셀을 로딩하는 단계;
    상기 사용자의 위치를 나타내기 위한 복수의 노드들을 포함하는 제1 자료구조를 로딩하되, 상기 제1 자료구조에 포함된 복수의 노드들 각각은 상기 제1 영역을 분할하는 복수의 서브영역들 각각에 대응하고, 상기 하나 이상의 셀 중 하나에 대응하고, 상기 복수의 노드들 각각에 대응하는 셀을 표시하기 위한 정보 및 상기 복수의 노드들 사이의 연결관계에 대한 정보를 포함하는, 단계;
    상기 제1 자료구조에서 상기 사용자가 위치한 제1 노드를 결정하는 단계;
    상기 제1 노드에 대응하는 셀을 표시하는 단계;
    상기 연결관계에 대한 정보를 이용하여 상기 제1 노드에서 이동가능한 방향에 대한 정보를 획득하는 단계;
    상기 이동가능한 방향 중 하나에 대한 선택 입력을 수신하는 단계;
    상기 선택된 방향에 대응하는 제2 노드로 이동하는 단계; 및
    상기 제2 노드에 대응하는 셀을 표시하는 단계를 포함하고,
    상기 제1 영역은 상기 제1 영역 전체에서 관찰가능한 제1 오브젝트를 포함하고,
    상기 하나 이상의 셀 각각은 일 측면에 상기 제1 오브젝트를 표시하도록 구성되고,
    상기 복수의 노드들 각각에 대응하는 셀을 표시하기 위한 정보는 상기 복수의 노드들 각각에 대응하는 셀에 표시된 상기 제1 오브젝트가 상기 제1 영역에 포함된 상기 제1 오브젝트의 위치를 향하도록 상기 복수의 노드들 각각에 대응하는 셀을 표시하는 방향에 대한 정보를 포함하는, 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 컴퓨터와 결합되어, 제1 항의 방법을 수행하기 위하여 컴퓨터 판독가능 기록매체에 저장된 어플리케이션.
  10. 서버가 사용자 클라이언트에 게임 맵을 제공하는 방법에 있어서,
    제1 영역의 게임 맵을 복수의 서브영역들로 분할하는 단계;
    상기 분할된 복수의 서브영역들 각각에 대응하는 노드들을 생성하는 단계;
    상기 생성된 노드들을 이용하여 상기 분할된 복수의 서브영역 각각의 위치관계 및 연결관계를 나타내는 자료구조를 생성하는 단계;
    상기 게임 맵의 풍경을 3D로 렌더링한 하나 이상의 셀을 생성하는 단계;
    상기 분할된 복수의 서브영역들 각각에서 표시될 셀을 결정하는 단계;
    상기 분할된 복수의 서브영역들 각각에서 셀이 표시될 방향을 결정하는 단계; 및
    상기 사용자 클라이언트로부터 상기 제1 영역의 게임 맵에 대한 요청을 수신하는 경우, 상기 자료구조 및 상기 생성된 셀들을 상기 사용자 클라이언트에 전송하는 단계를 포함하고,
    상기 제1 영역은 상기 제1 영역 전체에서 관찰가능한 제1 오브젝트를 포함하고,
    상기 하나 이상의 셀 각각은 일 측면에 상기 제1 오브젝트를 표시하도록 구성되고,
    상기 복수의 노드들 각각에 대응하는 셀을 표시하기 위한 정보는 상기 복수의 노드들 각각에 대응하는 셀에 표시된 상기 제1 오브젝트가 상기 제1 영역에 포함된 상기 제1 오브젝트의 위치를 향하도록 상기 복수의 노드들 각각에 대응하는 셀을 표시하는 방향에 대한 정보를 포함하는, 방법.
KR1020160160353A 2016-11-29 2016-11-29 게임 맵을 제공 및 표시하는 방법 KR101904530B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160160353A KR101904530B1 (ko) 2016-11-29 2016-11-29 게임 맵을 제공 및 표시하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160160353A KR101904530B1 (ko) 2016-11-29 2016-11-29 게임 맵을 제공 및 표시하는 방법

Related Child Applications (5)

Application Number Title Priority Date Filing Date
KR1020180076285A Division KR101904533B1 (ko) 2018-07-02 2018-07-02 게임 맵을 제공 및 표시하는 방법
KR1020180076286A Division KR101904532B1 (ko) 2018-07-02 2018-07-02 게임 맵을 제공 및 표시하는 방법
KR1020180076283A Division KR20180078214A (ko) 2018-07-02 2018-07-02 게임 맵을 제공 및 표시하는 방법
KR1020180076287A Division KR101904531B1 (ko) 2018-07-02 2018-07-02 게임 맵을 제공 및 표시하는 방법
KR1020180076284A Division KR20180078215A (ko) 2018-07-02 2018-07-02 게임 맵을 제공 및 표시하는 방법

Publications (2)

Publication Number Publication Date
KR20180060633A KR20180060633A (ko) 2018-06-07
KR101904530B1 true KR101904530B1 (ko) 2018-10-05

Family

ID=62621841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160160353A KR101904530B1 (ko) 2016-11-29 2016-11-29 게임 맵을 제공 및 표시하는 방법

Country Status (1)

Country Link
KR (1) KR101904530B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109771951B (zh) * 2019-02-13 2022-04-29 网易(杭州)网络有限公司 游戏地图生成的方法、装置、存储介质和电子设备
CN112214259B (zh) * 2020-10-19 2024-03-01 珠海金山数字网络科技有限公司 地图加载系统、方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3270928B2 (ja) * 1999-09-30 2002-04-02 コナミ株式会社 フィールドマップ生成方法、ビデオゲームシステム、及び記録媒体
KR20040010038A (ko) * 2002-07-26 2004-01-31 이남재 온라인 롤플레잉게임용 서버
KR100597433B1 (ko) * 2003-12-17 2006-07-10 한국전자통신연구원 대규모 사용자 온라인 게임 서버에서의 셀 기반 관심 영역및 역관심 영역의 관리 방법
KR20080018404A (ko) 2006-08-24 2008-02-28 한국문화콘텐츠진흥원 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체

Also Published As

Publication number Publication date
KR20180060633A (ko) 2018-06-07

Similar Documents

Publication Publication Date Title
US20200334893A1 (en) Method for implementing virtual scene conversion and related apparatus
CN109685909B (zh) 图像的显示方法、装置、存储介质和电子装置
US20190088030A1 (en) Rendering virtual objects based on location data and image data
JP7386360B2 (ja) 情報処理方法、装置及び端末デバイス
CN112711458B (zh) 虚拟场景中道具资源的展示方法及装置
KR20140098773A (ko) 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
CN112862935A (zh) 游戏角色的运动处理方法及装置、存储介质、计算机设备
CN111558221B (zh) 虚拟场景的显示方法和装置、存储介质及电子设备
KR101904530B1 (ko) 게임 맵을 제공 및 표시하는 방법
CN110898430B (zh) 音源定位方法和装置、存储介质及电子装置
US11628365B2 (en) Information processing system, storage medium, information processing apparatus and information processing method
KR20180078214A (ko) 게임 맵을 제공 및 표시하는 방법
KR20180078215A (ko) 게임 맵을 제공 및 표시하는 방법
KR20230053719A (ko) 멀티플레이어 게임에서 장거리 객체의 타겟팅 개선
KR101904532B1 (ko) 게임 맵을 제공 및 표시하는 방법
KR101904531B1 (ko) 게임 맵을 제공 및 표시하는 방법
KR101904533B1 (ko) 게임 맵을 제공 및 표시하는 방법
WO2023071808A1 (zh) 基于虚拟场景的图形显示方法、装置、设备以及介质
CN115430153A (zh) 虚拟环境中的碰撞检测方法、装置、设备、介质及程序
US11348311B2 (en) Content display method, apparatus and device for three-dimensional scene
CN112870694B (zh) 虚拟场景的画面显示方法、装置、电子设备及存储介质
WO2021143262A1 (zh) 地图元素添加方法、装置、终端及存储介质
US20240017170A1 (en) Method and apparatus for prompting task, storage medium, and electronic device
WO2024067168A1 (zh) 基于社交场景的消息显示方法、装置、设备、介质及产品
CN115531874A (zh) 视野画面显示方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
A107 Divisional application of patent