KR101603681B1 - System and method for generating artificial intelligence of game character based on imitation of game play data - Google Patents
System and method for generating artificial intelligence of game character based on imitation of game play data Download PDFInfo
- Publication number
- KR101603681B1 KR101603681B1 KR1020140157304A KR20140157304A KR101603681B1 KR 101603681 B1 KR101603681 B1 KR 101603681B1 KR 1020140157304 A KR1020140157304 A KR 1020140157304A KR 20140157304 A KR20140157304 A KR 20140157304A KR 101603681 B1 KR101603681 B1 KR 101603681B1
- Authority
- KR
- South Korea
- Prior art keywords
- game
- scene
- artificial intelligence
- unit
- candidate
- Prior art date
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims description 29
- 238000010586 diagram Methods 0.000 claims description 24
- 238000010276 construction Methods 0.000 abstract description 13
- 239000000284 extract Substances 0.000 abstract description 12
- 210000004027 cell Anatomy 0.000 description 10
- 239000013598 vector Substances 0.000 description 4
- 210000003771 C cell Anatomy 0.000 description 1
- 210000003719 b-lymphocyte Anatomy 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
본 발명의 실시예들은 게임 플레이 데이터의 모방에 기반하여 게임 캐릭터의 인공지능을 생성하는 시스템 및 방법에 관한 것이다.
Embodiments of the present invention are directed to a system and method for generating artificial intelligence of a game character based on imitation of game play data.
종래에는 게임 캐릭터의 인공지능을 만들기 위하여 개발자가 게임의 특성을 파악하여 유한상태머신 등의 룰을 기반으로 한 알고리즘을 사용하거나 머신러닝을 사용하였다. 이러한 방법들은 게임 캐릭터의 움직임에 일정한 패턴을 만들며 이것은 게임을 재미를 반감시킨다. 또한 게임의 특성을 파악하여 개발자가 직접 알고리즘을 설계해야 하는 어려움이 따른다.Conventionally, in order to make artificial intelligence of game character, a developer grasps game characteristics and uses algorithm based on rules such as finite state machines or machine learning. These methods create a certain pattern in the movement of the game character, which makes the game half of fun. In addition, it is difficult for the developer to design the algorithm directly by grasping the characteristics of the game.
종래기술에 따르면, 캐릭터의 인공지능을 만들기 위하여, 게이머들의 스타일과 게임출력 사이의 연관성을 나타내는 가중치벡터를 학습시킨 후 이것을 게임 캐릭터에 적용하였다. 또 달리, 종래기술에 따르면, 게이머들의 플레이 데이터를 사용하여 유한상태머신을 설계하여 게임 캐릭터의 인공지능을 생성하였다.According to the prior art, in order to make the artificial intelligence of a character, a weight vector indicating a relation between a style of a gamer and a game output is learned and then applied to a game character. Alternatively, according to the prior art, a finite state machine is designed using game data of gamers to create a game character's artificial intelligence.
위와 같은 종래기술의 방법들은 게이머들의 플레이 데이터를 사용하였다는 점에서 게임에 대한 전문지식 없이도 개발자가 쉽게 개발을 할 수 있다는 장점이 있지만, 게임 캐릭터의 인공지능을 생성하는 과정에서 벡터를 사용하거나 유한상태머신을 사용함으로써 모델을 단순화시키기 때문에, 게임 플레이의 다양성을 제한한다.However, in the process of generating the artificial intelligence of the game character, it is difficult to use the vector or the vector in the process of generating the artificial intelligence of the game character. The use of state machines simplifies the model, thus limiting the variety of gameplay.
또한, 학습모델이 정교하지 못하면 성능이 떨어질 수 있다. 가중치벡터나 유한상태머신을 사용하여 학습하는 모델의 경우, 많은 종류의 변수를 학습하는 데 있어서 변수 사이의 연관 관계를 정의해주기 어렵다. 그 결과 게임마다 새로운 모델을 만들어야 하기 때문에 범용성이 떨어진다고 할 수 있다.Also, if the learning model is not sophisticated, performance may drop. For a model that learns using weighted vectors or finite state machines, it is difficult to define the associations between variables in learning many kinds of variables. As a result, we need to create a new model for each game, so it can be said that the versatility is low.
관련 선행기술로는 공개특허공보 제10-2010-0052917호(발명의 명칭: 게임 캐릭터의 인공지능 생성 방법, 공개일자: 2010년 5월 20일)가 있다.
Related art is disclosed in Japanese Laid-Open Patent Publication No. 10-2010-0052917 (titled "Artificial Intelligence Creation Method of Game Character," published on May 20, 2010).
본 발명의 일 실시예는 게임 플레이 데이터를 장면을 기반으로 데이터베이스를 구축하고, 게임 캐릭터가 포함된 장면과 가장 유사한 장면을 데이터베이스에서 찾은 후 이것을 모방하여 게임 캐릭터의 인공지능을 생성할 수 있는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템 및 방법을 제공한다.
In an embodiment of the present invention, a game database is constructed based on scenes of game play data, a scene most similar to a scene including a game character is found in a database, and a game play A system and method for generating artificial intelligence of a game character based on imitating data are provided.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템은 게임 플레이어들의 게임 플레이 데이터를 수집하여 장면 데이터베이스를 구축하는 데이터베이스 구축부; 게임 플레이 시, 상기 장면 데이터베이스를 이용하여, 인공지능의 생성과 관련된 게임 캐릭터가 있는 현재 게임 장면과 연관된 후보 게임 장면들을 추출하고, 상기 후보 게임 장면들의 영향력 분포도(IM)를 상기 현재 게임 장면의 영향력 분포도와 비교하여 가장 유사한 최적 게임 장면을 선택하는 장면 검색부; 및 상기 최적 게임 장면을 모방하여 상기 현재 게임 장면에 적용함으로써 상기 게임 캐릭터의 인공지능을 생성하는 인공지능 생성부를 포함한다.The artificial intelligence generating system of a game character based on mimicry of game play data according to an embodiment of the present invention includes a database building unit for collecting game play data of game players and building a scene database; Extracting candidate game scenes associated with a current game scene having a game character associated with the generation of artificial intelligence using the scene database and generating an influence distribution map (IM) of the candidate game scenes, A scene retrieval unit for comparing the best game scene with the distribution chart to select the most similar optimal game scene; And an artificial intelligence generating unit for generating artificial intelligence of the game character by applying the optimal game scene to the current game scene.
상기 데이터베이스 구축부는 상기 게임 플레이어들의 수준에 따라 상기 게임 플레이 데이터를 등급별로 분류하여 수집함으로써, 상기 게임 캐릭터의 인공지능을 생성 시, 상기 인공지능의 레벨을 조정할 수 있도록 할 수 있다.The database building unit may classify and collect the game play data according to the level of the game players so that the level of the artificial intelligence can be adjusted when the artificial intelligence of the game character is generated.
상기 데이터베이스 구축부는 상기 수집된 게임 플레이 데이터를 이용하여 해시 키 기반의 해시 테이블을 생성하고, 상기 생성된 해시 테이블에 기초하여 상기 장면 데이터베이스를 구축할 수 있다.The database building unit may generate a hash table based on the hash key using the collected game play data, and build the scene database based on the generated hash table.
상기 데이터베이스 구축부는 상기 수집된 게임 플레이 데이터를 장면 단위로 분류하고, 상기 게임 플레이 데이터의 각 장면에 대한 해시 키를 생성하며, 상기 생성된 해시 키를 해당 장면의 게임 플레이 데이터에 매칭하여 상기 해시 테이블을 생성하고, 상기 장면 검색부는 상기 해시 테이블로부터 상기 현재 게임 장면과 연관된 해시 키 값을 가진 서브 세트(subset)를 선택하여 상기 후보 게임 장면들을 추출할 수 있다.The database building unit classifies the collected game play data into scene units, generates a hash key for each scene of the game play data, matches the generated hash key with game play data of the corresponding scene, And the scene search unit may extract the candidate game scenes from the hash table by selecting a subset having a hash key value associated with the current game scene.
상기 장면 검색부는 상기 현재 게임 장면에 포함된 유닛의 수, 및 상기 유닛 각각의 중심 위치를 키 값으로 설정하고, 상기 설정된 키 값에 기초하여 상기 후보 게임 장면들을 추출할 수 있다.The scene search unit may set the number of units included in the current game scene and the center position of each unit as a key value, and extract the candidate game scenes based on the set key value.
상기 장면 검색부는 상기 추출된 후보 게임 장면들의 미스매칭을 최소화하기 위해, 상기 설정된 키 값에 허용오차를 적용하여 상기 후보 게임 장면들을 추출할 수 있다.The scene search unit may extract the candidate game scenes by applying a tolerance to the set key values to minimize mismatching of the extracted candidate game scenes.
상기 장면 검색부는 상기 현재 게임 장면에서 최소 기준치 이하 또는 최대 기준치 이상의 후보 게임 장면들이 추출되는 경우, 다음 게임 장면에 대해서 키 값의 허용오차 레벨을 조정할 수 있다.The scene search unit may adjust the tolerance level of the key value for the next game scene when the candidate game scenes below the minimum reference value or above the reference value in the current game scene are extracted.
상기 장면 검색부는 상기 각 유닛의 실제 위치에 따른 거리, 및 상기 각 유닛의 풀 체력 대비 현재 체력의 비율에 기초하여 상기 현재 게임 장면의 제1 영향력 분포도 및 상기 후보 게임 장면들의 제2 영향력 분포도를 생성하고, 상기 제1 영향력 분포도와 상기 제2 영향력 분포도에서 각 유닛 간의 거리를 산출하여, 상기 각 유닛 간의 거리 차이가 최소인 후보 게임 장면을 상기 최적 게임 장면으로 선택할 수 있다.The scene search unit generates a first influence distribution diagram of the current game scene and a second influence distribution diagram of the candidate game scenes based on a distance between the unit and the actual fitness of each unit, And a distance between each unit in the first influence distribution diagram and the second influence distribution diagram is calculated so that a candidate game scene having a minimum distance difference between the respective units can be selected as the optimal game scene.
본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법은 인공지능 생성 시스템의 데이터베이스 구축부에서, 게임 플레이어들의 게임 플레이 데이터를 수집하여 장면 데이터베이스를 구축하는 단계; 상기 인공지능 생성 시스템의 장면 검색부에서, 게임 플레이 시, 상기 장면 데이터베이스를 이용하여, 인공지능의 생성과 관련된 게임 캐릭터가 있는 현재 게임 장면과 연관된 후보 게임 장면들을 추출하는 단계; 상기 장면 검색부에서, 상기 후보 게임 장면들의 영향력 분포도(IM)를 상기 현재 게임 장면의 영향력 분포도와 비교하여 가장 유사한 최적 게임 장면을 선택하는 단계; 및 상기 인공지능 생성 시스템의 인공지능 생성부에서, 상기 최적 게임 장면을 모방하여 상기 현재 게임 장면에 적용함으로써 상기 게임 캐릭터의 인공지능을 생성하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a method for generating a game character artificial intelligence based on mimicry of game play data, the method comprising: building a scene database by collecting game play data of game players in a database building unit of an artificial intelligence generating system; Extracting candidate game scenes associated with a current game scene having a game character associated with generation of artificial intelligence, using the scene database, in a scene search unit of the artificial intelligence generation system; Comparing the influence map (IM) of the candidate game scenes with the influence map of the current game scene to select the most similar optimal game scene; And generating artificial intelligence of the game character by applying the optimal game scene to the current game scene in the artificial intelligence generating unit of the artificial intelligence generating system.
상기 장면 데이터베이스를 구축하는 단계는 상기 수집된 게임 플레이 데이터를 이용하여 해시 키 기반의 해시 테이블을 생성하는 단계; 및 상기 생성된 해시 테이블에 기초하여 상기 장면 데이터베이스를 구축하는 단계를 포함할 수 있다.The step of constructing the scene database may include: generating a hash table based on a hash key using the collected game play data; And constructing the scene database based on the generated hash table.
상기 현재 게임 장면과 연관된 후보 게임 장면들을 추출하는 단계는 상기 현재 게임 장면에 포함된 유닛의 수, 및 상기 유닛 각각의 중심 위치를 키 값으로 설정하는 단계; 및 상기 설정된 키 값에 기초하여 상기 후보 게임 장면들을 추출하는 단계를 포함할 수 있다.Wherein the step of extracting candidate game scenes associated with the current game scene comprises: setting a number of units included in the current game scene and a center position of each of the units as a key value; And extracting the candidate game scenes based on the set key value.
상기 설정된 키 값에 기초하여 상기 후보 게임 장면들을 추출하는 단계는 상기 추출된 후보 게임 장면들의 미스매칭을 최소화하기 위해, 상기 설정된 키 값에 허용오차를 적용하여 상기 후보 게임 장면들을 추출하는 단계를 포함할 수 있다.The step of extracting the candidate game scenes based on the set key value includes extracting the candidate game scenes by applying a tolerance to the set key values to minimize mismatching of the extracted candidate game scenes can do.
상기 현재 게임 장면과 연관된 후보 게임 장면들을 추출하는 단계는 상기 현재 게임 장면에서 최소 기준치 이하 또는 최대 기준치 이상의 후보 게임 장면들이 추출되는 경우, 다음 게임 장면에 대해서 키 값의 허용오차 레벨을 조정하는 단계를 더 포함할 수 있다.Wherein the step of extracting candidate game scenes associated with the current game scene comprises the step of adjusting the tolerance level of the key value for the next game scene when the candidate game scenes below the minimum reference value or above the maximum reference value are extracted in the current game scene .
상기 최적 게임 장면을 선택하는 단계는 상기 각 유닛의 실제 위치에 따른 거리, 및 상기 각 유닛의 풀 체력 대비 현재 체력의 비율에 기초하여 상기 현재 게임 장면의 제1 영향력 분포도 및 상기 후보 게임 장면들의 제2 영향력 분포도를 생성하는 단계; 및 상기 제1 영향력 분포도와 상기 제2 영향력 분포도에서 각 유닛 간의 거리를 산출하여, 상기 각 유닛 간의 거리 차이가 최소인 후보 게임 장면을 상기 최적 게임 장면으로 선택하는 단계를 포함할 수 있다.
Wherein the step of selecting the optimal game scene comprises the steps of: calculating a first influence distribution diagram of the current game scene and a second influence distribution map of the candidate game scenes based on a distance between the respective units, 2 generating an influence map; And calculating a distance between each unit in the first influence distribution diagram and the second influence distribution diagram and selecting a candidate game scene having a minimum distance difference between the units as the optimal game scene.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
The details of other embodiments are included in the detailed description and the accompanying drawings.
본 발명의 일 실시예에 따르면, 개발자가 게임 플레이 데이터를 가지고 게임 캐릭터의 인공지능을 보다 쉽게 만들고, 높은 성능과 다양성을 가진 인공지능을 만들 수 있다. 따라서, 사람이 인공지능과 대결하는 것이 아닌 실제 사람과 대결하는 느낌을 줄 수 있어 보다 더 재미있는 게임을 만들 수 있으며, 상황에 따른 다양한 패턴을 모방하여 단편적인 게임 플레이에서 벗어나게 할 수 있다.According to an embodiment of the present invention, a developer can easily make artificial intelligence of a game character with game play data, and can make artificial intelligence with high performance and diversity. Thus, a person can feel a confrontation with an actual person, not a confrontation with an artificial intelligence, so that a more interesting game can be made, and a variety of patterns according to the situation can be imitated and a game can be cut off from a fragmentary game.
과거의 게임들과 달리 현대의 게임들은 대부분 인터넷을 기반으로 서비스하기 때문에 게임 개발사는 많은 양의 플레이 데이터를 쉽게 모을 수 있다. 이렇게 모은 방대한 양의 게임 플레이 데이터들은 게임 캐릭터의 인공지능을 만드는 데 쓰일 수 있다는 점에 착안하여, 본 발명의 일 실시예에서는 해시 키에 기반하여 많은 양의 게임 플레이 데이터를 분석하고, 이를 모방하여 실시간으로 작동하는 게임의 캐릭터 인공지능을 만드는 방법을 제시함으로써, 많은 양의 플레이 데이터를 짧은 시간 안에 처리할 수 있으며, 개발자가 게임에 대한 배경지식이 많지 않아도 쉽게 캐릭터의 인공지능을 개발할 수 있다.
Unlike the past games, most of the modern games are based on the Internet, so game developers can easily collect large amounts of play data. In view of the fact that a large amount of game play data collected in this manner can be used to create artificial intelligence of a game character, in an embodiment of the present invention, a large amount of game play data is analyzed based on a hash key, By presenting a way to create a character artificial intelligence of a game that works in real time, a large amount of play data can be processed in a short time, and a developer can easily develop the artificial intelligence of a character without a lot of background knowledge of the game.
도 1은 본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템을 설명하기 위해 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따라 생성된 해시 테이블의 일례를 도시한 도면이다.
도 3은 게임 장면을 나타낸 도면이다.
도 4는 도 3의 게임 장면에 대한 영향력 분포도를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따라 유닛 매칭을 위해 두 장면(현재 게임 장면과 최적 게임 장면)을 합성한 일례를 도시한 도면이다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법을 설명하기 위해 도시한 전체 순서도이다.
도 8 내지 도 11은 본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법을 설명하기 위해 도시한 부분 순서도이다.1 is a block diagram illustrating an artificial intelligence generating system of a game character based on imitating game play data according to an embodiment of the present invention.
2 is a diagram illustrating an example of a hash table generated according to an embodiment of the present invention.
3 is a view showing a game scene.
FIG. 4 is a diagram showing an influence distribution diagram for a game scene in FIG. 3. FIG.
5 is a view showing an example of combining two scenes (current game scene and optimal game scene) for unit matching according to an embodiment of the present invention.
FIG. 6 and FIG. 7 are entire flowcharts for explaining a method of generating artificial intelligence of a game character based on mimicry of game play data according to an embodiment of the present invention.
8 to 11 are partial flowcharts for explaining a method of generating artificial intelligence of a game character based on mimicry of game play data according to an embodiment of the present invention.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
BRIEF DESCRIPTION OF THE DRAWINGS The advantages and / or features of the present invention, and how to accomplish them, will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but is capable of many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템을 설명하기 위해 도시한 블록도이다.1 is a block diagram illustrating an artificial intelligence generating system of a game character based on imitating game play data according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템(100)은 데이터베이스(DB) 구축부(110), 장면 검색부(120), 및 인공지능 생성부(130)를 포함하여 구성될 수 있다.1, a game character artificial
상기 DB 구축부(110)는 게임 플레이어들의 게임 플레이 데이터를 수집한다. 이때, 상기 DB 구축부(110)는 상기 게임 플레이어들의 수준에 따라 상기 게임 플레이 데이터를 등급별로 분류하여 수집할 수 있다.The
예를 들면, 상기 DB 구축부(110)는 전문가 수준의 게임 플레이어들의 게임 플레이 데이터는 1등급으로, 중급 수준의 게임 플레이어들의 게임 플레이 데이터는 2등급으로, 초보자 수준의 게임 플레이어들의 게임 플레이 데이터는 3등급으로 분류하여 수집할 수 있다.For example, in the
이로써, 본 발명의 일 실시예에 따르면 상기 게임 캐릭터의 인공지능을 생성 시, 상기 장면 DB에 저장된 등급별 게임 플레이 데이터를 이용하여 상기 인공지능의 레벨을 조정할 수 있다. 즉, 사용자가 게임 시작 시에 입력한 게임 레벨에 따라 상기 게임 캐릭터의 인공지능 레벨이 조정될 수 있다.Accordingly, when generating the artificial intelligence of the game character, the level of the artificial intelligence can be adjusted by using the game play data of each grade stored in the scene DB according to an embodiment of the present invention. That is, the artificial intelligence level of the game character can be adjusted according to the game level inputted by the user at the start of the game.
상기 DB 구축부(110)는 상기 게임 플레이 데이터의 수집 시, 8프레임당 샘플링으로 수집된 모든 장면에 대한 서브셋(subsets)을 생성할 수 있다.The
상기 DB 구축부(110)가 상기 수집된 게임 플레이 데이터를 이용하여 해시 키(hash key) 기반의 해시 테이블(hash table)(114)을 생성하고, 상기 생성된 해시 테이블(114)에 기초하여 장면 DB(112)를 구축할 수 있다.The
즉, 상기 DB 구축부(110)는 상기 수집된 게임 플레이 데이터를 장면 단위로 분류할 수 있다. 여기서, 상기 장면 단위는 하나 또는 그 이상의 프레임 단위를 가리킬 수 있다. 상기 수집된 게임 플레이 데이터가 연속된 프레임으로 이루어진 경우, 상기 연속된 프레임은 서로 유사한 부분을 많이 포함할 수 있으며, 이러한 경우 상기 장면 단위는 다수의 프레임 단위가 될 수 있다.That is, the
상기 DB 구축부(110)는 상기 게임 플레이 데이터의 각 장면에 대한 해시 키를 생성할 수 있다. 즉, 상기 DB 구축부(110)는 상기 분류된 장면 단위의 게임 플레이 데이터에 대한 해시 키를 생성할 수 있다.The
이를 위해, 상기 DB 구축부(110)는 상기 각 장면에 포함된 유닛의 수 및 각 유닛의 중심 위치(좌표)를 상기 각 장면으로부터 추출하고, 상기 유닛의 수 및 각 유닛의 중심 위치를 이용하여 상기 각 장면의 게임 플레이 데이터에 대한 해시 키를 생성할 수 있다.For this, the
상기 DB 구축부(110)는 상기 생성된 해시 키를 해당 장면의 게임 플레이 데이터에 매칭하여 해시 테이블(114)을 생성할 수 있다.The
예를 들면, 도 2에 도시된 바와 같이, 장면 '1'에 포함된 유닛의 수가 5이고, 유닛들의 중심 위치가 (20, 30)인 경우, 상기 DB 구축부(110)는 해시 키를 '5, 20, 30'으로 생성하고, 상기 생성된 해시 키를 장면 '1'의 게임 플레이 데이터에 매칭하여 상기 해시 테이블(114)을 생성할 수 있다. 또한, 장면 '2'에 포함된 유닛의 수가 7이고, 유닛들의 중심 위치가 (30, 40)인 경우, 상기 DB 구축부(110)는 해시 키를 '7, 30, 40'으로 생성하고, 상기 생성된 해시 키를 장면 '2'의 게임 플레이 데이터에 매칭하여 상기 해시 테이블(114)을 생성할 수 있다.For example, as shown in FIG. 2, when the number of units included in the scene '1' is 5 and the center position of the units is (20, 30), the
상기 해시 테이블(114)로 데이터베이스를 구성하면 데이터가 아무리 많아져도 바로 접근할 수 있기 때문에 데이터가 방대해져도 실시간으로 처리할 수 있다.If a database is constructed with the hash table 114, since the data can be accessed as much as possible, even if the data is vast, it can be processed in real time.
상기 장면 검색부(120)는 게임 플레이 시, 상기 장면 DB(112)를 이용하여, 현재 게임 장면과 연관된 후보 게임 장면들을 추출한다. 여기서, 상기 현재 게임 장면은 인공지능의 생성과 관련된 게임 캐릭터가 있는 장면을 말한다.The
이를 위해, 상기 장면 검색부(120)는 상기 해시 테이블(114)로부터 상기 현재 게임 장면과 연관된 해시 키 값을 가진 서브 세트(subsets)를 선택하여 상기 후보 게임 장면들을 추출할 수 있다.For this, the
구체적으로, 상기 장면 검색부(120)는 상기 현재 게임 장면에 포함된 유닛의 수, 및 그 유닛들의 중심 위치를 키 값으로 설정하고, 상기 설정된 키 값에 매칭되는 해시 키를 찾아 그에 해당하는 장면들을 상기 후보 게임 장면들로서 추출할 수 있다.Specifically, the
예를 들어, 상기 현재 게임 장면에 포함된 유닛의 수, 및 그 유닛들의 중심 위치가 각각 5, (20, 30)인 경우, 상기 장면 검색부(120)는 5, 20, 30의 키 값에 매칭되는 해시 키를 상기 해시 테이블에서 찾아 그에 해당하는 장면들을 상기 후보 게임 장면들로서 추출할 수 있다. 도 2의 해시 테이블을 예로 들면, 상기 장면 검색부(120)는 5, 20, 30의 키 값에 매칭되는 해시 키를 가지는 장면 '1'을 상기 후보 게임 장면들 중 하나로 추출할 수 있다.For example, when the number of units included in the current game scene and the center position of the units are 5, (20, 30), the
이때, 상기 장면 검색부(120)는 상기 추출된 후보 게임 장면들의 미스매칭(mismatching)을 최소화하기 위해, 상기 설정된 키 값에 허용오차(tolerance)를 적용하여 상기 후보 게임 장면들을 추출할 수 있다.At this time, the
상기 장면 검색부(120)는 상기 현재 게임 장면에서 최소 기준치 이하 또는 최대 기준치 이상의 후보 게임 장면들이 추출되는 경우, 다음 게임 장면에 대해서 키 값의 허용오차 레벨을 조정할 수 있다. 이로써, 상기 장면 검색부(120)는 적정치의 후보 게임 장면들을 추출할 수 있다.The
상기 장면 검색부(120)는 상기 추출된 후보 게임 장면들 중에서 상기 현재 게임 장면과 가장 유사한 최적 게임 장면을 선택한다. 이를 위해, 상기 장면 검색부(120)는 상기 후보 게임 장면들의 영향력 분포도(IM: Influence Map)를 상기 현재 게임 장면의 영향력 분포도와 비교하여, 상기 현재 게임 장면과 가장 유사한 최적 게임 장면을 선택할 수 있다.The
구체적으로, 상기 장면 검색부(120)는 상기 현재 게임 장면 및 상기 후보 게임 장면 각각에 대한 제1 및 제2 영향력 분포도를 생성할 수 있다. 이를 위해, 상기 장면 검색부(120)는 상기 현재 게임 장면에 포함된 각 유닛의 실제 위치에 따른 거리, 및 상기 각 유닛의 풀 체력 대비 현재 체력의 비율에 기초하여, 상기 현재 게임 장면의 제1 영향력 분포도를 생성할 수 있다. 또한, 상기 장면 검색부(120)는 상기 후보 게임 장면에 포함된 각 유닛의 실제 위치에 따른 거리, 및 상기 각 유닛의 풀 체력 대비 현재 체력의 비율에 기초하여, 상기 후보 게임 장면의 제2 영향력 분포도를 생성할 수 있다.Specifically, the
참고로, 도 3은 게임 장면을 나타낸 도면이고, 도 4는 도 3의 게임 장면에 대한 영향력 분포도를 나타낸 도면이다. 상기 장면 검색부(120)는 도 3의 게임 장면에서, 하기 수학식 1과 같이 각 유닛의 실제 위치(x, y)에 따른 거리(α), 및 각 유닛의 풀 체력(UnFullHP) 대비 현재 체력(UnCurrentHP)의 비율에 기초하여, 도 4와 같은 영향력 분포도를 생성할 수 있다.3 is a view showing a game scene, and FIG. 4 is a diagram showing an influence distribution diagram for a game scene in FIG. 3, the
[수학식 1][Equation 1]
여기서, n은 1~k 사이의 자연수로서 유닛을 가리킨다. 그리고, i, j는 영향력 분포도에서의 각 유닛의 위치를 가리킨다.Here, n indicates a unit as a natural number between 1 and k. And, i, j indicate the position of each unit in the influence distribution chart.
한편, 각 게임 장면은 각 유닛의 포텐셜 필드(potential field)로부터 계산된 영향력 분포도(IM)로 변환하여 저장될 수 있으며, 이때 상기 영향력 분포도는 상기 각 게임 장면에 대해서 상기 수학식 1을 이용하여 2번 계산될 수 있다(아군 IM, 적군 IM).Each game scene may be converted into an impact distribution map IM calculated from a potential field of each unit, and the influence distribution map may be stored for each game scene using the equation (1) Can be counted once (friendly IM, enemy IM).
상기 장면 검색부(120)는 상기 제1 영향력 분포도와 상기 제2 영향력 분포도에서 각 유닛 간의 거리를 산출할 수 있다. 즉, 상기 장면 검색부(120)는 상기 제1 영향력 분포도에서 각 유닛 간의 제1 거리를 산출하고, 상기 제2 영향력 분포도에서 각 유닛 간의 제2 거리를 산출할 수 있다.The
상기 장면 검색부(120)는 상기 각 유닛 간의 거리 차이가 최소인 후보 게임 장면을 상기 최적 게임 장면으로 선택할 수 있다. 즉, 상기 장면 검색부(120)는 상기 제1 거리와 상기 제2 거리 간의 거리 차이를 계산하고, 상기 계산된 거리 차이가 최소인 후보 게임 장면을 상기 최적 게임 장면으로 선택할 수 있다.The
상기 인공지능 생성부(130)는 상기 선택된 최적 게임 장면을 모방하여 상기 현재 게임 장면에 적용함으로써, 상기 게임 캐릭터의 인공지능을 생성한다. 즉, 상기 인공지능 생성부(130)는 상기 선택된 최적 게임 장면을 모방하여 현재 게임 장면에서 각 유닛의 액션('공격(attack)', '이동(move)', '정지(stop)' 등) 및 움직임을 결정할 수 있다.The artificial
구체적으로, 상기 인공지능 생성부(130)는 상기 선택된 최적 게임 장면에 대한 로우 게임 이벤트(raw game events)를 주메모리에서 추출할 수 있다. 상기 인공지능 생성부(130)는 상기 로우 게임 이벤트를 이용하여 상기 현재 게임 장면의 유닛 각각을 상기 최적 게임 장면의 유닛 각각에 할당할 수 있다.Specifically, the artificial
이때, 상기 인공지능 생성부(130)는 상기 현재 게임 장면과 상기 최적 게임 장면의 유닛 간 거리에 기초하여 상기 유닛 각각의 할당을 결정할 수 있다. 상기 인공지능 생성부(130)는 상기 유닛 각각의 할당 시 매칭되는 유닛의 타입이 다르면 모방하지 않는 것이 바람직하다.At this time, the artificial
또한, 상기 인공지능 생성부(130)는 미리 정의된 최대 경계 영역 내에서 서로 가까운 유닛이 없으면 영향력 분포도의 값이 최대가 되는 위치로 유닛을 이동시킬 수 있다. 이는 다음 장면(프레임)에서 유닛이 매칭되는 기회를 증가시키기 위함이다.In addition, the artificial
결론적으로, 현재 게임 장면의 유닛은 모방에 의해 매칭된 유닛, 즉 상기 최적 게임 장면 내 매칭된 유닛의 행동을 따르게 된다. 상기 매칭된 유닛의 인공지능 레벨은 상기 장면 DB(112)에서의 등급별 장면 선택에 따라 결정될 수 있다. 예컨대, 상기 장면 DB(112)에서 1등급의 게임 플레이 데이터에 해당하는 장면들을 상기 후보 게임 장면들로 추출한 후 상기 최적 게임 장면을 선택한 경우, 상기 매칭된 유닛의 인공지능 레벨은 전문가 수준으로 결정될 수 있다. 따라서, 이러한 경우 사용자는 전문가 수준의 인공지능 게임을 즐길 수 있게 된다.Consequently, the unit of the current game scene follows the behavior of units matched by imitation, that is, the matched unit in the optimal game scene. The artificial intelligence level of the matched unit may be determined according to the scene selection for each grade in the
상기 인공지능 생성부(130)의 동작과 관련하여 도 5를 참조하여 설명하면 다음과 같다.The operation of the artificial
도 5는 본 발명의 일 실시예에 따라 유닛 매칭을 위해 두 장면(현재 게임 장면과 최적 게임 장면)을 합성한 일례를 도시한 도면이다.5 is a view showing an example of combining two scenes (current game scene and optimal game scene) for unit matching according to an embodiment of the present invention.
도 5에서 맵(map)의 사이즈는 12*12이다. A, B, C, D, E 셀은 현재 게임 장면의 유닛을 나타내고, F, G, H, I, J 셀은 모방 장면, 즉 상기 최적 게임 장면의 유닛을 나타낸다. I, J셀은 도면에서 생략되어 있는데 각각 A, D의 위치와 동일하다.In FIG. 5, the size of the map is 12 * 12. Cells A, B, C, D and E represent units of the current game scene, and cells F, G, H, I and J represent imitations, that is, units of the optimal game scene. I, and J cells are omitted from the drawing, and are the same as the positions of A and D, respectively.
도 5에 도시된 바와 같이, 노란색 셀(yellow cell)은 현재 게임 장면의 유닛으로부터 확장된 매칭 영역을 보여준다. 참고로, 본 실시예에서는 최대 4셀까지 허용된다. H 셀은 수평, 수직 방향으로 3셀을 확장함으로써 C셀에 할당된다. 현재 게임 장면 내 유닛의 움직임 방향 및 액션은 매칭된 유닛의 구성으로 변경된다. 예컨대, B 셀의 움직임 방향 및 액션은 F 셀의 값으로 교체된다. 이에 따라, B 셀에 해당하는 유닛은 F 셀에 해당하는 유닛의 움직임 방향 및 액션을 모방하여 동작하게 된다.
As shown in FIG. 5, a yellow cell shows a matching area extended from a unit of the current game scene. For reference, up to four cells are allowed in this embodiment. H cells are allocated to C cells by expanding three cells in the horizontal and vertical directions. The movement direction and action of the unit in the current game scene are changed to the configuration of the matched unit. For example, the movement direction and action of the B cell are replaced by the value of the F cell. Accordingly, the unit corresponding to the cell B operates in a manner simulating the direction and action of the unit corresponding to the cell F.
도 6 및 도 7은 본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법을 설명하기 위해 도시한 전체 순서도이고, 도 8 내지 도 11은 본 발명의 일 실시예에 따른 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법을 설명하기 위해 도시한 부분 순서도이다.FIGS. 6 and 7 are overall flowcharts illustrating an artificial intelligence generating method of a game character based on mimicry of game play data according to an embodiment of the present invention, and FIGS. 8 to 11 are flowcharts of an embodiment FIG. 5 is a partial flowchart illustrating a method of generating artificial intelligence of a game character based on mimicry of game play data according to FIG.
도 1, 도 6 및 도 7을 참조하면, 단계(710)에서 상기 인공지능 생성 시스템(100)의 DB 구축부(110)는 게임 플레이어들의 게임 플레이 데이터를 수집하여 장면 DB(112)를 구축한다. 상기 단계(710)을 도 8을 참조하여 자세히 설명하면 다음과 같다.1, 6, and 7, in
즉, 도 8에 도시된 바와 같이, 단계(810)에서 상기 DB 구축부(110)는 상기 게임 플레이 데이터를 수집한다. 이후, 단계(820)에서 상기 DB 구축부(110)는 상기 수집된 게임 플레이 데이터를 이용하여 해시 키 기반의 해시 테이블(114)을 생성한다. 이후, 단계(830)에서 상기 DB 구축부(110)는 상기 생성된 해시 테이블(114)에 기초하여 상기 장면 DB(112)를 구축한다.That is, as shown in FIG. 8, in
여기서, 상기 해시 테이블을 생성하는 과정에 대해서 보다 구체적으로 설명하면, 도 9에 도시된 바와 같이, 단계(910)에서 상기 DB 구축부(110)는 상기 수집된 게임 플레이 데이터를 장면 단위로 분류한다. 이어서, 단계(920)에서 상기 DB 구축부(110)는 상기 게임 플레이 데이터의 각 장면에 대한 해시 키를 생성한다. 이어서, 단계(930)에서 상기 DB 구축부(110)는 상기 생성된 해시 키를 해당 장면의 게임 플레이 데이터에 매칭하여 상기 해시 테이블을 생성한다.Here, the process of generating the hash table will be described in more detail. As shown in FIG. 9, in
다음으로, 단계(720)에서 상기 인공지능 생성 시스템(100)의 장면 검색부(120)는 게임 플레이 시, 상기 장면 DB(112)를 이용하여 현재 게임 장면과 연관된 후보 게임 장면들을 추출한다. 상기 단계(720)을 도 10을 참조하여 자세히 설명하면 다음과 같다.Next, in
즉, 도 10에 도시된 바와 같이, 단계(1010)에서 상기 장면 검색부(120)는 상기 현재 게임 장면에 포함된 유닛의 수, 및 상기 유닛 각각의 중심 위치를 키 값으로 설정한다.That is, as shown in FIG. 10, in
이후, 단계(1020)에서 상기 장면 검색부(120)는 상기 설정된 키 값에 허용오차를 적용한다. 이는 이후에 추출되는 후보 게임 장면의 미스매칭을 최소화하기 위함이다.Thereafter, in
이후, 단계(1030)에서 상기 장면 검색부(120)는 키 값에 매칭되는 해시 키를 검색하고, 단계(1040)에서 상기 검색된 해시 키에 해당하는 장면(후보 게임 장면)의 게임 플레이 데이터를 상기 해시 테이블(114)에서 추출한다.Then, in
이후, 단계(1050)에서 상기 장면 검색부(120)는 상기 추출된 후보 게임 장면이 기준치를 만족하는지 여부를 판단한다. 즉, 상기 장면 검색부(120)는 상기 추출된 후보 게임 장면이 최소 기준치 이하 또는 최대 기준치 이상인지 여부를 판단할 수 있다.Thereafter, in
상기 판단 결과, 상기 기준치를 만족하지 못하는 경우(1050의 "아니오" 방향), 단계(1060)에서 상기 장면 검색부(120)는 다음 게임 장면(next frame)에 대해서 키 값의 허용오차 레벨을 조정한다.As a result of the determination, if the reference value is not satisfied (No in 1050), the
반면, 상기 판단 결과, 상기 기준치를 만족하는 경우(1050의 "예" 방향), 단계(1070)에서 상기 장면 검색부(120)는 상기 단계(1030)에서 추출된 게임 플레이 데이터를 최종적으로 후보 게임 장면들로 선택한다.On the other hand, if it is determined that the reference value is satisfied (YES in step 1050), the
다음으로, 단계(730)에서 상기 장면 검색부(120)는 상기 후보 게임 장면들의 영향력 분포도(IM)를 상기 현재 게임 장면의 영향력 분포도와 비교하여 가장 유사한 최적 게임 장면을 선택한다.Next, in
즉, 도 11을 참조하면, 단계(1110)에서 상기 장면 검색부(120)는 상기 현재 게임 장면과 상기 후보 게임 장면들 각각의 제1 및 제2 영향력 분포도(IM)를 생성한다. 이후, 단계(1120)에서 상기 장면 검색부(120)는 상기 제1 영향력 분포도와 상기 제2 영향력 분포도에서 각 유닛 간의 거리를 산출한다. 이후, 단계(1130)에서 상기 장면 검색부(120)는 상기 각 유닛 간의 거리 차이가 최소인 후보 게임 장면을 상기 최적 게임 장면으로 선택한다.That is, referring to FIG. 11, in
다음으로, 단계(740)에서 상기 인공지능 생성 시스템(100)의 인공지능 생성부(130)는 상기 최적 게임 장면을 모방하여 상기 현재 게임 장면에 적용함으로써 상기 게임 캐릭터의 인공지능을 생성한다.Next, in
위와 같은 과정은 실시간으로 계속 반복된다. 컴퓨터가 명령을 내릴 수 있는 매 순간마다 위와 같은 과정이 빠르게 반복되어 게임 캐릭터에게 명령을 내린다.The above process is repeated in real time. Each time the computer can issue an order, the above process repeats and orders the game character.
이러한 구성을 이용하면 실시간으로 변화는 상황에 대처가 가능하고, 사람이 실제 판단한 것과 움직임들이 그대로 인공지능의 플레이에 녹아 들게 된다. 따라서 인공지능의 성능이 사람의 성능을 따라 오지 못한 분야에도 적용할 수 있어 비약적인 성능 향상을 기대할 수 있다. 이 방법은 실제로 적용해본 게임인 스타크래프트 뿐만 아니라, 모방할 데이터가 존재하고 전투가 목적인 어느 게임에나 손쉽게 적용이 가능하다.
With this configuration, it is possible to cope with the changing situation in real time, and the actual human judgment and movements will be incorporated into the play of artificial intelligence as it is. Therefore, the performance of artificial intelligence can not be applied to human performance. This method can be easily applied to any game in which there is data to be imitated and which is intended for battle, as well as StarCraft, which is a game actually applied.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
Embodiments of the present invention include computer readable media including program instructions for performing various computer implemented operations. The computer-readable medium may include program instructions, local data files, local data structures, etc., alone or in combination. The media may be those specially designed and constructed for the present invention or may be those known to those skilled in the computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and ROMs, And hardware devices specifically configured to store and execute the same program instructions. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Modification is possible. Accordingly, the spirit of the present invention should be understood only in accordance with the following claims, and all equivalents or equivalent variations thereof are included in the scope of the present invention.
110: DB 구축부
112: 장면 DB
114: 해시 테이블
120: 장면 검색부
130: 인공지능 생성부110: DB construction unit
112: Scene DB
114: hash table
120: scene search unit
130: artificial intelligence generating unit
Claims (14)
게임 플레이 시, 상기 장면 데이터베이스를 이용하여, 인공지능의 생성과 관련된 게임 캐릭터가 있는 현재 게임 장면과 연관된 후보 게임 장면들을 추출하고, 상기 후보 게임 장면들의 영향력 분포도(IM)를 상기 현재 게임 장면의 영향력 분포도와 비교하여 가장 유사한 최적 게임 장면을 선택하는 장면 검색부; 및
상기 최적 게임 장면을 모방하여 상기 현재 게임 장면에 적용함으로써 상기 게임 캐릭터의 인공지능을 생성하는 인공지능 생성부
를 포함하고,
상기 인공지능 생성부는
상기 영향력 분포도 간의 비교 결과에 따라, 미리 정의된 최대 경계 영역 내에서 상기 현재 게임 장면 내 유닛과 서로 가까운 유닛이 상기 후보 게임 장면들 내에 존재하지 않으면, 영향력 분포도의 값이 최대가 되는 위치의 현재 게임 장면으로 유닛을 이동시키는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
A database building unit for collecting game play data of game players and building a scene database;
Extracting candidate game scenes associated with a current game scene having a game character associated with the generation of artificial intelligence using the scene database and generating an influence distribution map (IM) of the candidate game scenes, A scene retrieval unit for comparing the best game scene with the distribution chart to select the most similar optimal game scene; And
An artificial intelligence generating unit for generating an artificial intelligence of the game character by applying the optimal game scene to the current game scene,
Lt; / RTI >
The artificial intelligence generating unit
According to the result of the comparison between the influence distribution charts, if a unit close to the current game scene in the predefined maximum boundary area is not present in the candidate game scenes, the current game Wherein the unit is moved to a scene based on the imitation of the game play data.
상기 데이터베이스 구축부는
상기 게임 플레이어들의 수준에 따라 상기 게임 플레이 데이터를 등급별로 분류하여 수집함으로써, 상기 게임 캐릭터의 인공지능을 생성 시, 상기 인공지능의 레벨을 조정할 수 있도록 하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
The method according to claim 1,
The database building unit
Wherein the level of the artificial intelligence is adjusted when the artificial intelligence of the game character is generated by classifying and collecting the game play data according to the level of the game players, Artificial intelligence creation system of game characters.
상기 데이터베이스 구축부는
상기 수집된 게임 플레이 데이터를 이용하여 해시 키 기반의 해시 테이블을 생성하고, 상기 생성된 해시 테이블에 기초하여 상기 장면 데이터베이스를 구축하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
The method according to claim 1,
The database building unit
Generating a hash table based on the hash key based on the collected game play data, and building the scene database based on the generated hash table. system.
상기 데이터베이스 구축부는
상기 수집된 게임 플레이 데이터를 장면 단위로 분류하고, 상기 게임 플레이 데이터의 각 장면에 대한 해시 키를 생성하며, 상기 생성된 해시 키를 해당 장면의 게임 플레이 데이터에 매칭하여 상기 해시 테이블을 생성하고,
상기 장면 검색부는
상기 해시 테이블로부터 상기 현재 게임 장면과 연관된 해시 키 값을 가진 서브 세트(subset)를 선택하여 상기 후보 게임 장면들을 추출하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
The method of claim 3,
The database building unit
Generating the hash table by matching the generated game play data with the game play data of the corresponding scene, sorting the collected game play data into scene units, generating a hash key for each scene of the game play data,
The scene search unit
And a subset having a hash key value associated with the current game scene is selected from the hash table to extract the candidate game scenes.
상기 장면 검색부는
상기 현재 게임 장면에 포함된 유닛의 수, 및 상기 유닛 각각의 중심 위치를 키 값으로 설정하고, 상기 설정된 키 값에 기초하여 상기 후보 게임 장면들을 추출하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
The method according to claim 1,
The scene search unit
Setting the number of units included in the current game scene and the center position of each of the units as a key value and extracting the candidate game scenes based on the set key value Artificial intelligence creation system of game characters.
상기 장면 검색부는
상기 추출된 후보 게임 장면들의 미스매칭을 최소화하기 위해, 상기 설정된 키 값에 허용오차를 적용하여 상기 후보 게임 장면들을 추출하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
6. The method of claim 5,
The scene search unit
Wherein the candidate game scenes are extracted by applying a tolerance to the set key values in order to minimize mismatching of the extracted candidate game scenes.
상기 장면 검색부는
상기 현재 게임 장면에서 최소 기준치 이하 또는 최대 기준치 이상의 후보 게임 장면들이 추출되는 경우, 다음 게임 장면에 대해서 키 값의 허용오차 레벨을 조정하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
The method according to claim 6,
The scene search unit
And adjusting the tolerance level of the key value for the next game scene when the candidate game scenes below the minimum reference value or above the reference value in the current game scene are extracted. Generating system.
상기 장면 검색부는
상기 현재 게임 장면 및 상기 후보 게임 장면에 포함된 각 유닛의 실제 위치에 따른 거리, 및 상기 각 유닛의 풀 체력 대비 현재 체력의 비율에 기초하여 상기 현재 게임 장면의 제1 영향력 분포도 및 상기 후보 게임 장면들의 제2 영향력 분포도를 생성하고, 상기 제1 영향력 분포도와 상기 제2 영향력 분포도에서 각 유닛 간의 거리를 산출하여, 상기 각 유닛 간의 거리 차이가 최소인 후보 게임 장면을 상기 최적 게임 장면으로 선택하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템.
The method according to claim 1,
The scene search unit
A first influence distribution diagram of the current game scene and a second influence distribution chart of the candidate game scene based on a ratio of the current game scene and a ratio of a current physical strength to a full physical strength of each unit included in the candidate game scene, And calculating a distance between each unit in the first influence distribution chart and the second influence distribution chart to select a candidate game scene having the minimum distance difference between the units as the optimal game scene Artificial intelligence creation system of game character based on mimicry of game play data.
상기 인공지능 생성 시스템의 장면 검색부에서, 게임 플레이 시, 상기 장면 데이터베이스를 이용하여, 인공지능의 생성과 관련된 게임 캐릭터가 있는 현재 게임 장면과 연관된 후보 게임 장면들을 추출하는 단계;
상기 장면 검색부에서, 상기 후보 게임 장면들의 영향력 분포도(IM)를 상기 현재 게임 장면의 영향력 분포도와 비교하여 가장 유사한 최적 게임 장면을 선택하는 단계; 및
상기 인공지능 생성 시스템의 인공지능 생성부에서, 상기 최적 게임 장면을 모방하여 상기 현재 게임 장면에 적용함으로써 상기 게임 캐릭터의 인공지능을 생성하는 단계
를 포함하고,
상기 게임 캐릭터의 인공지능을 생성하는 단계는
상기 영향력 분포도 간의 비교 결과에 따라, 미리 정의된 최대 경계 영역 내에서 상기 현재 게임 장면 내 유닛과 서로 가까운 유닛이 상기 후보 게임 장면들 내에 존재하지 않으면, 영향력 분포도의 값이 최대가 되는 위치의 현재 게임 장면으로 유닛을 이동시키는 단계
를 포함하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법.
Collecting game play data of game players and building a scene database in a database building unit of the artificial intelligence generating system;
Extracting candidate game scenes associated with a current game scene having a game character associated with generation of artificial intelligence, using the scene database, in a scene search unit of the artificial intelligence generation system;
Comparing the influence map (IM) of the candidate game scenes with the influence map of the current game scene to select the most similar optimal game scene; And
Generating artificial intelligence of the game character by applying the optimal game scene to the current game scene in the artificial intelligence generating unit of the artificial intelligence generating system
Lt; / RTI >
The step of generating the artificial intelligence of the game character
According to the result of the comparison between the influence distribution charts, if a unit close to the current game scene in the predefined maximum boundary area is not present in the candidate game scenes, the current game Moving a unit to a scene
And generating the artificial intelligence of the game character based on imitating the game play data.
상기 장면 데이터베이스를 구축하는 단계는
상기 수집된 게임 플레이 데이터를 이용하여 해시 키 기반의 해시 테이블을 생성하는 단계; 및
상기 생성된 해시 테이블에 기초하여 상기 장면 데이터베이스를 구축하는 단계
를 포함하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법.
10. The method of claim 9,
The step of constructing the scene database
Generating a hash table based on a hash key using the collected game play data; And
Constructing the scene database based on the generated hash table
And generating the artificial intelligence of the game character based on imitating the game play data.
상기 현재 게임 장면과 연관된 후보 게임 장면들을 추출하는 단계는
상기 현재 게임 장면에 포함된 유닛의 수, 및 상기 유닛 각각의 중심 위치를 키 값으로 설정하는 단계; 및
상기 설정된 키 값에 기초하여 상기 후보 게임 장면들을 추출하는 단계
를 포함하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법.
10. The method of claim 9,
The step of extracting candidate game scenes associated with the current game scene
Setting a number of units included in the current game scene and a center position of each of the units as a key value; And
Extracting the candidate game scenes based on the set key value
And generating the artificial intelligence of the game character based on imitating the game play data.
상기 설정된 키 값에 기초하여 상기 후보 게임 장면들을 추출하는 단계는
상기 추출된 후보 게임 장면들의 미스매칭을 최소화하기 위해, 상기 설정된 키 값에 허용오차를 적용하여 상기 후보 게임 장면들을 추출하는 단계
를 포함하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법.
12. The method of claim 11,
The step of extracting the candidate game scenes based on the set key value
Extracting candidate game scenes by applying a tolerance to the set key values to minimize mismatching of the extracted candidate game scenes
And generating the artificial intelligence of the game character based on imitating the game play data.
상기 현재 게임 장면과 연관된 후보 게임 장면들을 추출하는 단계는
상기 현재 게임 장면에서 최소 기준치 이하 또는 최대 기준치 이상의 후보 게임 장면들이 추출되는 경우, 다음 게임 장면에 대해서 키 값의 허용오차 레벨을 조정하는 단계
를 더 포함하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법.
13. The method of claim 12,
The step of extracting candidate game scenes associated with the current game scene
Adjusting the tolerance level of the key value for the next game scene when the candidate game scenes below the minimum reference value or above the reference value are extracted in the current game scene,
And generating a game character based on the imitation of the game play data.
상기 최적 게임 장면을 선택하는 단계는
상기 현재 게임 장면 및 상기 후보 게임 장면에 포함된 각 유닛의 실제 위치에 따른 거리, 및 상기 각 유닛의 풀 체력 대비 현재 체력의 비율에 기초하여 상기 현재 게임 장면의 제1 영향력 분포도 및 상기 후보 게임 장면들의 제2 영향력 분포도를 생성하는 단계; 및
상기 제1 영향력 분포도와 상기 제2 영향력 분포도에서 각 유닛 간의 거리를 산출하여, 상기 각 유닛 간의 거리 차이가 최소인 후보 게임 장면을 상기 최적 게임 장면으로 선택하는 단계
를 포함하는 것을 특징으로 하는 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 방법.10. The method of claim 9,
The step of selecting the optimal game scene
A first influence distribution diagram of the current game scene and a second influence distribution chart of the candidate game scene based on a ratio of the current game scene and a ratio of a current physical strength to a full physical strength of each unit included in the candidate game scene, Generating a second influence distribution map of the first and second regions; And
Calculating a distance between each unit in the first influence distribution diagram and the second influence distribution diagram and selecting a candidate game scene having the minimum distance difference between the units as the optimal game scene
And generating the artificial intelligence of the game character based on imitating the game play data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140157304A KR101603681B1 (en) | 2014-11-12 | 2014-11-12 | System and method for generating artificial intelligence of game character based on imitation of game play data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140157304A KR101603681B1 (en) | 2014-11-12 | 2014-11-12 | System and method for generating artificial intelligence of game character based on imitation of game play data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101603681B1 true KR101603681B1 (en) | 2016-03-16 |
Family
ID=55649889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140157304A KR101603681B1 (en) | 2014-11-12 | 2014-11-12 | System and method for generating artificial intelligence of game character based on imitation of game play data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101603681B1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200000588A (en) | 2018-06-25 | 2020-01-03 | 주식회사 두빛나래소프트 | Method, server device and program for cooperative game conduct using artificial intelligence |
KR20210003687A (en) * | 2019-07-02 | 2021-01-12 | 일렉트로닉 아트 아이엔씨. | Customized models for imitating player gameplay in a video game |
KR20210053739A (en) * | 2019-11-04 | 2021-05-12 | 주식회사 마인즈랩 | Apparatus for creation of contents of game play |
CN113364988A (en) * | 2021-08-10 | 2021-09-07 | 深圳市爱图仕影像器材有限公司 | Shooting scene simulation method and device and terminal equipment |
KR102317229B1 (en) * | 2021-08-25 | 2021-10-26 | 주식회사 에스에이엠지엔터테인먼트 | Artificial intelligence-based animation production system using game engine and method therefor |
US11369880B2 (en) | 2016-03-08 | 2022-06-28 | Electronic Arts Inc. | Dynamic difficulty adjustment |
US11406899B2 (en) | 2019-03-27 | 2022-08-09 | Electronic Arts Inc. | Virtual character generation from image or video data |
US11413539B2 (en) | 2017-02-28 | 2022-08-16 | Electronic Arts Inc. | Realtime dynamic modification and optimization of gameplay parameters within a video game application |
US11458399B2 (en) | 2016-12-30 | 2022-10-04 | Electronic Arts Inc. | Systems and methods for automatically measuring a video game difficulty |
US11532172B2 (en) | 2018-06-13 | 2022-12-20 | Electronic Arts Inc. | Enhanced training of machine learning systems based on automatically generated realistic gameplay information |
-
2014
- 2014-11-12 KR KR1020140157304A patent/KR101603681B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
In-Seok Oh 외 2인, ‘Imitation Learning for Combat System in RTS Games with Application to StarCraft’, 2014 IEEE Conference on Computational Intelligence and Games, 2014.08.26-29.* |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11369880B2 (en) | 2016-03-08 | 2022-06-28 | Electronic Arts Inc. | Dynamic difficulty adjustment |
US11458399B2 (en) | 2016-12-30 | 2022-10-04 | Electronic Arts Inc. | Systems and methods for automatically measuring a video game difficulty |
US11413539B2 (en) | 2017-02-28 | 2022-08-16 | Electronic Arts Inc. | Realtime dynamic modification and optimization of gameplay parameters within a video game application |
US11532172B2 (en) | 2018-06-13 | 2022-12-20 | Electronic Arts Inc. | Enhanced training of machine learning systems based on automatically generated realistic gameplay information |
KR20200000588A (en) | 2018-06-25 | 2020-01-03 | 주식회사 두빛나래소프트 | Method, server device and program for cooperative game conduct using artificial intelligence |
US11406899B2 (en) | 2019-03-27 | 2022-08-09 | Electronic Arts Inc. | Virtual character generation from image or video data |
KR102360420B1 (en) | 2019-07-02 | 2022-02-09 | 일렉트로닉 아트 아이엔씨. | Customized models for imitating player gameplay in a video game |
KR20210003687A (en) * | 2019-07-02 | 2021-01-12 | 일렉트로닉 아트 아이엔씨. | Customized models for imitating player gameplay in a video game |
KR102430547B1 (en) | 2019-11-04 | 2022-08-09 | 주식회사 마인즈랩 | Apparatus for creation of contents of game play |
KR20210053739A (en) * | 2019-11-04 | 2021-05-12 | 주식회사 마인즈랩 | Apparatus for creation of contents of game play |
CN113364988B (en) * | 2021-08-10 | 2021-11-12 | 深圳市爱图仕影像器材有限公司 | Shooting scene simulation method and device and terminal equipment |
CN113364988A (en) * | 2021-08-10 | 2021-09-07 | 深圳市爱图仕影像器材有限公司 | Shooting scene simulation method and device and terminal equipment |
KR102317229B1 (en) * | 2021-08-25 | 2021-10-26 | 주식회사 에스에이엠지엔터테인먼트 | Artificial intelligence-based animation production system using game engine and method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101603681B1 (en) | System and method for generating artificial intelligence of game character based on imitation of game play data | |
Ferreira et al. | A search-based approach for generating angry birds levels | |
Weber et al. | A data mining approach to strategy prediction | |
Khalifa et al. | Intentional computational level design | |
Nielsen et al. | Towards generating arcade game rules with VGDL | |
Preuss et al. | Searching for good and diverse game levels | |
Dahlskog et al. | A multi-level level generator | |
Shaker et al. | Automatic generation and analysis of physics-based puzzle games | |
Justesen et al. | Playing multiaction adversarial games: Online evolutionary planning versus tree search | |
Lee et al. | Learning a Super Mario controller from examples of human play | |
Perl | Game analysis and control by means of continuously learning networks | |
Togelius et al. | The search-based approach | |
Pérez-Liébana et al. | Analyzing the robustness of general video game playing agents | |
Barros et al. | Balanced civilization map generation based on open data | |
Capps et al. | Using multiple generative adversarial networks to build better-connected levels for mega man | |
Susanto et al. | Maze generation based on difficulty using genetic algorithm with gene pool | |
Guerrero-Romero et al. | Map-elites to generate a team of agents that elicits diverse automated gameplay | |
Miranda et al. | A Neuroevolution Approach to Imitating Human-Like Play in Ms. Pac-Man Video Game. | |
Kowalski et al. | Evolving chess-like games using relative algorithm performance profiles | |
Zhou et al. | Discovering of game AIs’ characters using a neural network based AI imitator for AI clustering | |
Liu et al. | Player identification from RTS game replays | |
Norton et al. | Monsters of Darwin: A strategic game based on artificial intelligence and genetic algorithms | |
Baldominos et al. | Learning levels of mario ai using genetic algorithms | |
Du et al. | Automatic level Generation for Tower Defense Games | |
Lara-Cabrera et al. | Geometrical vs topological measures for the evolution of aesthetic maps in a RTS game |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190221 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200219 Year of fee payment: 5 |