KR102310107B1 - Method and apparatus for generating game contents - Google Patents

Method and apparatus for generating game contents Download PDF

Info

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
Application number
KR1020190144567A
Other languages
Korean (ko)
Other versions
KR20210057605A (en
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 KR1020190144567A priority Critical patent/KR102310107B1/en
Publication of KR20210057605A publication Critical patent/KR20210057605A/en
Application granted granted Critical
Publication of KR102310107B1 publication Critical patent/KR102310107B1/en

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/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
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details 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

게임 콘텐츠 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING GAME CONTENTS}Method and device for generating game content

개시되는 실시예들은 게임 콘텐츠 생성 기술과 관련된다.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 content generating apparatus 100 according to an exemplary embodiment.

일 실시예에서, 게임 콘텐츠 생성 장치(100)는 그래프 구조 기반의 복수의 노드를 생성한 후, 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙에 기초하여 복수의 노드에 복수의 타일을 배치함으로써, 게임 콘텐츠를 생성하기 위한 것일 수 있다. 구체적으로, 게임 콘텐츠 생성 방법은 그래프 구조에 기초하여 게임 콘텐츠를 생성함으로써, 내비게이션 메시(Navigation mesh) 등과 같은 비정형 데이터에 대해서도 게임 콘텐츠를 생성하기 위한 것일 수 있다. 이때, 게임 콘텐츠는 게임 내 거점, 자원, NPC(Non-Player Character) 등과 같이 게임 진행에 필요한 다양한 요소들을 포함할 수 있다.In an embodiment, the game content generating apparatus 100 generates a plurality of nodes based on a graph structure, and then arranges the plurality of tiles on the plurality of nodes based on a rule of a neighbor relationship between a plurality of tiles corresponding to the game content. By doing so, it may be for generating game content. Specifically, the method for generating game content may be for generating game content even for unstructured data such as a navigation mesh by generating game content based on a graph structure. In this case, the game content may include various elements necessary for the game progress, such as in-game bases, resources, and non-player characters (NPCs).

도 1을 참조하면, 게임 콘텐츠 생성 장치(100)는 인접 관계 규칙 획득부(110), 그래프 구조 생성부(130) 및 타일 배치부(150)를 포함한다.Referring to FIG. 1 , the game content generating apparatus 100 includes an adjacency rule obtaining unit 110 , a graph structure generating unit 130 , and a tile arrangement unit 150 .

일 실시예에서, 인접 관계 규칙 획득부(110), 그래프 구조 생성부(130) 및 타일 배치부(150)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.In an embodiment, the adjacency rule obtaining unit 110 , the graph structure generating unit 130 , and the tile arrangement unit 150 are implemented using one or more physically separated devices, or one or more processors or one or more processors and It may be implemented by a combination of software, and unlike the illustrated example, specific operations may not be clearly distinguished.

인접 관계 규칙 획득부(110)는 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득한다.The adjacency rule acquiring unit 110 acquires the adjacency rule between a plurality of tiles corresponding to the game content.

일 실시예에서, 인접 관계 규칙 획득부(110)는 사용자로부터 복수의 타일 사이의 인접 관계 규칙을 획득할 수 있다. In an embodiment, the adjacency rule obtaining unit 110 may obtain the adjacency rule between the plurality of tiles from the user.

이때, 타일은 게임 콘텐츠에 대응되는 정보일 수 있다.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 tile 210 , B tile 220 , and C tile 230 exist. A user may indicate that the A tile 210 may be adjacent to the A tile 210 , the B tile 220 , and the C tile 230 , the B tile 220 may be adjacent to the A tile 210 , and the C tile 230 . ) may input an adjacency rule indicating that the A tile 210 can be adjacent. In this case, the A tile 210 may be adjacent to all tiles according to the adjacency rule, but only the A tile 210 may be adjacent to the B tile 220 and the C tile 230 .

또한, 인접 관계 규칙 획득부(110)는 사용자로부터 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득할 수 있다.Also, the neighbor relationship rule obtaining unit 110 may obtain from the user at least one or more of information about tiles that cannot be placed in each of the plurality of nodes and a selection frequency of each of the plurality of tiles.

이때, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보는 각 노드에 배치할 수 없는 제약(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 structure generating unit 130 generates a graph structure for representing a virtual state space in the game. In this case, the graph structure may include a node and an edge connecting the nodes.

구체적으로, 그래프 구조 생성부(130)는 복수의 노드를 생성한다.Specifically, the graph structure generating unit 130 generates a plurality of nodes.

일 실시예에서, 그래프 구조 생성부(130)는 게임 내 가상의 상태 공간에서 게임 콘텐츠를 배치하기 위한 복수의 노드를 생성할 수 있다. 노드는 게임 콘텐츠에 대응되는 타일을 배치하기 위한 영역일 수 있다. In an embodiment, the graph structure generator 130 may generate a plurality of nodes for arranging game content in a virtual state space within the game. A node may be an area for arranging tiles corresponding to game content.

또한, 그래프 구조 생성부(130)는 보로노이 다이어그램(Voronoi diagram), 포아송 분포(Poisson distribution) 등과 같이 다양한 알고리즘에 기초하여 복수의 노드를 생성할 수 있다. Also, the graph structure generator 130 may generate a plurality of nodes based on various algorithms such as a Voronoi diagram and a Poisson distribution.

예를 들어, 도 3에 도시된 바와 같이, 그래프 구조 생성부(130)는 상태 공간에서 보로노이 다이어그램 형태로 복수의 노드를 생성할 수 있다. 이때, 각 노드의 크기, 모양, 형태 등은 각 노드마다 상이할 수 있다.For example, as shown in FIG. 3 , the graph structure generator 130 may generate a plurality of nodes in the form of a Voronoi diagram in the state space. In this case, the size, shape, shape, etc. of each node may be different for each node.

한편, 상술한 예는 실시예에 불과하며, 그래프 구조 생성부(130)는 상술한 알고리즘 이외에 다양한 방식을 통해 복수의 노드를 생성할 수 있다.Meanwhile, the above-described example is merely an embodiment, and the graph structure generator 130 may generate a plurality of nodes through various methods other than the above-described algorithm.

그래프 구조 생성부(130)는 복수의 노드 사이의 연결 관계를 추출한다.The graph structure generator 130 extracts a connection relationship between a plurality of nodes.

이때, 연결 관계는 각 노드가 어떤 노드와 연결되어 있는지에 대한 정보를 포함할 수 있다. 일 실시예에서, 연결 관계는 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지를 포함할 수 있다.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 graph structure generator 130 may extract an edge between a plurality of nodes based on a pathfinding algorithm. Specifically, the graph structure generating unit 130 may extract a plurality of edges having a length equal to or less than a preset threshold value while connecting each node.

또한, 일 실시예에서, 그래프 구조 생성부(130)는 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 서로 교차하는 엣지들 중 하나를 선택할 수 있다.Also, in an embodiment, the graph structure generator 130 may detect edges that intersect each other among a plurality of edges extracted from a plurality of nodes, and select one of the edges that intersect each other.

구체적으로, 그래프 구조 생성부(130)는 복수의 엣지 중 z 축을 기준으로 바라봤을 때 서로 교차하는 엣지들을 검출할 수 있다. 이후, 컴퓨팅 장치(12)는 서로 교차하는 엣지들 중 길이가 긴 엣지를 삭제하는 방식을 이용하여 서로 교차하는 엣지들 중 하나를 선택할 수 있다.Specifically, the graph structure generator 130 may detect edges that intersect each other when viewed along the z-axis among the plurality of edges. Thereafter, the computing device 12 may select one of the intersecting edges by using a method of deleting the long edge among the intersecting edges.

한편, 상술한 예에서 그래프 구조 생성부(130)는 패스 파인딩 알고리즘에 기초하여 엣지를 추출하는 것으로 설명하였으나, 반드시 이에 한정되는 것은 아니고, 다양한 알고리즘에 기초하여 엣지를 추출할 수 있다.Meanwhile, in the above-described example, the graph structure generator 130 has been described as extracting the edge based on the path finding algorithm, but the present invention is not limited thereto, and the edge may be extracted based on various algorithms.

타일 배치부(150)는 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치한다.The tile arrangement unit 150 arranges a plurality of tiles in a plurality of nodes based on an adjacent relationship rule and a connection relationship.

일 실시예에서, 타일 배치부(150)는 파동 함수 붕괴(WFC: Wave Function Collapse) 기법에 기초하여 복수의 노드에 복수의 타일을 배치할 수 있다.In an embodiment, the tile arrangement unit 150 may arrange a plurality of tiles on a plurality of nodes based on a Wave Function Collapse (WFC) technique.

이때, 타일 배치부(150)는 전파 인자(Propagator)와 호환성(Compatible)이라는 변수를 이용하여 복수의 타일 사이의 인접 관계 규칙 및 복수의 노드에 배치 가능한 타일에 대한 정보를 관리할 수 있다.In this case, the tile arrangement unit 150 may manage a neighbor relationship rule between a plurality of tiles and information on tiles that can be placed in a plurality of nodes by using variables such as a propagator and a compatibility.

일 실시예에서, 인접 관계 규칙은 전파 인자라는 변수에 저장될 수 있다. 이때, 인접 관계 규칙의 크기는 복수의 타일의 수 및 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정될 수 있다. 구체적으로, 인접 관계 규칙의 크기는 복수의 타일의 수와 복수의 타일 각각에 인접 가능한 타일의 수의 곱으로 나타낼 수 있다. 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 content generating apparatus 100 generates game content based on the graph structure, it is difficult to specify the direction of each node unlike the existing grid structure-based method. Therefore, since the game content generating apparatus 100 generates game content based on the connection relationship between each node instead of the direction of each node, when determining the size of each of the information on the adjacent relationship rule and the placeable tile, the node direction is not taken into account. Accordingly, the information on the adjacency rule and the tile that can be placed has a size of a three-dimensional array in the grid structure-based method, but has the size of a two-dimensional array in the graph structure-based method.

한편, 타일 배치부(150)는 복수의 노드 중 타일이 배치되지 않는 노드를 선택하고, 선택된 노드에 타일을 배치하는 관찰(Observe) 동작과 배치된 타일에 대한 정보를 선택된 노드를 제외한 다른 노드들에게 전파하는 전파(Propagate) 동작을 반복하여 수행할 수 있다. Meanwhile, the tile arranging unit 150 selects a node on which a tile is not disposed among a plurality of nodes, performs an Observ operation of arranging a tile on the selected node, and transmits information about the disposed tile to other nodes except for the selected node. The propagation operation to propagate to the user can be repeatedly performed.

일 실시예에서, 타일 배치부(150)는 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 생성할 수 있다. 이때, 초기에는 복수의 노드에 모든 타일이 배치 가능하지만, 타일을 배치할수록 인접 관계 규칙 및 연결 관계에 따라 각 노드에 배치 가능한 타일이 점점 축소될 수 있다.In an embodiment, the tile arrangement unit 150 may generate information about tiles that can be placed in each of a plurality of nodes. In this case, initially, all tiles can be arranged on a plurality of nodes, but as tiles are arranged, the number of tiles that can be arranged on each node can be gradually reduced according to a neighbor relationship rule and a connection relationship.

또한, 일 실시예에서, 타일 배치부(150)는 타일이 배치되지 않은 복수의 노드 중 하나를 선택할 수 있다.Also, according to an embodiment, the tile arrangement unit 150 may select one of a plurality of nodes on which tiles are not arranged.

구체적으로, 타일 배치부(150)는 타일이 배치되지 않은 복수의 노드 중 엔트로피가 가장 낮은 노드를 선택할 수 있다. 이때, 엔트로피가 가장 낮은 노드는 배치 가능한 타일의 수가 가장 적은 노드일 수 있다. 또한, 사용자가 복수의 타일 각각의 선택 빈도를 설정한 경우, 각 노드의 엔트로피는 각 타일의 선택 빈도로부터 영향을 받을 수 있다.Specifically, the tile arrangement unit 150 may select a node having the lowest entropy among a plurality of nodes in which tiles are not arranged. In this case, a node having the lowest entropy may be a node having the smallest number of tiles that can be arranged. Also, when the user sets the selection frequency of each of the plurality of tiles, the entropy of each node may be affected by the selection frequency of each tile.

또한, 일 실시예에서, 타일 배치부(150)는 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.Also, according to an embodiment, the tile arrangement unit 150 may place one of a plurality of tiles on the selected node based on information on tiles that can be placed on the selected node.

구체적으로, 타일 배치부(150)는 복수의 노드 각각에 배치 가능한 타일에 대한 정보, 배치 불가능한 타일에 대한 정보 및 각 타일의 선택 빈도에 기초하여 노드에 복수의 타일 중 하나를 배치할 수 있다. Specifically, the tile arrangement unit 150 may arrange one of the plurality of tiles in a node based on information about tiles that can be placed in each of the plurality of nodes, information about tiles that cannot be placed, and a selection frequency of each tile.

또한, 일 실시예에서, 타일 배치부(150)는 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 복수의 노드로 배치된 타일에 대한 정보를 전파할 수 있다.Also, according to an embodiment, the tile arrangement unit 150 is configured to update information on tiles that can be placed in each of a plurality of nodes where tiles are not arranged based on the neighbor relationship rule and the connection relationship to the tiles arranged in the plurality of nodes. information can be disseminated.

구체적으로, 타일 배치부(150)는 선택된 노드에 타일을 배치한 후 해당 노드에 다른 타일이 배치될 수 없다는 정보를 복수의 노드로 전파할 수 있다. 또한, 타일 배치부(150)는 복수의 노드로 배치된 타일에 대한 정보를 전파하여 아직 타일이 배치되지 않은 노드들에 배치 가능한 타일에 대한 정보를 갱신할 수 있다. Specifically, the tile arrangement unit 150 may dispose a tile on a selected node and then propagate information indicating that no other tiles may be placed on the corresponding node to a plurality of nodes. Also, the tile arrangement unit 150 may update information on tiles that can be placed in nodes where tiles are not yet arranged by propagating information on tiles arranged in a plurality of nodes.

이에 따라, 타일이 배치될수록 복수의 노드를 포함하는 전체 상태 공간의 불확실성은 점차 낮아지게 될 수 있다.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 tile arrangement unit 150 may further include a backtrack operation of relocating a tile to a corresponding node when a tile placed in a node is not suitable after performing an observation operation and a propagation operation.

일 실시예에서, 타일 배치부(150)는 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단할 수 있다.In an embodiment, the tile arrangement unit 150 may determine whether a tile disposed in each of a plurality of nodes in which a tile is disposed is suitable based on an adjacent relationship rule and a connection relationship.

구체적으로, 타일 배치부(150)는 연결 관계에 기초하여 타일이 배치된 각 노드와 연결된 노드들을 파악하고, 인접 관계 규칙에 기초하여 각 노드에 배치된 타일과 주변에 연결된 노드들에 배치된 타일들이 서로 인접 가능한지 여부를 판단할 수 있다. 이때, 주변에 연결된 노드들에 배치된 타일들이 서로 인접 가능한 타일들인 경우, 타일 배치부(150)는 적합한 타일이 배치된 것으로 판단할 수 있다.Specifically, the tile arrangement unit 150 identifies nodes connected to each node in which the tile is arranged based on the connection relationship, and based on the neighbor relationship rule, the tile arranged at each node and the tile arranged at neighboring nodes. It can be determined whether they are adjacent to each other. In this case, when the tiles disposed in the neighboring nodes are adjacent to each other, the tile arrangement unit 150 may determine that a suitable tile is disposed.

이후, 타일 배치부(150)는 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 상술한 타일이 배치되지 않은 복수의 노드 중 하나를 선택하는 동작, 복수의 타일 중 하나를 배치하는 동작 및 전파하는 동작을 반복 수행할 수 있다.Thereafter, when the tile arranged on each of the plurality of nodes on which the tiles are arranged is suitable, the tile arrangement unit 150 determines the plurality of nodes on which the above-described tiles are not arranged until the tiles are arranged on the plurality of nodes on which the tiles are not arranged. An operation of selecting one of the tiles, an operation of arranging one of the plurality of tiles, and an operation of propagating may be repeatedly performed.

이와 달리, 타일 배치부(150)는 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 부적합한 타일이 배치된 노드에 복수의 타일 중 하나를 재배치할 수 있다.Alternatively, when a tile disposed on at least one of a plurality of nodes on which tiles are disposed is inappropriate, the tile arrangement unit 150 may rearrange one of the plurality of tiles at a node on which an inappropriate tile is disposed.

구체적으로, 주변에 연결된 노드에 인접 관계 규칙에 어긋나는 타일이 배치된 경우, 노드와 주변에 연결된 노드가 서로 충돌하게 될 수 있다. 이때, 타일 배치부(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 tile arrangement unit 150 may relocate the tile to the node where the inappropriate tile is placed while returning to the process before the collision occurs.

도 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 graph structure generator 130 may extract a plurality of nodes using a Poisson distribution technique. It can be seen that the extracted nodes are distributed in each area as shown in FIG. 4(b). In this case, the extracted nodes are separated from each other by a certain distance and may be connected to one or more other nodes.

이후, 그래프 구조 생성부(130)는 패스 파인딩 알고리즘에 기초하여 복수의 노드로부터 복수의 엣지를 추출할 수 있다. 추출된 엣지들은 도 4(c)에 도시된 바와 같이 각 노드들을 연결하는 선으로 나타낼 수 있다.Thereafter, the graph structure generator 130 may extract a plurality of edges from a plurality of nodes based on a path finding algorithm. The extracted edges may be represented by lines connecting each node as shown in FIG. 4(c) .

이후, 그래프 구조 생성부(130)는 복수의 엣지 중 서로 교차하는 엣지들을 추출하고, 이미지를 z 축에서 바라봤을 때 서로 교차하는 엣지들 중 길이가 긴 엣지를 삭제하는 방식을 이용하여 서로 교차하는 엣지들 중 하나를 선택할 수 있다.Thereafter, the graph structure generating unit 130 extracts edges that intersect each other among a plurality of edges, and deletes long edges among the edges that intersect each other when the image is viewed from the z-axis. One of the edges can be selected.

예를 들어, 410 영역을 살펴보면, 서로 교차하는 엣지들이 존재하는 것을 확인할 수 있다. 이때, 그래프 구조 생성부(130)는 서로 교차하는 엣지들 중 길이가 긴 엣지를 삭제하여 서로 교차하는 엣지들이 존재하지 않도록 할 수 있다.For example, looking at area 410, it can be confirmed that edges intersecting each other exist. In this case, the graph structure generating unit 130 may delete long edges from among the edges that cross each other so that there are no edges that cross each other.

이에 따라, 도 4(d)에 도시된 바와 같이, 그래프 구조 생성부(130)는 최종적으로 서로 겹치지 않는 엣지들로 연결된 복수의 노드를 생성할 수 있다.Accordingly, as shown in FIG. 4D , the graph structure generator 130 may finally generate a plurality of nodes connected by edges that do not overlap each other.

도 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 rule obtaining unit 110 may obtain the adjacency rule 510 from the user. In this case, the adjacency rule 510 may be input in a text format.

예를 들어, 사용자는 A 타일(520)은 모든 타일과 인접 가능하지만, B 타일(530) 및 C 타일(540)은 A 타일(520)만 인접 가능하도록 A 타일(520), B 타일(530) 및 C 타일(540) 사이의 인접 관계 규칙(510)을 텍스트 형식으로 입력할 수 있다.For example, the user may use the A tile 520 and B tile 530 so that the A tile 520 can be adjacent to all tiles, but the B tile 530 and the C tile 540 can only be adjacent to the A tile 520 . ) and the adjacent relationship rule 510 between the C tile 540 may be input in text format.

이후, 타일 배치부(150)는 인접 관계 규칙에 기초하여 복수의 노드에 복수의 타일을 배치할 수 있다. 이때, 복수의 노드에 배치된 각 타일을 살펴보면, 각 타일은 모두 인접 관계 규칙(510)을 성립하는 것을 확인할 수 있다. Thereafter, the tile arrangement unit 150 may arrange a plurality of tiles in a plurality of nodes based on an adjacency rule. In this case, looking at each tile disposed in the plurality of nodes, it can be confirmed that each tile satisfies the neighbor relationship rule 510 .

구체적으로, 550 영역을 살펴보면, B 타일(530)이 배치된 노드와 연결된 노드들은 A 타일(520)이 배치되고, B 타일(530)이 배치된 노드 주변에 C 타일(540)이 배치된 노드가 존재하지 않는 것을 확인할 수 있다. Specifically, looking at region 550, nodes connected to the node on which the B tile 530 is disposed have the A tile 520 disposed, and the C tile 540 will be disposed around the node on which the B tile 530 is disposed. It can be confirmed that does not exist.

또한, 560 영역을 살펴보면, 상술한 B 타일(530)과 동일하게 C 타일(540)이 배치된 노드와 연결된 노드들도 인접 관계 규칙에 맞는 타일들이 배치된 것을 확인할 수 있다.Also, looking at area 560 , it can be seen that tiles matching the neighbor relationship rule are also arranged in nodes connected to the node in which the C tile 540 is arranged in the same manner as in the B tile 530 described above.

도 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 content generating apparatus 100 . At this time, the four-color problem is the theory that different colors can be arranged in nodes connected to each node with four colors.

구체적으로, 도 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 tile arrangement unit 150 may arrange tiles in each of the plurality of nodes based on the above-described neighbor relationship rule. Specifically, it can be confirmed that the color arranged in each node is different from the color arranged in the nodes connected to the periphery.

이에 따라, 게임 콘텐츠 생성 장치(100)는 각 노드의 연결 관계 및 인접 관계 규칙만을 이용하여 4색 문제를 해결할 수 있다는 것을 확인할 수 있다.Accordingly, it can be confirmed that the game content generating apparatus 100 can solve the four-color problem using only the connection relationship and the neighbor relationship rule of each node.

도 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 tile arrangement unit 150 may arrange tiles on a plurality of nodes generated on the in-game map, respectively, based on the above-described neighbor relationship rule. Specifically, it can be confirmed that all tiles arranged in each node satisfy the adjacency rule.

도 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 content generating apparatus 100 .

구체적으로, 바람을 자연스럽게 생성하기 위해서는 바람의 방향이나 세기 등이 자연스럽게 변화해야 한다. 따라서, 바람이라는 비정형 데이터 생성하기 위해 그래프 구조 기반의 파동 함수 충돌 기법을 적용하기 위한 복수의 노드를 생성해야 한다.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 structure generating unit 130 may generate a plurality of nodes for wind by using the Voronoi diagram, and then may generate a three-dimensional vector field by designating a vector value to each generated node. In this case, the vector may be composed of one size information and two direction information. Such a three-dimensional vector field can extract features of content with less computational cost than existing grid structure-based data, and can be used as a constraint (for example, information about tiles that cannot be placed in each of a plurality of nodes) or stationary (for example, For example, there is an advantage in that the selection frequency of each of the plurality of tiles) can be easily applied.

한편, 사용자는 벡터 사이의 인접 관계 규칙를 벡터의 크기 및 방향에 기초하여 설정할 수 있다. 예를 들어, 제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 content generating apparatus 100 .

도 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 graph structure generator 130 may generate a plurality of nodes using a voronoi cell.

이때, 하늘 공간에서 생성된 복수의 노드는 게임 캐릭터들이 지나다니지 않기 때문에 복수의 노드의 정밀도가 낮아도 무방하다. 따라서, 하늘 공간에서 생성된 복수의 노드는 크기가 크고 서로 멀리 떨어져 생성된 것을 확인할 수 있다.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 content generating apparatus 100 may procedurally generate game content by applying the wave function collapse technique to unstructured data such as a navigation mesh, a 3D texture, and the like.

도 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 content generating apparatus 100 shown in FIG. 1 .

도 12를 참조하면, 동작 1210에서, 게임 콘텐츠 생성 장치(100)는 게임 콘텐츠에 대응되는 복수의 타일 사이의 인접 관계 규칙을 획득한다.Referring to FIG. 12 , in operation 1210 , the game content generating apparatus 100 acquires a rule of a neighbor relationship between a plurality of tiles corresponding to the game content.

이때, 게임 콘텐츠 생성 장치(100)는 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득할 수 있다.In this case, the game content generating apparatus 100 may acquire at least one of information about tiles that cannot be placed in each of the plurality of nodes and a selection frequency of each of the plurality of tiles.

동작 1220에서, 게임 콘텐츠 생성 장치(100)는 복수의 노드를 생성한다.In operation 1220, the game content generating apparatus 100 generates a plurality of nodes.

동작 1230에서, 게임 콘텐츠 생성 장치(100)는 복수의 노드 사이의 연결 관계를 추출한다.In operation 1230, the game content generating apparatus 100 extracts a connection relationship between a plurality of nodes.

이때, 게임 콘텐츠 생성 장치(100)는 복수의 노드로부터 추출된 복수의 엣지 중 서로 교차하는 엣지들을 검출하고, 서로 교차하는 엣지들 중 하나를 선택할 수 있다.In this case, the game content generating apparatus 100 may detect edges intersecting each other among a plurality of edges extracted from a plurality of nodes, and may select one of the intersecting edges.

동작 1240에서, 게임 콘텐츠 생성 장치(100)는 인접 관계 규칙 및 연결 관계에 기초하여 복수의 노드에 복수의 타일을 배치한다.In operation 1240 , the game content generating apparatus 100 arranges a plurality of tiles in a plurality of nodes based on a neighbor relationship rule and a connection relationship.

도 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 content generating apparatus 100 illustrated in FIG. 1 .

도 13을 참조하면, 동작 1310에서, 게임 콘텐츠 생성 장치(100)는 타일이 배치되지 않은 복수의 노드 중 하나를 선택할 수 있다.Referring to FIG. 13 , in operation 1310 , the game content generating apparatus 100 may select one of a plurality of nodes on which tiles are not disposed.

동작 1320에서, 게임 콘텐츠 생성 장치(100)는 선택된 노드에 배치 가능한 타일에 대한 정보에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.In operation 1320 , the game content generating apparatus 100 may arrange one of a plurality of tiles in the selected node based on information about tiles that can be placed in the selected node.

이때, 게임 콘텐츠 생성 장치(100)는 배치 가능한 타일에 대한 정보, 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 선택된 노드에 복수의 타일 중 하나를 배치할 수 있다.In this case, the game content generating apparatus 100 is configured to select a node from among a plurality of tiles based on at least one of information on a tile that can be placed, information about a tile that cannot be placed on each of the plurality of nodes, and a selection frequency of each of the plurality of tiles. You can place one.

동작 1330에서, 게임 콘텐츠 생성 장치(100)는 인접 관계 규칙 및 연결 관계에 기초하여 타일이 배치되지 않은 복수의 노드 각각에 배치 가능한 타일에 대한 정보를 갱신하도록 복수의 노드에 배치된 타일에 대한 정보를 전파할 수 있다.In operation 1330 , the game content generating apparatus 100 updates information on tiles that can be placed on each of a plurality of nodes in which tiles are not arranged based on the neighbor relationship rule and the connection relationship, so as to update information on tiles arranged in a plurality of nodes. can spread

동작 1340에서, 게임 콘텐츠 생성 장치(100)는 연결 관계 및 인접 관계 규칙에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단할 수 있다.In operation 1340 , the game content generating apparatus 100 may determine whether a tile disposed in each of a plurality of nodes in which a tile is disposed is suitable based on a connection relationship and a neighbor relationship rule.

동작 1340에서의 판단 결과 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 동작 1350에서, 게임 콘텐츠 생성 장치(100)는 모든 노드에 타일이 배치되었는지 판단할 수 있다.If it is determined in operation 1340 that the tile disposed on each of the plurality of nodes on which the tile is disposed is suitable, in operation 1350 , the game content generating apparatus 100 may determine whether the tile is disposed on all nodes.

동작 1350에서의 판단 결과 모든 노드에 타일이 배치되지 않은 경우, 게임 콘텐츠 생성 장치(100)는 모든 노드에 타일이 배치될 때까지 동작 1310, 1320, 1330 및 1340을 반복하여 수행할 수 있다.If it is determined in operation 1350 that tiles are not arranged in all nodes, the game content generating apparatus 100 may repeat operations 1310 , 1320 , 1330 , and 1340 until tiles are arranged in all nodes.

이와 달리, 동작 1350에서의 판단 결과 모든 노드에 타일이 배치된 경우, 게임 콘텐츠 생성 장치(100)는 게임 콘텐츠 생성 방법을 종료할 수 있다. Alternatively, if it is determined in operation 1350 that tiles are arranged in all nodes, the game content generating apparatus 100 may end the game content generating method.

한편, 동작 1340에서의 판단 결과 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 동작 1360에서, 게임 콘텐츠 생성 장치(100)는 부적합한 타일이 배치된 노드에 복수의 타일 중 하나를 재배치할 수 있다.Meanwhile, if it is determined in operation 1340 that the tile disposed on at least one of the plurality of nodes on which the tile is disposed is inappropriate, in operation 1360 , the game content generating apparatus 100 determines one of the plurality of tiles at the node on which the inappropriate tile is disposed. can be rearranged.

도 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 computing environment 10 includes a computing device 12 . In one embodiment, the computing device 12 may be the game content generating device 100 according to the disclosed embodiments.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , computer readable storage medium 16 , and communication bus 18 . The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiments discussed above. For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16 . The one or more programs may include one or more computer-executable instructions, which, when executed by the processor 14, may be configured to cause the computing device 12 to perform operations in accordance with the exemplary embodiment. have.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14 . In one embodiment, computer-readable storage medium 16 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other forms of storage medium accessed by computing device 12 and capable of storing desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12 , including processor 14 and computer readable storage medium 16 .

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . The input/output interface 22 and the network communication interface 26 are coupled to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output device 24 may include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or imaging devices. input devices and/or output devices such as display devices, printers, speakers and/or network cards. The exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12 , and may be connected to the computing device 12 as a separate device distinct from the computing device 12 . may be

이상에서는 실시예들을 중심으로 기술적 특징들을 설명하였다. 하지만, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한고, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 권리범위에 포함된 것으로 해석되어야 할 것이다.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.
청구항 1에 있어서,
상기 인접 관계 규칙은, 상기 복수의 타일 각각에 인접 가능한 타일에 대한 정보를 포함하고,
상기 인접 관계 규칙의 크기는, 상기 복수의 타일의 수 및 상기 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 방법.
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.
청구항 1에 있어서,
상기 연결 관계는, 상기 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지(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.
청구항 1에 있어서,
상기 복수의 타일을 배치하는 동작은,
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단하는 동작을 더 포함하는 게임 콘텐츠 생성 방법.
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.
청구항 4에 있어서,
상기 배치 가능한 타일에 대한 정보의 크기는, 상기 복수의 노드의 수 및 상기 복수의 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 방법.
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.
청구항 4에 있어서,
상기 획득하는 동작은, 상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득하고,
상기 복수의 타일 중 하나를 배치하는 동작은, 상기 배치 가능한 타일에 대한 정보, 상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 상기 선택된 노드에 상기 복수의 타일 중 하나를 배치하는 게임 콘텐츠 생성 방법.
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.
청구항 4에 있어서,
상기 복수의 타일을 배치하는 동작은, 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 상기 선택하는 동작, 상기 복수의 타일 중 하나를 배치하는 동작 및 상기 전파하는 동작을 반복 수행하는 게임 콘텐츠 생성 방법.
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.
청구항 4에 있어서,
상기 복수의 타일을 배치하는 동작은, 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 상기 부적합한 타일이 배치된 노드에 상기 복수의 타일 중 하나를 재배치하는 게임 콘텐츠 생성 방법.
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.
청구항 9에 있어서,
상기 인접 관계 규칙은, 상기 복수의 타일 각각에 인접 가능한 타일에 대한 정보를 포함하고,
상기 인접 관계 규칙의 크기는, 상기 복수의 타일의 수 및 상기 복수의 타일 각각에 인접 가능한 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 장치.
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.
청구항 9에 있어서,
상기 연결 관계는, 상기 복수의 노드 중 서로 인접한 노드들을 연결하는 엣지(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.
청구항 9에 있어서,
상기 하나 이상의 프로세서는,
상기 인접 관계 규칙 및 상기 연결 관계에 기초하여 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한지 여부를 판단하는 게임 콘텐츠 생성 장치.
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.
청구항 12에 있어서,
상기 배치 가능한 타일에 대한 정보의 크기는, 상기 복수의 노드의 수 및 상기 복수의 타일의 수에 기초하여 결정되는 게임 콘텐츠 생성 장치.
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.
청구항 12에 있어서,
상기 하나 이상의 프로세서는,
상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상을 획득하고,
상기 배치 가능한 타일에 대한 정보, 상기 복수의 노드 각각에 배치 불가능한 타일에 대한 정보 및 상기 복수의 타일 각각의 선택 빈도 중 적어도 하나 이상에 기초하여 상기 선택된 노드에 상기 복수의 타일 중 하나를 배치하는 게임 콘텐츠 생성 장치.
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.
청구항 12에 있어서,
상기 하나 이상의 프로세서는, 타일이 배치된 복수의 노드 각각에 배치된 타일이 적합한 경우, 타일이 배치되지 않은 복수의 노드에 타일이 배치될 때까지 상기 선택하는 동작, 상기 복수의 타일 중 하나를 배치하는 동작 및 상기 전파하는 동작을 반복 수행하는 게임 콘텐츠 생성 장치.
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.
청구항 12에 있어서,
상기 하나 이상의 프로세서는, 타일이 배치된 복수의 노드 중 적어도 하나에 배치된 타일이 부적합한 경우, 상기 부적합한 타일이 배치된 노드에 상기 복수의 타일 중 하나를 재배치하는 게임 콘텐츠 생성 장치.
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.
KR1020190144567A 2019-11-12 2019-11-12 Method and apparatus for generating game contents KR102310107B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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