KR102310107B1 - Method and apparatus for generating game contents - Google Patents
Method and apparatus for generating game contents Download PDFInfo
- Publication number
- KR102310107B1 KR102310107B1 KR1020190144567A KR20190144567A KR102310107B1 KR 102310107 B1 KR102310107 B1 KR 102310107B1 KR 1020190144567 A KR1020190144567 A KR 1020190144567A KR 20190144567 A KR20190144567 A KR 20190144567A KR 102310107 B1 KR102310107 B1 KR 102310107B1
- Authority
- KR
- South Korea
- Prior art keywords
- tiles
- nodes
- tile
- disposed
- information
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
게임 콘텐츠 생성 방법 및 장치가 개시된다. 일 실시예에 따른 게임 콘텐츠 생성 방법은, 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득하는 동작, 복수의 노드를 생성하는 동작, 복수의 노드 사이의 연결 관계를 추출하는 동작, 및 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치하는 동작을 포함한다.A method and apparatus for generating game content are disclosed. A method for generating game content according to an embodiment includes an operation of obtaining a rule of a neighbor relationship between a plurality of tiles corresponding to game content, an operation of generating a plurality of nodes, an operation of extracting a connection relationship between the plurality of nodes, and and disposing a plurality of tiles on a plurality of nodes based on a neighbor relationship rule and a connection relationship.
Description
개시되는 실시예들은 게임 콘텐츠 생성 기술과 관련된다.The disclosed embodiments relate to game content creation techniques.
온라인 게임은 지속적이고 장시간의 게임 플레이를 요구 하며, 정기적인 업데이트를 통해 게임 유저들에게 새로운 레벨, 아이템 등과 같은 콘텐츠를 공개하여 새로운 게임 플레이 목표를 제안한다. 이를 위해, 게임 회사들은 절차적 콘텐츠 생성(PCG: Procedural Content Generation) 기법을 이용하여 사용자에게 다양한 콘텐츠를 제공한다. Online games require continuous and long-term gameplay, and through regular updates, new game play goals are proposed by releasing content such as new levels and items to game users. To this end, game companies provide various contents to users by using a procedural content generation (PCG) technique.
최근 파동 함수 붕괴(WFC: Wave Function Collapse) 기법을 이용하여 사용자가 직관적으로 입력한 인접 관계 규칙을 만족시키는 다양한 게임 콘텐츠(예를 들어, 레벨, 아이템 배치, 벡터장)를 손쉽게 생성하고 있다. 다만, 종래의 그리드(grid) 기반의 파동 함수 붕괴 기법은 내비게이션 메시(navigation mesh) 등과 같은 비정형 데이터에 적용할 수 없는 문제점이 있다.Recently, various game contents (eg, level, item arrangement, vector field) that satisfy the user's intuitively inputted adjacency rule are easily created using a wave function collapse (WFC) technique. However, the conventional grid-based wave function collapse technique has a problem in that it cannot be applied to unstructured data such as a navigation mesh.
따라서, 상술한 비정형 데이터에도 적용 가능한 게임 콘텐츠 생성 방법이 요구된다.Accordingly, there is a need for a method for generating game content applicable to the above-described unstructured data.
개시되는 실시예들은 게임 콘텐츠 생성 방법 및 장치를 제공하기 위한 것이다. Disclosed embodiments are to provide a method and apparatus for generating game content.
일 실시예에 따른 게임 콘텐츠 생성 방법은, 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득하는 동작, 복수의 노드를 생성하는 동작, 복수의 노드 사이의 연결 관계를 추출하는 동작, 및 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치하는 동작을 포함한다.A method for generating game content according to an embodiment includes an operation of obtaining a rule of a neighbor relationship between a plurality of tiles corresponding to game content, an operation of generating a plurality of nodes, an operation of extracting a connection relationship between the plurality of nodes, and and disposing a plurality of tiles on a plurality of nodes based on a neighbor relationship rule and a connection relationship.
인접 관계 규칙은, 복수의 타일 각각에 인접 가능한 타일에 대한 정보를 포함하고, 인접 관계 규칙의 크기는, 복수의 타일의 수 및 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정될 수 있다.The adjacency rule may include information on tiles that may be adjacent to each of the plurality of tiles, and the size of the adjacency rule may be determined based on the number of tiles and the number of tiles that may be adjacent to each of the plurality of tiles.
연결 관계는, 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지(edge)를 포함하고, 추출하는 동작은, 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 서로 교차하는 엣지들 중 하나를 선택할 수 있다.The connection relationship includes an edge connecting adjacent nodes among a plurality of nodes, and the extraction operation detects edges that intersect each other among a plurality of edges extracted from the plurality of nodes, and the edges that intersect each other You can choose one of them.
복수의 타일을 배치하는 동작은, 타일이 배치되지 않은 복수의 노드 중 하나를 선택하는 동작, 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치하는 동작, 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 복수의 노드에 배치된 타일에 대한 정보를 전파하는 동작, 및 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단하는 동작을 포함할 수 있다.The arranging of the plurality of tiles may include selecting one of the plurality of nodes in which no tiles are disposed, arranging one of the plurality of tiles in the selected node based on information on tiles that can be placed in the selected node, and adjacent An operation of propagating information on tiles placed in a plurality of nodes to update information on tiles that can be placed in each of a plurality of nodes in which tiles are not placed on the basis of the relationship rule and the connection relationship, and in the adjacency rule and connection relationship and determining whether a tile disposed in each of a plurality of nodes in which a tile is disposed is suitable based on the operation.
배치 가능한 타일에 대한 정보의 크기는, 복수의 노드의 수 및 복수의 타일의 수에 기초하여 결정될 수 있다.The size of the information about the tile that can be arranged may be determined based on the number of the plurality of nodes and the number of the plurality of tiles.
획득하는 동작은, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득하고, 복수의 타일 중 하나를 배치하는 동작은, 배치 가능한 타일에 대한 정보, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.The obtaining operation includes obtaining at least one of information on a tile that cannot be placed on each of the plurality of nodes and a selection frequency of each of the plurality of tiles, and the operation of arranging one of the plurality of tiles includes information on a placeable tile; One of the plurality of tiles may be disposed at the selected node based on at least one of information on tiles that cannot be disposed on each of the plurality of nodes and a selection frequency of each of the plurality of tiles.
복수의 타일을 배치하는 동작은, 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 선택하는 동작, 복수의 타일 중 하나를 배치하는 동작 및 전파하는 동작을 반복 수행할 수 있다.The operation of arranging the plurality of tiles includes an operation of selecting one of the plurality of tiles until the tile is placed on a plurality of nodes on which the tile is not placed, if the tile placed on each of the plurality of nodes on which the tile is placed is suitable. The operation of placing and the operation of propagating may be repeatedly performed.
복수의 타일을 배치하는 동작은, 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 부적합한 타일이 배치된 노드에 복수의 타일 중 하나를 재배치할 수 있다.The disposing of the plurality of tiles may include relocating one of the plurality of tiles to a node at which the inappropriate tile is disposed when a tile disposed in at least one of the plurality of nodes in which the tiles are disposed is inappropriate.
일 실시예에 따른 게임 콘텐츠 생성 방법은, 하나 이상의 명령어를 저장하는 메모리 및 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고, 하나 이상의 프로세서는, 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득하고, 복수의 노드를 생성하고, 복수의 노드 사이의 연결 관계를 추출하고, 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치한다.A method for generating game content according to an embodiment includes a memory storing one or more instructions and one or more processors executing one or more instructions, wherein the one or more processors include: a rule of adjacency between a plurality of tiles corresponding to game content , create a plurality of nodes, extract a connection relationship between the plurality of nodes, and place a plurality of tiles on the plurality of nodes based on the neighbor relationship rule and the connection relationship.
인접 관계 규칙은, 복수의 타일 각각에 인접 가능한 타일에 대한 정보를 포함하고, 인접 관계 규칙의 크기는, 복수의 타일의 수 및 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정될 수 있다.The adjacency rule may include information on tiles that may be adjacent to each of the plurality of tiles, and the size of the adjacency rule may be determined based on the number of tiles and the number of tiles that may be adjacent to each of the plurality of tiles.
연결 관계는, 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지(edge)를 포함하고, 하나 이상의 프로세서는, 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 서로 교차하는 엣지들 중 하나를 선택할 수 있다.The connection relationship includes an edge connecting adjacent nodes among a plurality of nodes, and the one or more processors detect edges intersecting each other among a plurality of edges extracted from the plurality of nodes, and the edges intersecting each other You can choose one of them.
하나 이상의 프로세서는, 타일이 배치되지 않은 복수의 노드 중 하나를 선택하고, 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치하고, 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 복수의 노드에 배치된 타일에 대한 정보를 전파하고, 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단할 수 있다.The one or more processors are configured to select one of the plurality of nodes in which no tile is placed, place one of the plurality of tiles in the selected node based on information about tiles that can be placed in the selected node, and follow the neighbor relationship rule and the connection relationship. The information on the tiles arranged in the plurality of nodes is propagated to update information on the tiles that can be placed in each of the plurality of nodes in which the tiles are not arranged based on the plurality of nodes, and the information on the tiles arranged in the plurality of nodes is propagated based on the neighbor relationship rule and the connection relationship. It may be determined whether a tile disposed in each node is appropriate.
배치 가능한 타일에 대한 정보의 크기는, 복수의 노드의 수 및 복수의 타일의 수에 기초하여 결정될 수 있다.The size of the information about the tile that can be arranged may be determined based on the number of the plurality of nodes and the number of the plurality of tiles.
하나 이상의 프로세서는, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득하고, 배치 가능한 타일에 대한 정보, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.The one or more processors are configured to obtain at least one or more of information on non-placeable tiles in each of the plurality of nodes and a selection frequency of each of the plurality of tiles, and information on deployable tiles and information on non-placeable tiles in each of the plurality of nodes. and arranging one of the plurality of tiles in the node selected based on at least one of a selection frequency of each of the plurality of tiles.
하나 이상의 프로세서는, 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 선택하는 동작, 복수의 타일 중 하나를 배치하는 동작 및 전파하는 동작을 반복 수행할 수 있다.The one or more processors may perform an operation of selecting, arranging one of a plurality of tiles, until a tile is disposed on a plurality of nodes on which a tile is not disposed, when a tile disposed on each of the plurality of nodes on which the tile is disposed is suitable; The propagation operation can be repeatedly performed.
하나 이상의 프로세서는, 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 부적합한 타일이 배치된 노드에 복수의 타일 중 하나를 재배치할 수 있다.The one or more processors may relocate one of the plurality of tiles to a node on which the inappropriate tile is disposed when the tile disposed on at least one of the plurality of nodes on which the tile is disposed is inappropriate.
개시되는 실시예들에 따르면, 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치함으로써, 내비게이션 메시(navigation mesh) 등과 같은 비정형 데이터에도 파동 함수 기법을 적용하여 쉽게 게임 콘텐츠를 생성할 수 있다.According to the disclosed embodiments, by arranging a plurality of tiles on a plurality of nodes based on a neighbor relationship rule and a connection relationship, a wave function technique is applied to unstructured data such as a navigation mesh to easily create game content can do.
도 1은 일 실시예에 따른 게임 콘텐츠 생성 장치의 구성도이다.
도 2는 일 실시예에 따른 인접 관계 규칙의 예시도이다.
도 3은 일 실시예에 따른 복수의 노드의 예시도이다.
도 4는 일 실시예에 따른 복수의 노드를 생성하는 예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 복수의 타일을 배치하는 예를 설명하기 위한 도면이다
도 6은 일 실시예에 따른 복수의 타일이 배치된 복수의 노드의 예시도이다.
도 7은 일 실시예에 따른 복수의 타일이 배치된 복수의 노드의 다른 예시도이다.
도 8은 일 실시예에 따른 복수의 타일 각각의 선택 빈도에 기초하여 복수의 타일이 배치된 복수의 노드의 예시도이다.
도 9는 일 실시예에 따른 벡터장 형태로 생성된 복수의 노드의 예시도이다.
도 10은 일 실시예에 따른 벡터장 형태로 생성된 복수의 노드에 복수의 타일을 배치한 예시도이다.
도 11은 일 실시예에 따른 파티클(particle) 시뮬레이션의 결과 도면이다.
도 12는 일 실시예에 따른 게임 콘텐츠 생성 방법의 순서도이다.
도 13은 일 실시예에 따른 복수의 타일을 배치하는 방법의 순서도이다.
도 14는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.1 is a block diagram of an apparatus for generating game content according to an embodiment.
2 is an exemplary diagram of a neighbor relationship rule according to an embodiment.
3 is an exemplary diagram of a plurality of nodes according to an embodiment.
4 is a diagram for explaining an example of generating a plurality of nodes according to an embodiment.
5 is a view for explaining an example of disposing a plurality of tiles according to an embodiment;
6 is an exemplary diagram of a plurality of nodes on which a plurality of tiles are disposed according to an embodiment.
7 is another exemplary diagram of a plurality of nodes on which a plurality of tiles are disposed according to an embodiment.
8 is an exemplary diagram of a plurality of nodes in which a plurality of tiles are disposed based on a selection frequency of each of the plurality of tiles, according to an embodiment.
9 is an exemplary diagram of a plurality of nodes generated in the form of a vector field according to an embodiment.
10 is an exemplary diagram in which a plurality of tiles are disposed on a plurality of nodes generated in the form of a vector field according to an exemplary embodiment.
11 is a diagram illustrating a result of particle simulation according to an exemplary embodiment.
12 is a flowchart of a method for generating game content according to an exemplary embodiment.
13 is a flowchart of a method of disposing a plurality of tiles according to an exemplary embodiment.
14 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 이에 제한되지 않는다.Hereinafter, specific embodiments will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and/or systems described herein. However, this is only an example and is not limited thereto.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 또한, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions, which may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing the embodiments only, and should in no way be limiting. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. Also, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, acts, elements, some or combination thereof, and one or more other features than those described. , should not be construed to exclude the presence or possibility of any number, step, action, element, or any part or combination thereof.
이하에서 "게임"이란, 한 명 또는 그 이상의 게이머들이 게이밍 디바이스에 탑재되거나 연결된 입력장치를 이용하여 즐길 수 있는 소프트웨어를 의미한다. 통상 플레이어 캐릭터를 직접 조작하거나, 게임 내 오브젝트의 움직임을 조작하는 등의 방식으로 진행되며, 롤플레잉, 어드벤쳐, 아케이드 등으로 장르가 구분되기도 한다.Hereinafter, "game" means software that one or more gamers can enjoy using an input device mounted on or connected to a gaming device. Usually, it is performed by directly manipulating the player character or by manipulating the movement of objects in the game, and genres such as role-playing, adventure, and arcade are sometimes classified.
이하에서 "게이밍 디바이스"란 게임 소프트웨어를 실행하되 입력장치를 통한 사용자의 입력에 따라 연산을 수행하며, 출력장치를 통해 결과를 출력하는 하드웨어를 의미한다. 예컨대, 개인용 컴퓨터(Personal Computer), 랩탑(Laptop Computer), 게임 콘솔(Game Console), 스마트폰(Smart Phone), 타블렛(Tablet) PC, 스마트 밴드(Smart Band)나 스마트 와치(Smart Watch) 등의 웨어러블 디바이스(Wearable Device)의 형태일 수 있다. 이외에도 상술한 정의를 만족하는 하드웨어라면 게이밍 디바이스에 속하는 것으로 해석된다.Hereinafter, the term "gaming device" refers to hardware that executes game software but performs calculations according to a user's input through an input device and outputs a result through an output device. For example, a personal computer (Personal Computer), laptop (Laptop Computer), game console (Game Console), smart phone (Smart Phone), tablet (Tablet) PC, smart band (Smart Band) or smart watch (Smart Watch) It may be in the form of a wearable device. In addition, hardware that satisfies the above definition is interpreted as belonging to a gaming device.
이하에서 "온라인 게임"이란, 게임의 플레이를 위하여 네트워크를 경유하여야 하는 게임을 의미한다. 통상 원격지의 둘 이상의 게이밍 디바이스가 네트워크를 통해 서로 연결되거나, 서버를 통해 동기화되어 즐기는 게임을 의미한다. 상술한 정의를 만족하는 것이라면 게임을 실행하는 게이밍 디바이스의 형태에 제한을 두지 아니한다. 개인용 컴퓨터나 게임 콘솔에서 실행되는 게임뿐만 아니라, 스마트폰과 같은 모바일에서 실행되는 게임, 또는 서로 다른 복수개의 게이밍 디바이스(서로 다른 종류의 게이밍 디바이스도 포함한다)가 연동되거나 클라우드에서 실행되는 게임 또한 상술한 정의를 만족하는 것이라면 온라인게임에 속하는 것으로 해석된다.Hereinafter, the term “online game” refers to a game that must go through a network in order to play the game. In general, it refers to a game in which two or more gaming devices in a remote location are connected to each other through a network or synchronized through a server. As long as it satisfies the above definition, there is no limitation on the type of gaming device that executes the game. In addition to games executed on personal computers or game consoles, games executed on mobile devices such as smartphones, or games in which a plurality of different gaming devices (including different types of gaming devices) are linked or executed in the cloud are also described above. If it satisfies one definition, it is interpreted as belonging to an online game.
이하에서 "입력장치(InputDevice)"란, 게이밍 디바이스에 데이터를 입력하기 위한 장치를 의미한다. 예컨대, 조이스틱, 마우스, 키보드, 터치스크린, 하드웨어버튼 또는 스티어링 휠, 악기, 총, 장갑, 발판 등의 형태로 제조된 게임 조작 전용 입력장치를 들 수 있다. 이외에도 게이밍 디바이스에 탑재되거나 연동되는 각종 센서(온도센서, 적외선 센서, 모션센서, 자이로 센서, 가속도 센서, 중력센서 등)나 글로벌 포지셔닝 시스템(GPS; Global Positioning System), 실내 위치 확인 시스템(Indoor Positioning System)등의 위치 확인 수단 또한 입력장치의 일 예로 들 수 있다.Hereinafter, “input device” refers to a device for inputting data into a gaming device. For example, an input device dedicated to game manipulation manufactured in the form of a joystick, mouse, keyboard, touch screen, hardware button or steering wheel, musical instrument, gun, glove, footrest, etc. may be mentioned. In addition, various sensors (temperature sensor, infrared sensor, motion sensor, gyro sensor, acceleration sensor, gravity sensor, etc.) installed or linked to gaming devices, Global Positioning System (GPS), Indoor Positioning System ), etc., can also be used as an example of an input device.
이하에서 "출력장치(OutputDevice)"란, 게이밍 디바이스의 연산결과를 표시하기 위한 장치를 의미한다. 연산결과는 인간의 오감을 이용하여 인지될 수 있는 형태로 표시된다. 반드시 시각이나 청각적으로 표시되는 경우로 한정되지 않으며 후각적, 촉각적 형태로 표시될 수도 있다. 예컨대, 스피커나 모니터, 헤드마운티드 디스플레이와 같은 전형적인 하드웨어가 상술한 정의를 만족하지만, 이외에도 3D 프린터와 같이 촉각적 형태로 출력하거나, 진동이나 향기, 바람을 발생시키는 장치 또한 출력장치의 일 예가 될 수 있다.Hereinafter, the term “OutputDevice” refers to a device for displaying an operation result of a gaming device. The calculation result is displayed in a form that can be recognized using the human senses. It is not necessarily limited to a case where it is displayed visually or audibly, and it may be displayed in an olfactory or tactile form. For example, typical hardware such as speakers, monitors, and head-mounted displays satisfy the above definition, but devices that output in a tactile form, such as a 3D printer, or generate vibration, fragrance, or wind, may also be an example of the output device. have.
상술한 입력장치 및 출력장치는 게이밍 디바이스의 일 요소로서 게이밍 디바이스에 포함될 수도 있고, 게이밍 디바이스와 별도의 유선 또는 무선 인터페이스를 통하여 연결될 수도 있다.The above-described input device and output device may be included in the gaming device as one element of the gaming device, or may be connected to the gaming device through a separate wired or wireless interface.
도 1는 일 실시예에 따른 게임 콘텐츠 생성 장치(100)의 구성도이다. 1 is a block diagram of a game
일 실시예에서, 게임 콘텐츠 생성 장치(100)는 그래프 구조 기반의 복수의 노드를 생성한 후, 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙에 기초하여 복수의 노드에 복수의 타일을 배치함으로써, 게임 콘텐츠를 생성하기 위한 것일 수 있다. 구체적으로, 게임 콘텐츠 생성 방법은 그래프 구조에 기초하여 게임 콘텐츠를 생성함으로써, 내비게이션 메시(Navigation mesh) 등과 같은 비정형 데이터에 대해서도 게임 콘텐츠를 생성하기 위한 것일 수 있다. 이때, 게임 콘텐츠는 게임 내 거점, 자원, NPC(Non-Player Character) 등과 같이 게임 진행에 필요한 다양한 요소들을 포함할 수 있다.In an embodiment, the game
도 1을 참조하면, 게임 콘텐츠 생성 장치(100)는 인접 관계 규칙 획득부(110), 그래프 구조 생성부(130) 및 타일 배치부(150)를 포함한다.Referring to FIG. 1 , the game
일 실시예에서, 인접 관계 규칙 획득부(110), 그래프 구조 생성부(130) 및 타일 배치부(150)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.In an embodiment, the adjacency
인접 관계 규칙 획득부(110)는 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득한다.The adjacency
일 실시예에서, 인접 관계 규칙 획득부(110)는 사용자로부터 복수의 타일 사이의 인접 관계 규칙을 획득할 수 있다. In an embodiment, the adjacency
이때, 타일은 게임 콘텐츠에 대응되는 정보일 수 있다.In this case, the tile may be information corresponding to game content.
인접 관계 규칙은 복수의 노드에 복수의 타일을 배치할 때 지켜야 하는 규칙일 수 있다. 일 실시예에서, 인접 관계 규칙은 복수의 타일 각각에 인접 가능한 타일에 대한 정보를 포함할 수 있다. The adjacency rule may be a rule to be followed when arranging a plurality of tiles on a plurality of nodes. In an embodiment, the adjacency rule may include information on possible tiles adjacent to each of the plurality of tiles.
예를 들어, 도 2에 도시된 바와 같이, A 타일(210), B 타일(220) 및 C 타일(230)이 존재하는 것으로 가정한다. 사용자는 A 타일(210)은 A 타일(210), B 타일(220) 및 C 타일(230)과 인접 가능하고, B 타일(220)은 A 타일(210)과 인접 가능하며, C 타일(230)은 A 타일(210)과 인접 가능하다는 인접 관계 규칙을 입력할 수 있다. 이 경우, 인접 관계 규칙에 따라 A 타일(210)은 모든 타일과 인접 가능하지만, B 타일(220) 및 C 타일(230)은 A 타일(210)만 인접할 수 있다.For example, as shown in FIG. 2 , it is assumed that A
또한, 인접 관계 규칙 획득부(110)는 사용자로부터 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득할 수 있다.Also, the neighbor relationship
이때, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보는 각 노드에 배치할 수 없는 제약(constraint) 조건일 수 있다.In this case, information on tiles that cannot be arranged on each of the plurality of nodes may be a constraint condition that cannot be arranged on each node.
복수의 타일 각각의 선택 빈도는 노드에 배치될 타일을 선택할 때 각 타일이 선택될 확률을 나타내는 정보(stationary)일 수 있다. 예를 들어, A 타일 및 B 타일의 선택 빈도의 비가 2:1인 경우, 노드에 타일을 배치할 때 동일한 조건에서 A 타일이 배치될 확률이 B 타일이 배치될 확률보다 2배 더 높을 수 있다.The selection frequency of each of the plurality of tiles may be information (stationary) indicating a probability that each tile is selected when a tile to be disposed in a node is selected. For example, when the ratio of the selection frequency of tiles A and B is 2:1, when tiles are placed in a node, the probability of placing the A tile under the same conditions may be twice as high as the probability of placing the B tile. .
그래프 구조 생성부(130)는 게임 내 가상의 상태 공간을 표현하기 위한 그래프 구조를 생성한다. 이때, 그래프 구조는 노드와 노드 사이를 연결하는 엣지(edge)를 포함할 수 있다.The graph
구체적으로, 그래프 구조 생성부(130)는 복수의 노드를 생성한다.Specifically, the graph
일 실시예에서, 그래프 구조 생성부(130)는 게임 내 가상의 상태 공간에서 게임 콘텐츠를 배치하기 위한 복수의 노드를 생성할 수 있다. 노드는 게임 콘텐츠에 대응되는 타일을 배치하기 위한 영역일 수 있다. In an embodiment, the
또한, 그래프 구조 생성부(130)는 보로노이 다이어그램(Voronoi diagram), 포아송 분포(Poisson distribution) 등과 같이 다양한 알고리즘에 기초하여 복수의 노드를 생성할 수 있다. Also, the
예를 들어, 도 3에 도시된 바와 같이, 그래프 구조 생성부(130)는 상태 공간에서 보로노이 다이어그램 형태로 복수의 노드를 생성할 수 있다. 이때, 각 노드의 크기, 모양, 형태 등은 각 노드마다 상이할 수 있다.For example, as shown in FIG. 3 , the
한편, 상술한 예는 실시예에 불과하며, 그래프 구조 생성부(130)는 상술한 알고리즘 이외에 다양한 방식을 통해 복수의 노드를 생성할 수 있다.Meanwhile, the above-described example is merely an embodiment, and the
그래프 구조 생성부(130)는 복수의 노드 사이의 연결 관계를 추출한다.The
이때, 연결 관계는 각 노드가 어떤 노드와 연결되어 있는지에 대한 정보를 포함할 수 있다. 일 실시예에서, 연결 관계는 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지를 포함할 수 있다.In this case, the connection relationship may include information on which node each node is connected to. In an embodiment, the connection relationship may include an edge connecting adjacent nodes among a plurality of nodes.
예를 들어, 그래프 구조 생성부(130)는 패스 파인딩(pathfinding) 알고리즘에 기초하여 복수의 노드 사이의 엣지를 추출할 수 있다. 구체적으로, 그래프 구조 생성부(130)는 각 노드를 연결하면서 기 설정된 임계 값 이하의 길이를 가지는 복수의 엣지를 추출할 수 있다. For example, the
또한, 일 실시예에서, 그래프 구조 생성부(130)는 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 서로 교차하는 엣지들 중 하나를 선택할 수 있다.Also, in an embodiment, the
구체적으로, 그래프 구조 생성부(130)는 복수의 엣지 중 z 축을 기준으로 바라봤을 때 서로 교차하는 엣지들을 검출할 수 있다. 이후, 컴퓨팅 장치(12)는 서로 교차하는 엣지들 중 길이가 긴 엣지를 삭제하는 방식을 이용하여 서로 교차하는 엣지들 중 하나를 선택할 수 있다.Specifically, the
한편, 상술한 예에서 그래프 구조 생성부(130)는 패스 파인딩 알고리즘에 기초하여 엣지를 추출하는 것으로 설명하였으나, 반드시 이에 한정되는 것은 아니고, 다양한 알고리즘에 기초하여 엣지를 추출할 수 있다.Meanwhile, in the above-described example, the
타일 배치부(150)는 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치한다.The
일 실시예에서, 타일 배치부(150)는 파동 함수 붕괴(WFC: Wave Function Collapse) 기법에 기초하여 복수의 노드에 복수의 타일을 배치할 수 있다.In an embodiment, the
이때, 타일 배치부(150)는 전파 인자(Propagator)와 호환성(Compatible)이라는 변수를 이용하여 복수의 타일 사이의 인접 관계 규칙 및 복수의 노드에 배치 가능한 타일에 대한 정보를 관리할 수 있다.In this case, the
일 실시예에서, 인접 관계 규칙은 전파 인자라는 변수에 저장될 수 있다. 이때, 인접 관계 규칙의 크기는 복수의 타일의 수 및 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정될 수 있다. 구체적으로, 인접 관계 규칙의 크기는 복수의 타일의 수와 복수의 타일 각각에 인접 가능한 타일의 수의 곱으로 나타낼 수 있다. In one embodiment, the adjacency rule may be stored in a variable called a propagation factor. In this case, the size of the adjacency rule may be determined based on the number of tiles and the number of tiles that may be adjacent to each of the plurality of tiles. Specifically, the size of the adjacency rule may be expressed as a product of the number of tiles and the number of tiles that may be adjacent to each of the plurality of tiles.
또한, 복수의 노드에 배치 가능한 타일에 대한 정보는 호환성이라는 변수에 저장될 수 있다. 이때, 배치 가능한 타일에 대한 정보의 크기는 복수의 노드의 수 및 복수의 타일의 수에 기초하여 결정될 수 있다. 구체적으로, 배치 가능한 타일에 대한 정보의 크기는 복수의 노드의 수 및 복수의 타일의 수의 곱으로 나타낼 수 있다.Also, information about tiles that can be placed in a plurality of nodes may be stored in a variable called compatibility. In this case, the size of the information about the tile that can be arranged may be determined based on the number of the plurality of nodes and the number of the plurality of tiles. Specifically, the size of the information on the tile that can be arranged may be expressed as a product of the number of the plurality of nodes and the number of the plurality of tiles.
즉, 게임 콘텐츠 생성 장치(100)는 그래프 구조에 기반하여 게임 콘텐츠를 생성하기 때문에 기존의 그리드 구조 기반의 방식과 달리 각 노드의 방향을 특정하기 힘들다. 따라서, 게임 콘텐츠 생성 장치(100)는 각 노드의 방향 대신에 각 노드 사이의 연결 관계에 기초하여 게임 콘텐츠를 생성하기 때문에, 인접 관계 규칙 및 배치 가능한 타일에 대한 정보 각각의 크기를 결정함에 있어서 노드의 방향을 고려하지 않는다. 이에 따라, 인접 관계 규칙 및 배치 가능한 타일에 대한 정보는 그리드 구조 기반의 방식에서 3차원 배열의 크기를 가지지만, 그래프 구조 기반의 방식에서 2차원 배열의 크기를 가지게 된다.That is, since the game
한편, 타일 배치부(150)는 복수의 노드 중 타일이 배치되지 않는 노드를 선택하고, 선택된 노드에 타일을 배치하는 관찰(Observe) 동작과 배치된 타일에 대한 정보를 선택된 노드를 제외한 다른 노드들에게 전파하는 전파(Propagate) 동작을 반복하여 수행할 수 있다. Meanwhile, the
일 실시예에서, 타일 배치부(150)는 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 생성할 수 있다. 이때, 초기에는 복수의 노드에 모든 타일이 배치 가능하지만, 타일을 배치할수록 인접 관계 규칙 및 연결 관계에 따라 각 노드에 배치 가능한 타일이 점점 축소될 수 있다.In an embodiment, the
또한, 일 실시예에서, 타일 배치부(150)는 타일이 배치되지 않은 복수의 노드 중 하나를 선택할 수 있다.Also, according to an embodiment, the
구체적으로, 타일 배치부(150)는 타일이 배치되지 않은 복수의 노드 중 엔트로피가 가장 낮은 노드를 선택할 수 있다. 이때, 엔트로피가 가장 낮은 노드는 배치 가능한 타일의 수가 가장 적은 노드일 수 있다. 또한, 사용자가 복수의 타일 각각의 선택 빈도를 설정한 경우, 각 노드의 엔트로피는 각 타일의 선택 빈도로부터 영향을 받을 수 있다.Specifically, the
또한, 일 실시예에서, 타일 배치부(150)는 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.Also, according to an embodiment, the
구체적으로, 타일 배치부(150)는 복수의 노드 각각에 배치 가능한 타일에 대한 정보, 배치 불가능한 타일에 대한 정보 및 각 타일의 선택 빈도에 기초하여 노드에 복수의 타일 중 하나를 배치할 수 있다. Specifically, the
또한, 일 실시예에서, 타일 배치부(150)는 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 복수의 노드로 배치된 타일에 대한 정보를 전파할 수 있다.Also, according to an embodiment, the
구체적으로, 타일 배치부(150)는 선택된 노드에 타일을 배치한 후 해당 노드에 다른 타일이 배치될 수 없다는 정보를 복수의 노드로 전파할 수 있다. 또한, 타일 배치부(150)는 복수의 노드로 배치된 타일에 대한 정보를 전파하여 아직 타일이 배치되지 않은 노드들에 배치 가능한 타일에 대한 정보를 갱신할 수 있다. Specifically, the
이에 따라, 타일이 배치될수록 복수의 노드를 포함하는 전체 상태 공간의 불확실성은 점차 낮아지게 될 수 있다.Accordingly, as the tiles are arranged, the uncertainty of the entire state space including the plurality of nodes may gradually decrease.
또한, 타일 배치부(150)는 관찰 동작 및 전파 동작을 수행한 이후에 노드에 배치된 타일이 적합하지 않는 경우, 해당 노드에 타일을 재배치하는 역추적(Backtrack) 동작을 더 포함할 수 있다. Also, the
일 실시예에서, 타일 배치부(150)는 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단할 수 있다.In an embodiment, the
구체적으로, 타일 배치부(150)는 연결 관계에 기초하여 타일이 배치된 각 노드와 연결된 노드들을 파악하고, 인접 관계 규칙에 기초하여 각 노드에 배치된 타일과 주변에 연결된 노드들에 배치된 타일들이 서로 인접 가능한지 여부를 판단할 수 있다. 이때, 주변에 연결된 노드들에 배치된 타일들이 서로 인접 가능한 타일들인 경우, 타일 배치부(150)는 적합한 타일이 배치된 것으로 판단할 수 있다.Specifically, the
이후, 타일 배치부(150)는 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 상술한 타일이 배치되지 않은 복수의 노드 중 하나를 선택하는 동작, 복수의 타일 중 하나를 배치하는 동작 및 전파하는 동작을 반복 수행할 수 있다.Thereafter, when the tile arranged on each of the plurality of nodes on which the tiles are arranged is suitable, the
이와 달리, 타일 배치부(150)는 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 부적합한 타일이 배치된 노드에 복수의 타일 중 하나를 재배치할 수 있다.Alternatively, when a tile disposed on at least one of a plurality of nodes on which tiles are disposed is inappropriate, the
구체적으로, 주변에 연결된 노드에 인접 관계 규칙에 어긋나는 타일이 배치된 경우, 노드와 주변에 연결된 노드가 서로 충돌하게 될 수 있다. 이때, 타일 배치부(150)는 이러한 충돌이 일어나기 전의 과정으로 돌아가면서 부적합한 타일이 배치된 노드에 타일을 재배치할 수 있다.Specifically, when a tile that violates the neighbor relationship rule is disposed on a node connected to the periphery, the node and the node connected to the periphery may collide with each other. In this case, the
도 4는 일 실시예에 따른 복수의 노드를 생성하는 예를 설명하기 위한 도면이다.4 is a diagram for explaining an example of generating a plurality of nodes according to an embodiment.
도 4는 예를 들어, 내비게이션 메시로부터 복수의 노드를 생성하는 예를 설명하기 위한 것일 수 있다.4 may be for explaining an example of generating a plurality of nodes from, for example, a navigation mesh.
도 4(a)는 내비게이션 메시에 기초한 게임 내 지도를 나타낸 것이다.Fig. 4(a) shows an in-game map based on a navigation mesh.
일 실시예에서, 그래프 구조 생성부(130)는 포아송 분포 기법을 이용하여 복수의 노드를 추출할 수 있다. 추출된 노드들은 도 4(b)에 도시된 바와 같이 각 영역에 분포하는 것을 확인할 수 있다. 이때, 추출된 노드들은 서로 일정 거리만큼 떨어져 있으며 1개 이상의 타 노드와 연결될 수 있다.In an embodiment, the
이후, 그래프 구조 생성부(130)는 패스 파인딩 알고리즘에 기초하여 복수의 노드로부터 복수의 엣지를 추출할 수 있다. 추출된 엣지들은 도 4(c)에 도시된 바와 같이 각 노드들을 연결하는 선으로 나타낼 수 있다.Thereafter, the
이후, 그래프 구조 생성부(130)는 복수의 엣지 중 서로 교차하는 엣지들을 추출하고, 이미지를 z 축에서 바라봤을 때 서로 교차하는 엣지들 중 길이가 긴 엣지를 삭제하는 방식을 이용하여 서로 교차하는 엣지들 중 하나를 선택할 수 있다.Thereafter, the graph
예를 들어, 410 영역을 살펴보면, 서로 교차하는 엣지들이 존재하는 것을 확인할 수 있다. 이때, 그래프 구조 생성부(130)는 서로 교차하는 엣지들 중 길이가 긴 엣지를 삭제하여 서로 교차하는 엣지들이 존재하지 않도록 할 수 있다.For example, looking at
이에 따라, 도 4(d)에 도시된 바와 같이, 그래프 구조 생성부(130)는 최종적으로 서로 겹치지 않는 엣지들로 연결된 복수의 노드를 생성할 수 있다.Accordingly, as shown in FIG. 4D , the
도 5는 일 실시예에 따른 복수의 타일을 배치하는 예를 설명하기 위한 도면이다.5 is a diagram for explaining an example of disposing a plurality of tiles according to an exemplary embodiment.
도 5를 참조하면, 인접 관계 규칙 획득부(110)는 사용자로부터 인접 관계 규칙(510)을 획득할 수 있다. 이때, 인접 관계 규칙(510)은 텍스트 형식으로 입력될 수 있다.Referring to FIG. 5 , the adjacency
예를 들어, 사용자는 A 타일(520)은 모든 타일과 인접 가능하지만, B 타일(530) 및 C 타일(540)은 A 타일(520)만 인접 가능하도록 A 타일(520), B 타일(530) 및 C 타일(540) 사이의 인접 관계 규칙(510)을 텍스트 형식으로 입력할 수 있다.For example, the user may use the
이후, 타일 배치부(150)는 인접 관계 규칙에 기초하여 복수의 노드에 복수의 타일을 배치할 수 있다. 이때, 복수의 노드에 배치된 각 타일을 살펴보면, 각 타일은 모두 인접 관계 규칙(510)을 성립하는 것을 확인할 수 있다. Thereafter, the
구체적으로, 550 영역을 살펴보면, B 타일(530)이 배치된 노드와 연결된 노드들은 A 타일(520)이 배치되고, B 타일(530)이 배치된 노드 주변에 C 타일(540)이 배치된 노드가 존재하지 않는 것을 확인할 수 있다. Specifically, looking at
또한, 560 영역을 살펴보면, 상술한 B 타일(530)과 동일하게 C 타일(540)이 배치된 노드와 연결된 노드들도 인접 관계 규칙에 맞는 타일들이 배치된 것을 확인할 수 있다.Also, looking at
도 6은 일 실시예에 따른 복수의 타일이 배치된 복수의 노드의 예시도이다.6 is an exemplary diagram of a plurality of nodes on which a plurality of tiles are disposed according to an embodiment.
도 6은 게임 콘텐츠 생성 장치(100)를 이용하여 4색 문제를 해결하는 것을 도시한 도면이다. 이때, 4색 문제는 4가지 색으로 각 노드에 연결된 노드에 서로 상이한 색을 배치할 수 있다는 이론이다.6 is a diagram illustrating solving a four-color problem using the game
구체적으로, 도 6에서, 복수의 타일은 각각 서로 상이한 색일 수 있다.Specifically, in FIG. 6 , each of the plurality of tiles may have a different color.
이때, 인접 관계 규칙에 따라 각 타일은 자신을 제외한 모든 타일과 인접할 수 있다.In this case, each tile may be adjacent to all tiles except itself according to the adjacency rule.
타일 배치부(150)는 상술한 인접 관계 규칙에 기초하여 복수의 노드에 각각 타일을 배치할 수 있다. 구체적으로, 각 노드에 배치된 색과 주변에 연결된 노드들에 배치된 색이 서로 상이한 것을 확인할 수 있다.The
이에 따라, 게임 콘텐츠 생성 장치(100)는 각 노드의 연결 관계 및 인접 관계 규칙만을 이용하여 4색 문제를 해결할 수 있다는 것을 확인할 수 있다.Accordingly, it can be confirmed that the game
도 7은 일 실시예에 따른 복수의 타일이 배치된 복수의 노드의 다른 예시도이다.7 is another exemplary diagram of a plurality of nodes on which a plurality of tiles are disposed according to an embodiment.
도 7에 도시된 예에서, 그레이 타일, 레드 타일, 옐로우 타일 및 블루 타일이 존재하는 것으로 가정한다. 이때, 각 타일은 게임 콘텐츠에 대응되는 정보일 수 있다.In the example shown in FIG. 7 , it is assumed that a gray tile, a red tile, a yellow tile, and a blue tile exist. In this case, each tile may be information corresponding to game content.
또한, 인접 관계 규칙에 따라 그레이 타일은 자신을 포함한 모든 타일과 인접 가능하지만, 레드 타일, 옐로우 타일 및 블루 타일은 오직 그레일 타일만 인접할 수 있다.Also, according to the adjacency rule, a gray tile may be adjacent to all tiles including itself, but only a gray tile may be adjacent to a red tile, a yellow tile, and a blue tile.
이때, 타일 배치부(150)는 상술한 인접 관계 규칙에 기초하여 게임 내 지도에 생성된 복수의 노드에 각각 타일을 배치할 수 있다. 구체적으로, 각 노드에 배치된 타일은 모두 인접 관계 규칙을 만족하는 것을 확인할 수 있다.In this case, the
도 8은 일 실시예에 따른 복수의 타일 각각의 선택 빈도에 기초하여 복수의 타일이 배치된 복수의 노드의 예시도이다.8 is an exemplary diagram of a plurality of nodes in which a plurality of tiles are disposed based on a selection frequency of each of the plurality of tiles, according to an embodiment.
도 8은 복수의 타일 각각의 선택 빈도를 서로 상이하게 설정한 후 복수의 노드에 각각 타일을 배치한 것이다.8 is a diagram in which each of the tiles is arranged in a plurality of nodes after the selection frequencies of each of the plurality of tiles are set to be different from each other.
구체적으로, 도 8(a)는 그레이 타일, 레드 타일, 옐로우 타일 및 블루 타일 각각의 선택 빈도를 5:1:1:1로 설정한 것이다.Specifically, in FIG. 8A , the selection frequency of each of the gray tile, the red tile, the yellow tile, and the blue tile is set to 5:1:1:1.
이때, 도 8(a)를 참조하면, 그레일 타일이 배치된 노드가 가장 많은 것을 확인할 수 있다.In this case, referring to FIG. 8A , it can be seen that the number of nodes on which gray tiles are disposed is the largest.
도 8(b)는 그레이 타일, 레드 타일, 옐로우 타일 및 블루 타일 각각의 선택 빈도를 1:5:1:1로 설정한 것이다.8(b) shows that the selection frequency of each of the gray tile, the red tile, the yellow tile, and the blue tile is set to 1:5:1:1.
이때, 도 8(b)를 참조하면, 옐로우 타일 및 블루 타일이 배치된 노드보다 레드 타일이 배치된 노드가 더 많은 것을 확인할 수 있다. 이때, 인접 관계 규칙에 따라 그레이 타일은 모든 타일과 인접할 수 있지만 레드 타일은 오직 그레일 타일만 인접할 수 있기 때문에, 레드 타일의 선택 빈도가 그레일 타일보다 더 높더라도 레드 타일이 배치된 노드보다 그레일 타일이 배치된 노드가 더 많은 것을 확인할 수 있다.In this case, referring to FIG. 8B , it can be seen that there are more nodes in which red tiles are disposed than in nodes in which yellow tiles and blue tiles are disposed. At this time, according to the adjacency rule, a gray tile can be adjacent to all tiles, but a red tile can only be adjacent to a gray tile. It can be seen that there are more nodes where the gray tiles are arranged.
도 8(c)는 그레이 타일, 레드 타일, 옐로우 타일 및 블루 타일 각각의 선택 빈도를 1:1:5:1로 설정한 것이다.8(c) shows that the selection frequency of each of the gray tile, the red tile, the yellow tile, and the blue tile is set to 1:1:5:1.
이때, 도 8(c)를 참조하면, 레드 타일 및 블루 타일이 배치된 노드보다 옐로우 타일이 배치된 노드가 더 많은 것을 확인할 수 있다. 이때, 인접 관계 규칙에 따라 그레이 타일은 모든 타일과 인접할 수 있지만 옐로우 타일은 오직 그레일 타일만 인접할 수 있기 때문에, 옐로우 타일의 선택 빈도가 그레일 타일보다 더 높더라도 옐로우 타일이 배치된 노드보다 그레일 타일이 배치된 노드가 더 많은 것을 확인할 수 있다.In this case, referring to FIG. 8(c) , it can be confirmed that there are more nodes in which yellow tiles are arranged than in nodes in which red tiles and blue tiles are arranged. At this time, according to the adjacency rule, a gray tile can be adjacent to all tiles, but a yellow tile can only be adjacent to a gray tile. It can be seen that there are more nodes where the gray tiles are arranged.
도 8(d)는 그레이 타일, 레드 타일, 옐로우 타일 및 블루 타일 각각의 선택 빈도를 1:1:1:5로 설정한 것이다.FIG. 8(d) shows that the selection frequency of each of the gray tile, the red tile, the yellow tile, and the blue tile is set to 1:1:1:5.
이때, 도 8(d)를 참조하면, 레드 타일 및 옐로우 타일이 배치된 노드보다 블루 타일이 배치된 노드가 더 많은 것을 확인할 수 있다. 이때, 인접 관계 규칙에 따라 그레이 타일은 모든 타일과 인접할 수 있지만 블루 타일은 오직 그레일 타일만 인접할 수 있기 때문에, 블루 타일의 선택 빈도가 그레일 타일보다 더 높더라도 블루 타일이 배치된 노드보다 그레일 타일이 배치된 노드가 더 많은 것을 확인할 수 있다.In this case, referring to FIG. 8(d) , it can be confirmed that there are more nodes in which blue tiles are arranged than in nodes in which red tiles and yellow tiles are arranged. At this time, according to the adjacency rule, a gray tile can be adjacent to all tiles, but a blue tile can only be adjacent to a gray tile. It can be seen that there are more nodes where the gray tiles are arranged.
도 9는 일 실시예에 따른 벡터장 형태로 생성된 복수의 노드의 예시도이다.9 is an exemplary diagram of a plurality of nodes generated in the form of a vector field according to an embodiment.
도 9는 게임 콘텐츠 생성 장치(100)를 이용하여 게임 내 '바람'이라는 요소를 생성하기 위한 것일 수 잇다.FIG. 9 may be for generating an element called 'wind' in a game by using the game
구체적으로, 바람을 자연스럽게 생성하기 위해서는 바람의 방향이나 세기 등이 자연스럽게 변화해야 한다. 따라서, 바람이라는 비정형 데이터 생성하기 위해 그래프 구조 기반의 파동 함수 충돌 기법을 적용하기 위한 복수의 노드를 생성해야 한다.Specifically, in order to naturally generate wind, the direction or strength of the wind must change naturally. Therefore, in order to generate unstructured data called wind, it is necessary to create a plurality of nodes to apply the graph structure-based wave function collision technique.
구체적으로, 그래프 구조 생성부(130)는 보로노이 다이어그램을 이용하여 바람에 대한 복수의 노드를 생성한 후, 생성된 각 노드에 벡터 값을 지정하여 3차원 벡터장을 생성할 수 있다. 이때, 벡터는 하나의 크기 정보와 두개의 방향 정보로 구성될 수 있다. 이러한, 3차원 벡터장은 기존의 그리드 구조 기반의 데이터보다 더 적은 연산 비용으로 콘텐츠의 특징을 추출할 수 있고, Constraint(예를 들어, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보)나 Stationary(예를 들어, 복수의 타일 각각의 선택 빈도)를 손쉽게 적용할 수 있는 장점이 있다.Specifically, the graph
한편, 사용자는 벡터 사이의 인접 관계 규칙를 벡터의 크기 및 방향에 기초하여 설정할 수 있다. 예를 들어, 제1 벡터와 제1 벡터의 주변에 있는 제2 벡터가 기 설정된 임계 값보다 작은 크기를 가지는 경우, 제1 벡터와 제2 벡터를 인접 가능하도록 설정할 수 있다. 또한, 두 벡터의 내적의 크기가 기 설정된 임계 값 이상인 경우, 두 벡터는 서로 인접 가능하도록 설정할 수 있다.Meanwhile, the user may set the adjacency relationship rule between vectors based on the magnitude and direction of the vectors. For example, when the first vector and the second vector adjacent to the first vector have a size smaller than a preset threshold, the first vector and the second vector may be set to be adjacent. Also, when the size of the dot product of the two vectors is equal to or greater than a preset threshold, the two vectors may be set to be adjacent to each other.
예를 들어, 복수의 벡터 사이의 인접 관계 규칙에 대하여 주변 벡터의 크기가 2 이하이면서 주변 벡터와의 각도가 60도 이하인 경우, 주변 벡터와 인접 가능하도록 설정된 것으로 가정한다. 이때, 도 9에 도시된 바와 같이, 인접 관계 규칙에 따라 초록색 벡터는 노란색 벡터들과 인접할 수 있다.For example, it is assumed that the neighboring vector is set to be adjacent to the neighboring vector when the size of the neighboring vector is 2 or less and the angle with the neighboring vector is 60 degrees or less with respect to the adjacency relation rule between the plurality of vectors. In this case, as shown in FIG. 9 , the green vector may be adjacent to the yellow vectors according to the adjacency rule.
도 10은 일 실시예에 따른 벡터장 형태로 생성된 복수의 노드에 복수의 타일을 배치한 예시도이다.10 is an exemplary diagram in which a plurality of tiles are disposed on a plurality of nodes generated in the form of a vector field according to an exemplary embodiment.
도 10은 게임 콘텐츠 생성 장치(100)를 이용하여 게임 내 가상의 3차원 공간을 생성한 것일 수 있다.10 illustrates that a virtual three-dimensional space within a game is generated by using the game
도 10(a)는 3차원 공간 내 하늘 공간에서 생성된 복수의 노드에 복수의 타일이 배치된 것을 나타낸 것이고, 도 10(b)는 지표면과 가까운 공간에서 생성된 복수의 노드에 복수의 타일이 배치된 것을 나타낸 것이다.FIG. 10(a) shows that a plurality of tiles are arranged on a plurality of nodes generated in a sky space in a three-dimensional space, and FIG. 10(b) shows a plurality of tiles are disposed on a plurality of nodes generated in a space close to the ground surface. shown to be placed.
일 실시예에서, 3차원 공간에서 벡터장을 이용하여 게임 콘텐츠를 생성하는 경우, 그래프 구조 생성부(130)는 보로노이 셀(voronoi cell)을 이용하여 복수의 노드를 생성할 수 있다.In an embodiment, when generating game content using a vector field in a three-dimensional space, the
이때, 하늘 공간에서 생성된 복수의 노드는 게임 캐릭터들이 지나다니지 않기 때문에 복수의 노드의 정밀도가 낮아도 무방하다. 따라서, 하늘 공간에서 생성된 복수의 노드는 크기가 크고 서로 멀리 떨어져 생성된 것을 확인할 수 있다.In this case, since game characters do not pass through the plurality of nodes generated in the sky, the precision of the plurality of nodes may be low. Accordingly, it can be confirmed that the plurality of nodes generated in the sky space are large in size and are generated far apart from each other.
이와 달리, 지표면과 가까운 공간에서 생성된 복수의 노드는 게임 캐릭터들이 지나다니는 공간이기 때문에 복수의 노드의 정밀도가 높아야 한다. 따라서, 지표면과 가까운 공간에서 생성된 복수의 노드는 크기가 작고 서로 가깝도록 생성된 것을 확인할 수 있다.On the other hand, since a plurality of nodes generated in a space close to the ground surface is a space through which game characters pass, the precision of the plurality of nodes must be high. Accordingly, it can be confirmed that the plurality of nodes generated in a space close to the earth's surface are small in size and generated to be close to each other.
도 11은 일 실시예에 따른 파티클(particle) 시뮬레이션의 결과 도면이다.11 is a diagram illustrating a result of particle simulation according to an exemplary embodiment.
도 11은 도 10에서 생성된 게임 내 가상의 3차원 공간에 파티클 시뮬레이션을 실행시킨 것이다.FIG. 11 shows that particle simulation is executed in a virtual three-dimensional space in the game generated in FIG. 10 .
구체적으로, 3차원 공간에 존재하는 복수의 노드가 각 노드 사이의 연결 관계를 고려하여 움직이는 것을 확인할 수 있다. 따라서, 각각 타일이 배치된 복수의 노드가 자연스럽게 움직이는 것을 확인할 수 있다.Specifically, it can be confirmed that a plurality of nodes existing in the three-dimensional space move in consideration of the connection relationship between each node. Accordingly, it can be seen that the plurality of nodes on which tiles are arranged move naturally.
이에 따라, 게임 콘텐츠 생성 장치(100)는 내비게이션 메시, 3차원 텍스쳐 등과 같이 비정형 데이터에 대해서도 파동 함수 붕괴 기법을 적용함으로써, 게임 콘텐츠를 절차적으로 생성할 수 있다.Accordingly, the game
도 12는 일 실시예에 따른 게임 콘텐츠 생성 방법의 순서도이다.12 is a flowchart of a method for generating game content according to an exemplary embodiment.
도 12에 도시된 방법은 예를 들어, 도 1에 도시된 게임 콘텐츠 생성 장치(100)에 의해 수행될 수 있다.The method shown in FIG. 12 may be performed, for example, by the game
도 12를 참조하면, 동작 1210에서, 게임 콘텐츠 생성 장치(100)는 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득한다.Referring to FIG. 12 , in
이때, 게임 콘텐츠 생성 장치(100)는 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득할 수 있다.In this case, the game
동작 1220에서, 게임 콘텐츠 생성 장치(100)는 복수의 노드를 생성한다.In
동작 1230에서, 게임 콘텐츠 생성 장치(100)는 복수의 노드 사이의 연결 관계를 추출한다.In
이때, 게임 콘텐츠 생성 장치(100)는 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 서로 교차하는 엣지들 중 하나를 선택할 수 있다.In this case, the game
동작 1240에서, 게임 콘텐츠 생성 장치(100)는 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치한다.In
도 13은 일 실시예에 따른 복수의 노드에 복수의 복수의 타일을 배치하는 방법의 순서도이다.13 is a flowchart of a method of arranging a plurality of tiles in a plurality of nodes according to an embodiment.
도 13에 도시된 방법은 예를 들어, 도 1에 도시된 게임 콘텐츠 생성 장치(100)에 의해 수행될 수 있다.The method illustrated in FIG. 13 may be performed by, for example, the game
도 13을 참조하면, 동작 1310에서, 게임 콘텐츠 생성 장치(100)는 타일이 배치되지 않은 복수의 노드 중 하나를 선택할 수 있다.Referring to FIG. 13 , in
동작 1320에서, 게임 콘텐츠 생성 장치(100)는 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.In
이때, 게임 콘텐츠 생성 장치(100)는 배치 가능한 타일에 대한 정보, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.In this case, the game
동작 1330에서, 게임 콘텐츠 생성 장치(100)는 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 복수의 노드에 배치된 타일에 대한 정보를 전파할 수 있다.In
동작 1340에서, 게임 콘텐츠 생성 장치(100)는 연결 관계 및 인접 관계 규칙에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단할 수 있다.In
동작 1340에서의 판단 결과 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 동작 1350에서, 게임 콘텐츠 생성 장치(100)는 모든 노드에 타일이 배치되었는지 판단할 수 있다.If it is determined in
동작 1350에서의 판단 결과 모든 노드에 타일이 배치되지 않은 경우, 게임 콘텐츠 생성 장치(100)는 모든 노드에 타일이 배치될 때까지 동작 1310, 1320, 1330 및 1340을 반복하여 수행할 수 있다.If it is determined in
이와 달리, 동작 1350에서의 판단 결과 모든 노드에 타일이 배치된 경우, 게임 콘텐츠 생성 장치(100)는 게임 콘텐츠 생성 방법을 종료할 수 있다. Alternatively, if it is determined in
한편, 동작 1340에서의 판단 결과 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 동작 1360에서, 게임 콘텐츠 생성 장치(100)는 부적합한 타일이 배치된 노드에 복수의 타일 중 하나를 재배치할 수 있다.Meanwhile, if it is determined in
도 14는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.14 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 개시되는 실시예들에 따른 게임 콘텐츠 생성 장치(100)일 수 있다.The illustrated
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서는 실시예들을 중심으로 기술적 특징들을 설명하였다. 하지만, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한고, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 권리범위에 포함된 것으로 해석되어야 할 것이다.In the above, the technical features have been described focusing on the embodiments. However, the disclosed embodiments should be considered from an illustrative point of view rather than a limiting point of view, and the scope of rights is indicated in the claims rather than the above description, and all differences within an equivalent range are interpreted as being included in the scope of rights. it should be
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 게임 콘텐츠 생성 장치
110: 인접 관계 규칙 획득부
130: 그래프 구조 생성부
150: 타일 배치부10: Computing Environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: Program
22: input/output interface
24: input/output device
26: network communication interface
100: game content creation device
110: adjacency rule acquisition unit
130: graph structure generating unit
150: tile placement unit
Claims (16)
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨터 장치에서 수행되는 방법으로서,
게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득하는 동작;
복수의 노드를 생성하는 동작;
상기 복수의 노드 사이의 연결 관계를 추출하는 동작; 및
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 상기 복수의 노드에 상기 복수의 타일을 배치하는 동작을 포함하고,
상기 복수의 타일을 배치하는 동작은,
타일이 배치되지 않은 복수의 노드 중 하나를 선택하는 동작;
상기 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 상기 선택된 노드에 상기 복수의 타일 중 하나를 배치하는 동작; 및
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 상기 복수의 노드에 상기 배치된 타일에 대한 정보를 전파하는 동작을 포함하는 게임 콘텐츠 생성 방법.one or more processors, and
A method performed in a computer device having a memory storing one or more programs to be executed by the one or more processors, the method comprising:
obtaining an adjacency rule between a plurality of tiles corresponding to game content;
creating a plurality of nodes;
extracting a connection relationship between the plurality of nodes; and
arranging the plurality of tiles in the plurality of nodes based on the neighbor relationship rule and the connection relationship;
The operation of arranging the plurality of tiles includes:
selecting one of a plurality of nodes on which tiles are not disposed;
arranging one of the plurality of tiles in the selected node based on information on tiles that can be placed in the selected node; and
and propagating the information on the arranged tiles to the plurality of nodes so as to update information on the tiles that can be placed in each of the plurality of nodes where the tiles are not arranged based on the neighbor relationship rule and the connection relation. How to create content.
상기 인접 관계 규칙은, 상기 복수의 타일 각각에 인접 가능한 타일에 대한 정보를 포함하고,
상기 인접 관계 규칙의 크기는, 상기 복수의 타일의 수 및 상기 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 방법.The method according to claim 1,
The adjacency rule includes information on tiles that can be adjacent to each of the plurality of tiles,
The size of the adjacency rule is determined based on the number of the plurality of tiles and the number of tiles that may be adjacent to each of the plurality of tiles.
상기 연결 관계는, 상기 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지(edge)를 포함하고,
상기 추출하는 동작은, 상기 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 상기 서로 교차하는 엣지들 중 하나를 선택하는 게임 콘텐츠 생성 방법.The method according to claim 1,
The connection relationship includes an edge connecting adjacent nodes among the plurality of nodes,
The extracting may include detecting edges intersecting each other among a plurality of edges extracted from the plurality of nodes, and selecting one of the intersecting edges.
상기 복수의 타일을 배치하는 동작은,
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단하는 동작을 더 포함하는 게임 콘텐츠 생성 방법.The method according to claim 1,
The operation of arranging the plurality of tiles includes:
and determining whether a tile disposed in each of a plurality of nodes in which a tile is disposed is suitable based on the neighbor relationship rule and the connection relationship.
상기 배치 가능한 타일에 대한 정보의 크기는, 상기 복수의 노드의 수 및 상기 복수의 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 방법.5. The method according to claim 4,
The size of the information on the placeable tiles is determined based on the number of the plurality of nodes and the number of the plurality of tiles.
상기 획득하는 동작은, 상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득하고,
상기 복수의 타일 중 하나를 배치하는 동작은, 상기 배치 가능한 타일에 대한 정보, 상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 상기 선택된 노드에 상기 복수의 타일 중 하나를 배치하는 게임 콘텐츠 생성 방법.5. The method according to claim 4,
The acquiring includes acquiring at least one of information on tiles that cannot be placed in each of the plurality of nodes and a selection frequency of each of the plurality of tiles,
The disposing of one of the plurality of tiles may include: the selected based on at least one of information on the tile that can be placed, information on tiles that cannot be placed in each of the plurality of nodes, and a selection frequency of each of the plurality of tiles. A method for generating game content, comprising placing one of the plurality of tiles on a node.
상기 복수의 타일을 배치하는 동작은, 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 상기 선택하는 동작, 상기 복수의 타일 중 하나를 배치하는 동작 및 상기 전파하는 동작을 반복 수행하는 게임 콘텐츠 생성 방법.5. The method according to claim 4,
The disposing of the plurality of tiles may include, if a tile disposed at each of the plurality of nodes on which the tiles are disposed is suitable, selecting the plurality of tiles until the tiles are disposed on the plurality of nodes where the tiles are not disposed; A method of generating game content by repeatedly performing an operation of arranging one of the following and an operation of propagating the same.
상기 복수의 타일을 배치하는 동작은, 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 상기 부적합한 타일이 배치된 노드에 상기 복수의 타일 중 하나를 재배치하는 게임 콘텐츠 생성 방법.5. The method according to claim 4,
The arranging of the plurality of tiles includes, when a tile disposed on at least one of the plurality of nodes on which the tiles are disposed is inappropriate, relocating one of the plurality of tiles to the node on which the inappropriate tile is disposed.
상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,
상기 하나 이상의 프로세서는,
게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득하고,
복수의 노드를 생성하고,
상기 복수의 노드 사이의 연결 관계를 추출하고,
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 상기 복수의 노드에 상기 복수의 타일을 배치하되,
타일이 배치되지 않은 복수의 노드 중 하나를 선택하고,
상기 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 상기 선택된 노드에 상기 복수의 타일 중 하나를 배치하고,
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 상기 복수의 노드에 상기 배치된 타일에 대한 정보를 전파하는 게임 콘텐츠 생성 장치.a memory that stores one or more instructions; and
one or more processors executing the one or more instructions;
The one or more processors,
obtaining a rule of adjacency between a plurality of tiles corresponding to the game content;
create multiple nodes,
Extracting the connection relationship between the plurality of nodes,
disposing the plurality of tiles in the plurality of nodes based on the adjacent relationship rule and the connection relationship,
Select one of a plurality of nodes with no tiles placed,
disposing one of the plurality of tiles in the selected node based on information on tiles that can be placed in the selected node;
and propagating information on the arranged tiles to the plurality of nodes so as to update information on the tiles that can be placed in each of the plurality of nodes where the tiles are not arranged based on the neighbor relationship rule and the connection relation.
상기 인접 관계 규칙은, 상기 복수의 타일 각각에 인접 가능한 타일에 대한 정보를 포함하고,
상기 인접 관계 규칙의 크기는, 상기 복수의 타일의 수 및 상기 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 장치.10. The method of claim 9,
The adjacency rule includes information on tiles that can be adjacent to each of the plurality of tiles,
The size of the adjacency rule is determined based on the number of the plurality of tiles and the number of tiles that may be adjacent to each of the plurality of tiles.
상기 연결 관계는, 상기 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지(edge)를 포함하고,
상기 하나 이상의 프로세서는, 상기 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 상기 서로 교차하는 엣지들 중 하나를 선택하는 게임 콘텐츠 생성 장치.10. The method of claim 9,
The connection relationship includes an edge connecting adjacent nodes among the plurality of nodes,
The at least one processor detects edges that intersect each other among a plurality of edges extracted from the plurality of nodes, and selects one of the intersecting edges.
상기 하나 이상의 프로세서는,
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단하는 게임 콘텐츠 생성 장치.10. The method of claim 9,
The one or more processors,
A game content generating apparatus for determining whether a tile disposed in each of a plurality of nodes in which a tile is disposed is suitable based on the neighbor relationship rule and the connection relationship.
상기 배치 가능한 타일에 대한 정보의 크기는, 상기 복수의 노드의 수 및 상기 복수의 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 장치.13. The method of claim 12,
The size of the information on the placeable tiles is determined based on the number of the plurality of nodes and the number of the plurality of tiles.
상기 하나 이상의 프로세서는,
상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득하고,
상기 배치 가능한 타일에 대한 정보, 상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 상기 선택된 노드에 상기 복수의 타일 중 하나를 배치하는 게임 콘텐츠 생성 장치.13. The method of claim 12,
The one or more processors,
obtaining at least one or more of information on tiles that cannot be placed in each of the plurality of nodes and a selection frequency of each of the plurality of tiles;
A game in which one of the plurality of tiles is placed in the selected node based on at least one of information on the placeable tiles, information on tiles that cannot be placed on each of the plurality of nodes, and a selection frequency of each of the plurality of tiles content creation device.
상기 하나 이상의 프로세서는, 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 상기 선택하는 동작, 상기 복수의 타일 중 하나를 배치하는 동작 및 상기 전파하는 동작을 반복 수행하는 게임 콘텐츠 생성 장치.13. The method of claim 12,
The one or more processors, if the tile disposed in each of the plurality of nodes on which the tile is disposed is suitable, the operation of selecting the tile until the tile is disposed on the plurality of nodes where the tile is not disposed, and disposing one of the plurality of tiles A game content generating device that repeatedly performs the operation and the propagation operation.
상기 하나 이상의 프로세서는, 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 상기 부적합한 타일이 배치된 노드에 상기 복수의 타일 중 하나를 재배치하는 게임 콘텐츠 생성 장치.13. The method of claim 12,
The one or more processors may be configured to, when a tile disposed in at least one of a plurality of nodes in which tiles are disposed is inappropriate, relocating one of the plurality of tiles to a node in which the inappropriate tiles are disposed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190144567A KR102310107B1 (en) | 2019-11-12 | 2019-11-12 | Method and apparatus for generating game contents |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190144567A KR102310107B1 (en) | 2019-11-12 | 2019-11-12 | Method and apparatus for generating game contents |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210057605A KR20210057605A (en) | 2021-05-21 |
KR102310107B1 true KR102310107B1 (en) | 2021-10-08 |
Family
ID=76157708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190144567A KR102310107B1 (en) | 2019-11-12 | 2019-11-12 | Method and apparatus for generating game contents |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102310107B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114130014A (en) * | 2021-11-08 | 2022-03-04 | 网易(杭州)网络有限公司 | Game interface processing method and device, electronic equipment and readable medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150231503A1 (en) * | 2013-09-23 | 2015-08-20 | Empire Technology Development Llc | Location graph adapted video games |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4097771B2 (en) * | 1998-04-08 | 2008-06-11 | 三菱電機株式会社 | Unit placement restriction rule definition device |
KR102589453B1 (en) * | 2016-03-03 | 2023-10-16 | 주식회사 넥슨코리아 | System and method for simulating a game environment |
-
2019
- 2019-11-12 KR KR1020190144567A patent/KR102310107B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150231503A1 (en) * | 2013-09-23 | 2015-08-20 | Empire Technology Development Llc | Location graph adapted video games |
Also Published As
Publication number | Publication date |
---|---|
KR20210057605A (en) | 2021-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10828568B2 (en) | Game system, etc. performing path finding of non-player character on the basis of movement history of player | |
US8784214B2 (en) | Method and system for establishing location-based leaderboard | |
KR102631813B1 (en) | Interface display method, device, terminal and storage medium | |
KR20140006642A (en) | Method for processing user gesture input in online game | |
JP2016539668A (en) | Augmented reality device, method and program | |
KR102610422B1 (en) | Method and apparatus, device, and storage medium for processing avatar usage data | |
US20220379214A1 (en) | Method and apparatus for a control interface in a virtual environment | |
US11847734B2 (en) | Method and apparatus for displaying virtual environment picture, device, and storage medium | |
CN110478900B (en) | Map area generation method, device, equipment and storage medium in virtual environment | |
JP2017055995A (en) | Program, game device, and server system | |
US11628365B2 (en) | Information processing system, storage medium, information processing apparatus and information processing method | |
KR102310107B1 (en) | Method and apparatus for generating game contents | |
KR102609293B1 (en) | Apparatus and method for determining game action | |
JP6936913B1 (en) | Program and setting method | |
JP7341801B2 (en) | Video game processing program and video game processing system | |
WO2023071808A1 (en) | Virtual scene-based graphic display method and apparatus, device, and medium | |
KR102584901B1 (en) | Apparatus and method for sending event information, apparatus and method for displayng event information | |
KR102557808B1 (en) | Gaming service system and method for sharing memo therein | |
KR20190127308A (en) | Apparatus and method for predicting game user control | |
US20230285859A1 (en) | Virtual world sound-prompting method, apparatus, device and storage medium | |
KR102463571B1 (en) | Apparatus and method for controlling game | |
JP6258552B1 (en) | Information processing apparatus, information processing method, program, and terminal | |
KR101569831B1 (en) | Game agent decision making modelling method by forming dynamic space affordance | |
CN116966549A (en) | Method, device, equipment and storage medium for determining aiming point in virtual scene | |
JP2023045563A (en) | Game program, information processor, information processing system, and game processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |