KR101265051B1 - Method for providing non player character artificial intelligence according to game user level - Google Patents

Method for providing non player character artificial intelligence according to game user level Download PDF

Info

Publication number
KR101265051B1
KR101265051B1 KR1020120057788A KR20120057788A KR101265051B1 KR 101265051 B1 KR101265051 B1 KR 101265051B1 KR 1020120057788 A KR1020120057788 A KR 1020120057788A KR 20120057788 A KR20120057788 A KR 20120057788A KR 101265051 B1 KR101265051 B1 KR 101265051B1
Authority
KR
South Korea
Prior art keywords
game
level
npc
user
game user
Prior art date
Application number
KR1020120057788A
Other languages
Korean (ko)
Inventor
손강민
황원택
조병헌
Original Assignee
주식회사 쏘그웨어
조병헌
황원택
손강민
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 쏘그웨어, 조병헌, 황원택, 손강민 filed Critical 주식회사 쏘그웨어
Priority to KR1020120057788A priority Critical patent/KR101265051B1/en
Priority to PCT/KR2012/004306 priority patent/WO2013180322A1/en
Application granted granted Critical
Publication of KR101265051B1 publication Critical patent/KR101265051B1/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
    • A63F13/67Generating 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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/558Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment

Abstract

PURPOSE: An NPC AI providing method according to the game user's level is provided to control the level of NPC measured against the game user according to the level of the game played. CONSTITUTION: An NPC AI providing method according to the game user's level comprises a step(S110) of deciding the level according to the game's characteristics using genetic algorithm; a step(S120) of deciding the game level of the game user and storing the data according to game pattern; a step(S130) of deciding the level of NPC AI according to the game level of the user; a step(S130) of generating parameters with the NPC AI according to the stored data and the determined level of the NPC AI; and a step of providing NPC AI according to the level of the user by applying the generated parameters to the game. [Reference numerals] (AA) Start; (BB) End; (S110) Determine a level matched to the characteristic of a game; (S120) Determine the game level of a game user and store data according to game patterns; (S130) Determine an NPI Al level according to the game level of the game user; (S140) Generate parameters with respect to the NPC AI according to the stored data and the determined NPC AI level; (S150) Apply the generated parameters to the game

Description

게임 사용자 수준에 따른 NPC AI제공방법{METHOD FOR PROVIDING NON PLAYER CHARACTER ARTIFICIAL INTELLIGENCE ACCORDING TO GAME USER LEVEL}How to provide NPC AI according to the level of game users {METHOD FOR PROVIDING NON PLAYER CHARACTER ARTIFICIAL INTELLIGENCE ACCORDING TO GAME USER LEVEL}

본 발명은 게임 사용자 수준에 따른 NPC AI 제공방법에 관한 것으로, 더욱 상세하게는 게임 사용자의 게임 능력 수준 따라 다양한 수준의 인공지능 NPC를 적용하여 제공하는 게임 사용자 수준에 따른 NPC AI 제공방법에 관한 것이다.
The present invention relates to an NPC AI providing method according to the game user level, and more particularly, to an NPC AI providing method according to the game user level provided by applying various levels of artificial intelligence NPC according to the game user's game ability level. .

일반적으로, 게임에서 NPC의 역할은 다양하게 있다. 그 중 가장 중요한 것은 게임 사용자의 상대방 역할을 수행하는 것이다. 게임 개발자들은 인공지능 기법을 이용하여 등장 캐릭터의 지능적인 행동을 구현하여왔다. 게임유저는 게임에서 상대방이 서툰 행동을 하는 것을 원하지 않는다. 비록 게임의 상대방이 서툰 행동을 하여 게임에 이겼다고 해도 그 즐거움이 크지 않기 때문이다. 오히려, 게임에 흥미를 잃고 쉽게 싫증을 내기 쉽다. In general, the role of NPCs in games varies. The most important of them is to play the role of opponent of the game user. Game developers have used AI techniques to implement the intelligent behavior of characters. The user doesn't want the opponent to be clumsy in the game. Even if the opponent of the game wins the game because of clumsy behavior, the fun is not great. Rather, it is easy to lose interest in the game and easily get tired of it.

예를 들어, 대전 액션 게임에서 게이머가 조종하는 캐릭터가 멀리 있는데 상대방 캐릭터가 다가오지 않고 멀리서 엉뚱한 행동만 하고 있다면 게임 사용자는 게임에 흥미를 잃거나 게임을 지루해 할 것이다. For example, in a competitive action game, if the character controlled by the gamer is far away and the opponent character is not approaching and doing the wrong action from afar, the game user may lose interest in the game or be bored.

그래서, 많은 게임 사용자는 상대방의 캐릭터가 또는 몹이 지능적으로 행동하길 원하고 이를 요구해오고 있다. Thus, many game users have desired and demanded that the opponent's character or mob behave intelligently.

게임에서 사용되는 인공지능 기법은 FSM(Finite State Machine), FuSM(Fuzzy State Machine)와 같은 전통적인 기법에서부터, 인공생명, 신경망 등에 이르기까지 다양한 기법이 있다. The AI techniques used in the game range from traditional techniques such as finite state machine (FSM) and fuzzy state machine (FUSM) to artificial life and neural networks.

이와 같은 방법을 사용한다 하더라도 결국에는 게임 개발자가 기획자의 의도에 맞추어 일일이 코딩작업으로 NPC AI를 구현해야 했다. Even with this method, the game developer eventually had to implement the NPC AI by coding in accordance with the planner's intention.

관련 선행기술로는 한국공개특허 제2010-0104898호(공개일:2010.09.29., 명칭: 게임 밸런싱을 위한 프리셋 조절 방법 및 런타임 게임 밸런싱 조절 방법) 가 있다.
Related prior arts include Korean Patent Publication No. 2010-0104898 (published date: September 29, 2010, titled: Preset adjustment method and runtime game balancing adjustment method) for game balancing.

본 발명은 게임을 플레이하는 게임 사용자의 수준에 따라 게임 사용자와 겨루는 NPC의 레벨을 조절하는 사용자 수준에 따른 NPC AI 제공방법을 제공하기 위한 것이다.The present invention is to provide a method for providing an NPC AI according to the user level to adjust the level of the NPC to compete with the game user according to the level of the game user playing the game.

본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않는다.
The technical problems to be achieved by the present invention are not limited to the technical problems mentioned above.

상기 과제를 달성하기 위한 본 발명의 사용자 수준에 따른 NPC AI 제공방법은, 유전자 알고리즘(Genetic Algorithm)을 이용하여 게임 사용자 수준에 따른 NPC AI(Non Player Character Artificial Intelligence) 생성 방법에 있어서, 게임 특성에 맞는 수준의 레벨을 결정하는 단계; 상기 게임 사용자의 게임 레벨을 결정 및 게임 패턴에 따른 데이터를 저장하는 단계; 상기 게임 사용자의 게임 레벨에 따른 NPC AI의 레벨을 결정하는 단계; 상기에서 저장된 데이터 및 결정된 NPC AI의 레벨에 따라 NPC AI에 대한 파라미터를 생성하는 단계; 및 상기에서 생성된 파라미터를 게임에 적용하여 사용자 수준에 따른 NPC AI를 제공하는 단계;를 포함할 수 있다.A method for providing an NPC AI according to the user level of the present invention for achieving the above object, in the method of generating a non-player character artificial intelligence (NPC AI) according to the game user level by using a genetic algorithm (Genetic Algorithm), Determining a level of fit level; Determining a game level of the game user and storing data according to a game pattern; Determining a level of NPC AI according to the game level of the game user; Generating a parameter for the NPC AI according to the stored data and the determined level of the NPC AI; And applying the generated parameter to a game to provide an NPC AI according to a user level.

구체적으로, 상기 게임 패턴은 게임 사용자가 제어하는 캐릭터의 행동 및 게임의 상태를 포함할 수 있다. Specifically, the game pattern may include the behavior of the character controlled by the game user and the state of the game.

또한, 상기 게임 레벨은 NPC의 점수, 게임 사용자의 점수, NPC가 게임 사용자에게 입힌 데미지, 게임 사용자가 NPC에 입힌 데미지, NPC의 적중률, 및 게임 사용자의 적중률 중 어느 하나 이상으로 결정될 수 있다. In addition, the game level may be determined by at least one of the score of the NPC, the score of the game user, the damage to the game user NPC, the damage to the NPC, the hit rate of the NPC, and the hit rate of the game user.

또한, 상기 NPC AI에 대한 파라미터를 생성하는 생성방법은, 상기 NPC AI에서 수준을 변경할 수 있는 파라미터를 선정하는 단계; 상기에서 선정한 파라미터를 초기화하는 단계; 상기에서 저장된 게임 사용자의 게임 패턴에 따른 데이터와 게임 특성에 맞는 수준의 레벨의 적합도를 계산하는 단계; 상기 적합도에 비례하여 임의로 부모를 선택하여 유전 연산자(Genetic Operator)에 의해 파라미터를 연산하는 단계; 및 상기 적합도가 미리 설정한 값 이상이면, 연산된 파라미터를 생성하는 단계;를 포함할 수 있다. The generating method of generating a parameter for the NPC AI may include selecting a parameter capable of changing a level in the NPC AI; Initializing the selected parameter; Calculating a goodness of fit of a level suitable for game characteristics and data according to the game pattern of the game user stored above; Calculating a parameter by a genetic operator by arbitrarily selecting a parent in proportion to the goodness of fit; And generating a calculated parameter when the goodness of fit is equal to or greater than a preset value.

또한, 상기 파라미터는 NPC를 지능적으로 행동시키기 위해 가변되는 값 또는 정보를 의미할 수 있다.In addition, the parameter may mean a value or information that is changed to intelligently operate the NPC.

또한, 상기 적합도가 미리 설정한 값 미만이면, 적합도가 미리 설정한 값 이상이 될 때까지 반복하여 파라미터 연산을 수행하는 단계;를 더 포함할 수 있다. The method may further include repeatedly performing a parameter operation until the goodness of fit is less than or equal to a preset value.

또한, 상기에서 임의로 부모를 선택하는 방법은, 적합도 비례 선택법, 룰렛 선택법, 기대치 선택법, 순위 선택법, 및 토너먼트 선택법 중 어느 하나 이상을 이용하여 선택될 수 있다. In addition, the method of arbitrarily selecting a parent may be selected using any one or more of a goodness-of-fit proportional selection method, a roulette selection method, an expected value selection method, a ranking selection method, and a tournament selection method.

또한, 상기 유전 연산자는 교배(crossover), 돌연변이(Mutation), 역위(Inversion), 치환(Displacement), 중복(Duplication), 추가(Addition), 제거(Deletion) 중 어느 하나 이상을 채택할 수 있다.
In addition, the genetic operator may adopt any one or more of crossover, mutation, inversion, substitution, duplication, addition, and deletion.

이상에서 설명한 바와 같이 본 발명은 게임 개발자가 모든 케이스의 경우에 대한 알고리즘을 구현하지 않음으로 개발 시간이 단축되는 효과가 있다. As described above, the present invention has an effect that the development time is shortened because the game developer does not implement algorithms for all cases.

본 발명은 게임 사용자의 수준에 따른 인공지능적인 NPC를 제공하여 게임 사용자의 흥미를 유발할 수 있는 효과가 있다. The present invention has an effect that can cause the interest of the game user by providing an artificial NPC according to the level of the game user.

본 발명은 게임 사용자의 수준에 NPC를 맞추지 않더라도 다양한 경우의 NPC 행동을 생성하여 얻을 수 있어 많은 게임 사용자에게 다양한 행동 패턴을 갖는 NPC를 제공할 수 있는 효과가 있다. The present invention can generate and obtain NPC behaviors in various cases even if the NPCs are not matched to the level of the game users, thereby providing an NPC having various behavior patterns to many game users.

또한 게임 개발 단계에도 적용 가능하여, 게임 개발 시 다양한 수준의 NPC를 쉽고 빠르게 만들어 게임에 포함시킬 수 있다.
In addition, it can be applied to the game development stage, so that various levels of NPC can be easily and quickly created for game development.

도 1은 본 발명의 실시예에 따른 게임 사용자 수준에 따른 NPC AI 제공방법을 나타낸 흐름도이다.
도 2는 본 발명의 실시예에 따른 게임 사용자 수준에 따른 NPC AI 제공방법의 NPC AI 생성방법을 나타낸 흐름도이다.
도 3은 도 2의 NPC AI 생성방법에 있어서 선택될 수 있는 파라미터들의 예시를 나타낸 도면이다.
도 4는 교배연산을 나타낸 도면이다.
도 5는 본 발명의 실시예를 설명하기 위한 이미지이다.
도 6는 도 5의 실시예에 따른 선택될 수 있는 파라미터들의 예시를 나타낸 도면이다.
도 7은 개체의 적합도에 대한 일 실시예를 나타낸 그래프이다.
1 is a flowchart illustrating an NPC AI providing method according to a game user level according to an embodiment of the present invention.
2 is a flowchart illustrating an NPC AI generation method of an NPC AI providing method according to a game user level according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of parameters that may be selected in the NPC AI generation method of FIG. 2.
4 is a diagram showing a cross operation.
5 is an image for explaining an embodiment of the present invention.
6 is a diagram illustrating an example of selectable parameters according to the embodiment of FIG. 5.
7 is a graph showing an embodiment of the fitness of the individual.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다. 도면들 중 동일한 구성요소들은 가능한 어느 곳에서든지 동일한 부호로 표시한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like elements in the figures are denoted by the same reference numerals wherever possible. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

도 1은 본 발명의 실시예에 따른 게임 사용자 수준에 따른 NPC AI 제공방법을 나타낸 흐름도로서, 게임 사용자 수준에 따른 NPC AI 제공방법은 다음과 같다. 1 is a flowchart illustrating a method of providing an NPC AI according to a game user level according to an embodiment of the present invention. The method of providing an NPC AI according to a game user level is as follows.

여기서, NPC AI(Non Player Character Artificial Intelligence)는 플레이어가 없는 인공지능형 캐릭터를 의미하며, 이하에서 'NPC AI'로 칭한다. Here, NPC AI (Non Player Character Artificial Intelligence) means an artificial character without a player, hereinafter referred to as 'NPC AI'.

먼저, 게임 특성에 맞는 수준의 레벨이 결정된다(S110). 이때, 게임마다 수준을 결정하는 기준이 상이하기 때문에 각 게임의 특성에 맞게 수준을 결정하게 되며, 게임 특성에 맞는 수준은 개발자에 의해 결정될 수 있다. First, a level of a level suitable for a game characteristic is determined (S110). At this time, since the criteria for determining the level are different for each game, the level is determined according to the characteristics of each game, and the level suitable for the game characteristics may be determined by the developer.

즉, 어떤 게임은 100점이 높은 점수에 속할 수 있으나, 어떤 게임은 100점이 낮은 점수에 속할 수 있기 때문에 각 게임에 해당하는 기준으로 레벨을 결정할 수 있는 기준을 정함이 바람직하다. That is, some games may belong to a high score of 100 points, but some games may belong to a low score of 100 points. Therefore, it is preferable to set a standard for determining a level based on a criterion corresponding to each game.

이하의 [표 1]은 임의의 게임에 대한 실시예에 따른 수준의 레벨을 나열한 것이다. Table 1 below lists the levels of levels according to embodiments for any game.

<-200<-200 -199 ~ -100-199 to -100 -99 ~ 100-99 to 100 101~200101-200 >201> 201 매우 낮은 레벨Very low level 낮은 레벨Low level 동등한 레벨Equivalent level 높은 레벨High level 매우 높은 레벨Very high level

예를들어, 상기 표 1과 같이, 어떠한 게임에서 -200보다 작은 포인트를 획득한 경우 매우 낮은 레벨로 분류하고, -199 내지 -100사이의 포인트를 획득한 경우 낮은 레벨로 분류하며, -99 내지 100은 NPC와 동등한 레벨로 분류하고, 101 내지 200은 NPC보다 높은 레벨, 201이상은 매우 높은 레벨로 분류 될 수 있다. For example, as shown in Table 1 above, if a game scores less than -200 in a game, it is classified as a very low level, and if it acquires points between -199 and -100, it is classified as a low level. 100 may be classified at the level equivalent to NPC, 101 to 200 may be classified at a higher level than NPC, and 201 or more at a very high level.

본 발명의 실시예에서는 5개의 분류로 구분하였으나, 게임의 종류나 개발자에 따라 3개 내지 10개의 분류로 구분할 수도 있다. In the embodiment of the present invention, although divided into five categories, it may be divided into three to ten categories according to the type of game or the developer.

이어, 상기 게임 사용자의 게임 레벨을 결정 및 게임 패턴에 따른 데이터를 저장한다(S120). 이때, 게임 사용자의 게임 레벨은 NPC의 점수, 게임 사용자의 점수, NPC가 게임 사용자에게 입힌 데미지, 게임 사용자가 NPC에 입힌 데미지, NPC의 적중률, 및 게임 사용자의 적중률 중 어느 하나 이상으로 결정하며, 게임 레벨로 사용자의 게임 수준을 나타낼 수 있다. Next, the game level of the game user is determined and data according to a game pattern is stored (S120). In this case, the game user's game level is determined by one or more of the score of the NPC, the score of the game user, the damage the NPC has inflicted on the game user, the damage the game user has inflicted on the NPC, the hit rate of the NPC, and the hit rate of the game user, The game level may indicate the user's game level.

즉, 게임 사용자의 게임 레벨은 게임 사용자가 일정 시간동안 게임을 플레이하면서 얻어진 결과로 상기 S110에서 결정된 수준의 레벨 분류에 따라 결정될 수 있다. That is, the game level of the game user may be determined according to the level classification of the level determined in S110 as a result obtained while the game user plays the game for a predetermined time.

또한, 게임 패턴은 게임 사용자가 제어하는 캐릭터의 게임 행동 및 게임 상태를 포함할 수 있다.In addition, the game pattern may include game behavior and game state of the character controlled by the game user.

여기서, 사용자의 게임 행동은 사용자가 게임 상에서 행했던 모든 조작 또는 게임 사용자 캐릭터의 행동들을 나타내며, 게임 상태는 게임에서 사용자가 조작하는 캐릭터를 제외한 모든 정보를 포함한다.Here, the game action of the user represents all operations or actions of the game user character that the user has performed on the game, and the game state includes all information except for the character that the user operates in the game.

게임 사용자의 게임 패턴에 따른 데이터를 저장하는 단계에서는 게임 사용자는 기본 NPC와 겨루게 되고, 미리 설정된 시간 동안의 게임 패턴을 저장함이 바람직하다. In the step of storing data according to the game pattern of the game user, the game user may compete with the basic NPC, and store the game pattern for a preset time.

이어, 상기 게임 사용자의 게임 레벨에 따른 NPC AI의 레벨을 결정한다(S130). 이때, 게임 사용자의 상기 게임 레벨을 통해 NPC AI의 레벨을 게임 사용자보다 낮은 레벨 수준으로 할지, 게임 사용자와 동등한 레벨 수준으로 할지, 게임 사용자보다 높은 레벨 수준으로 할지 NPC AI의 레벨을 결정한다. Next, the level of the NPC AI according to the game level of the game user is determined (S130). In this case, the level of the NPC AI is determined based on the game level of the game user, whether the level of the NPC AI is lower than that of the game user, the same level as the game user, or higher than the game user.

이 단계에서 결정되는 NPC AI의 레벨을 통해 게임 사용자 수준에 맞는 NPC AI를 결정할 수 있다. The level of NPC AI determined at this stage allows you to determine the NPC AI that matches the user level of the game.

또한, 이 단계에서 결정되는 NPC AI의 레벨은 게임 사용자의 레벨을 미리 알기 전에 게임 사용자와 동등한 레벨을 가질지, 약한 레벨을 가질지, 강한 레벨을 가질지는 상기 S120 단계 이전에 결정될 수도 있다. In addition, the level of the NPC AI determined in this step may be determined before the step S120 whether to have the same level as the game user, have a weak level, or have a strong level before knowing the game user's level in advance.

이어, 상기에서 저장된 데이터 및 결정된 NPC AI의 레벨에 따라 NPC AI에 대한 파라미터를 생성한다(S140). 이때, 파라미터는 지능형 NPC를 행동할 수 있도록 부여되는 값으로, NPC를 지능적으로 행동시키기 위해 가변되는 값 또는 정보들을 의미한다. Subsequently, a parameter for the NPC AI is generated according to the stored data and the determined level of the NPC AI (S140). In this case, the parameter is a value assigned to operate the intelligent NPC, and means a value or information that is changed to intelligently operate the NPC.

여기서, NPC AI에 대한 파라미터를 생성하는 생성방법은 하기에서 다시 설명하기로 한다. Here, the generation method for generating the parameter for the NPC AI will be described again below.

마지막으로, 상기에서 생성된 파라미터를 게임에 적용하여 사용자 수준에 따른 NPC AI를 제공한다(S150). 이때, 게임에 적용된 NPC AI는 설정된 레벨에 맞춰져
Finally, the generated parameter is applied to the game to provide an NPC AI according to the user level (S150). At this time, the NPC AI applied to the game is set to the set level.

도 2에 도시한 바와 같이, NPC AI에 대한 파라미터를 생성하는 생성방법(S140)은 하기와 같다. As shown in FIG. 2, the generation method S140 of generating a parameter for the NPC AI is as follows.

먼저, 상기 NPC AI에서 수준을 변경할 수 있는 파라미터를 선정한다(S141). 이때, 파라미터는 도 3에 도시한 바와 같이, FSM(Finite State Machine)와 같이 구현되어 있을 때, 거리를 나타내는 파라미터나, 공격 시간을 나타내는 파라미터와 같이 변경이 가능한 파라미터를 변경이 가능한 파라미터를 선정할 수 있다. First, a parameter for changing a level in the NPC AI is selected (S141). In this case, as illustrated in FIG. 3, when the parameter is implemented as a finite state machine (FSM), a parameter that can change a parameter that can be changed, such as a parameter that indicates a distance or a parameter that indicates an attack time, may be selected. Can be.

도 3에서는 거리, 공격시간을 나타냈으나 공격횟수, 힘의 세기와 같이 수치적인 파라미터들을 선정할 수 있다. In Figure 3, the distance and the attack time are shown, but numerical parameters such as the number of attacks and the strength of the force can be selected.

이어서, 상기에서 선정한 파라미터를 초기화한다(S142).이때, 파라미터의 초기화는 유전자 알고리즘에서의 각 개체의 초기화를 의미한다. 본 발명에서의 개체에는 앞 단계에서 선정한 파라미터들이 포함되어 있다. 미리 선정한 개체군의 개수만큼 개체를 생성한 다음 각 개체에 포함되는 파라미터의 값을 미리 정의한 값 또는 랜덤 값으로 초기화 한다.Subsequently, the above-selected parameter is initialized (S142). In this case, initialization of the parameter means initialization of each individual in the genetic algorithm. The object in the present invention includes the parameters selected in the previous step. Create objects as many as the number of objects selected in advance, and then initialize the values of the parameters included in each object to predefined or random values.

이어서, 상기에서 저장된 게임 사용자의 게임 패턴에 따른 데이터와 게임 특성에 맞는 수준의 레벨의 적합도를 계산한다(S143). 이때, 적합도를 계산하는 방법은 다음과 같다. Subsequently, the fitness of the level corresponding to the data and game characteristics of the game user's game pattern stored above is calculated (S143). At this time, the method of calculating the fitness is as follows.

먼저, 게임 사용자의 일정 시간의 행동을 저장한 데이터를 입력하면 게임을 실행하여 앞 단계에서 선정한 수준를 결정하는 기준의 값을 계산하는 함수를 만든다. First, inputting data that stores a certain amount of time of the game user, the game is executed to create a function that calculates the value of the criterion that determines the level selected in the previous step.

이 함수에는 게임 동작에 수반하는 그래픽, 사운드, 네트워크 등의 요소는 포함할 필요는 없고, 단지 기준의 값만을 계산할 수 있으면 된다. This function does not need to include elements such as graphics, sounds, networks, etc. that accompany the game's movements; it only needs to calculate the reference values.

이와 같은 함수가 만들어졌다면, 저장한 게임 사용자의 일정 시간의 행동을 저장한 데이터와 각 개체의 값을 기준의 값을 계산하는 함수에 반영하여 결과값을 계산한다. 이 결과값을 [표 1]과 같은 수준의 레벨과 만들고자 하는 AI 수준의 레벨을 비교하여, 만들고자 하는 AI의 단계와의 차이에 반비례하여 적합도를 선정한다.If such a function is created, the result value is calculated by reflecting the stored data and the value of each object in the function that calculates the reference value. This result is compared with the level of the AI level to be created by comparing the level of the level as shown in [Table 1], and the fitness is selected in inverse proportion to the difference with the level of the AI to be made.

이어서, 상기 적합도에 비례하여 임의로 부모를 선택하여 유전 연산자(Genetic Operator)에 의해 파라미터를 연산한다(S144). 여기서, 부모라 함은 다음 세대의 자식을 선택하기 위해 선택된 두 개체를 의미한다. Subsequently, a parent is arbitrarily selected in proportion to the goodness of fit, and a parameter is calculated by a genetic operator (S144). Here, the parent means two entities selected to select children of the next generation.

상기에서 임의로 부모를 선택하는 방법은, 적합도 비례 선택법, 룰렛 선택법, 기대치 선택법, 순위 선택법, 및 토너먼트 선택법 중 어느 하나 이상을 이용하여 선택되며, 적합도에 비례하여 임의로 부모를 선택한다는 의미는 적합도 비례 선택법을 사용하여 부모를 선택하였다는 의미이다. The method of arbitrarily selecting a parent is selected using one or more of a proportionality selection method, a roulette selection method, an expectation value selection method, a ranking selection method, and a tournament selection method. Means to select a parent.

또한, 유전자 연산자는 교배(crossover), 돌연변이(Mutation), 역위(Inversion), 치환(Displacement), 중복(Duplication), 추가(Addition), 제거(Deletion) 중 어느 하나 이상을 채택하여 파라미터를 연산한다.Genetic operators also employ one or more of crossover, mutation, inversion, displacement, duplication, addition, and deletion to compute parameters. .

상기 유전자 연산자 중 교배 및 돌연변이에 대해 간단히 설명하면 다음과 같다. Brief description of the hybridization and mutation of the genetic operator is as follows.

교배는 2개의 파라미터간에 염색체를 부분적으로 서로 바꿈으로써 새로운 개체를 생성하는 것이다. 이 때 부모의 형질이 자손에게 적절히 계승되어야 하며 이것을 형질 유전성 (character preservingness) 또는 교배 근접(crossover neighborhood)이라 하며, 도 4와 같이, 1 포인트 교배는 임의의 위치를 선정한 후 내용을 교환하는 방법이고, 2 포인트 교배는 임의의 두 위치를 선정한 후 사이의 내용을 교환하는 방법을 나타낸다. Crossing is the creation of a new individual by partially swapping chromosomes between two parameters. At this time, the trait of the parent should be properly inherited to the offspring, which is called character preservingness or crossover neighborhood. As shown in FIG. 4, one-point breeding is a method of exchanging contents after selecting an arbitrary position. For example, two-point crossover represents a method of selecting two arbitrary locations and exchanging content between them.

이와 같이 서로의 위치를 바꿈으로써 새로운 파라미터(개체)를 생성하게 된다. In this way, by changing their positions, new parameters (objects) are created.

돌연변이는 개체의 각 유전자좌의 유전자에 대하여 일정한 돌연변이 확률을 적용하여 대립 유전자의 값으로 바꾸는 것이다. 개체에 근접한 새로운 개체를 생성하는 국소적인 랜덤 탐색의 일종이다. 또한 집단에서 잃어버린 유전형질을 복구하여 다양성을 유지하기 위한 수단으로도 사용된다.A mutation is a change in the value of an allele by applying a constant probability of mutation for the gene at each locus in the individual. It is a kind of local random search that creates a new object close to the object. It is also used as a means of maintaining diversity by recovering lost genetic traits in a population.

그리고, 상기 적합도가 미리 설정한 값 이상이면, 연산된 파라미터를 생성한다(S145). 이때, 적합도가 미리 설정한 값 미만이면, 적합도가 미리 설정한 값 이상이 될 때까지 반복하여 파라미터 연산을 수행한다.
If the goodness of fit is equal to or greater than a preset value, a calculated parameter is generated (S145). At this time, if the goodness-of-fit is less than the preset value, the parameter operation is repeatedly performed until the goodness-of-fit is more than the preset value.

[실시예][Example]

일반적으로 알려져 있는 게임 스트리트 파이터와 같은 2인 대전 액션 게임을 통해 상기와 같은 본 발명의 내용을 적용하여 설명하면 다음과 같다. The following describes the application of the present invention as described above through a two-player competitive action game such as a game street fighter generally known.

도 5와 같이, 게임 스트리트 파이터를 실행하고 다음과 같은 가정을 한다.As shown in Fig. 5, the game Street Fighter is executed and the following assumptions are made.

(이때, 도 5에 도시된 게임 스트리트 파이터는 저작권이 있는 게임이나, 본 발명의 설명을 돕고자 채택하였습니다.)(At this time, the game Street Fighter shown in Figure 5 is a copyrighted game, but was adopted to help explain the present invention.)

첫째, 좌측의 남자 캐릭터는 게임 사용자가 컨트롤하는 캐릭터이고, 우측의 여자 캐릭터는 NPC이다.First, the male character on the left is the character controlled by the game user, and the female character on the right is the NPC.

둘째, 각 캐릭터의 체력 게이지는 0부터 100이로, 0이 되면 KO패이다.Second, each character's health gauge ranges from 0 to 100.

셋째, NPC는 FSM으로 구현되었다. Third, NPC is implemented with FSM.

넷째, 게임 사용자의 캐릭터인 남자 캐릭터는 NPC인 여자 캐릭터보다 기술이 떨어지며, 여자 캐릭터로부터 많은 데미지를 입는다.Fourth, the male character, which is the character of the game user, is less skillful than the female character, which is an NPC, and takes much damage from the female character.

다섯째, NPC의 캐릭터를 게임 사용자와 동등한 수준으로 낮춘 AI를 원한다.Fifth, we want AI that lowers the characters of NPCs to the same level as game users.

상기와 같은 가정으로 게임 사용자 수준에 따른 NPC AI를 제공하기 위해 먼저, 타겟 게임의 특성에 맞추어 수준의 레벨을 결정한다. 이때, 일정 시간 동안 대결 후 남은 NPC의 체력을 기준으로 3단계로 구분하면 아래의 [표 2]와 같다. In order to provide NPC AI according to the game user level based on the above assumptions, first, the level level is determined according to the characteristics of the target game. At this time, divided into three stages based on the remaining strength of the NPC after the confrontation for a certain time as shown in Table 2 below.

<-50<-50 -49 ~ 50-49 to 50 >51> 51 낮은 수준Low level 보통 수준Normal level 높은 수준High level

이후, 일정시간 동안 게임 사용자의 게임 플레이를 통해 게임 레벨을 결정하고 게임 패턴을 저장한다. 여기서, 게임 레벨은 일정시간동안 대결 후, NPC의 남은 체력 - 게임 사용자의 남은 체력으로 차가 40인 경우 게임 사용자는 보통 수준에 해당하며, 가정에서 게임 사용자와 동등한 수준을 원하기 때문에 게임 사용자의 레벨에 따라 상기 3단계 중 보통 수준으로 결정된다. Thereafter, the game level is determined by the game user's game play for a certain time and the game pattern is stored. Here, the game level is the game user's normal level if the difference is the remaining health of the NPC-the remaining health of the game user after 40 minutes, the game user corresponds to the normal level, and the user wants the same level as the game user at home. According to the normal level of the three steps.

상기와 같은 정보를 이용하여 NPC AI를 생성하면, NPC AI의 수준에 영향을 줄 수 있는 파라미터를 선정한다. 이때, 도 6를 통해 NPC AI의 수준에 영향을 줄 수 있는 2, 5, 3 등의 숫자로 파라미터를 표현할 수 있다. When the NPC AI is generated using the above information, a parameter that may affect the level of the NPC AI is selected. In this case, the parameter may be represented by a number such as 2, 5, 3, etc. which may affect the level of NPC AI through FIG. 6.

표현된 파라미터로 초기값(2, 5, 3)으로 초기화 할 수 있다. The expressed parameter can be initialized to the initial values (2, 5, 3).

또한, 일정 시간동안 저장된 게임 사용자의 게임 패턴을 게임에 입력하여 설정된 레벨을 계산한다. 이후 생성하고자 하는 NPC AI 레벨에 근접할수록 적합도를 높게하고, 멀수록 적합도를 낮게 설정한다. In addition, the game pattern of the game user stored for a predetermined time is input to the game to calculate the set level. Since the closer to the NPC AI level to be generated, the higher the fitness, the farther the fitness is set lower.

예를 들어, 설정된 레벨이 높은 수준이면 적합도를 낮게하고, 보통 수준으로 나왔으면 적합도를 높게 설정한다. 이때, 레벨로 설정할 수도 있고 체력 게이지로 계산할 수 도 있다. For example, if the set level is high, the fitness is low. If the level is normal, the fitness is high. At this time, it can be set as a level or it can be calculated with a fitness gauge.

또한, 적합도에 비례하여 랜덤으로 부모를 선택한다. 이때, 부모의 선택은 적합도의 랭킹에 비례하여 랜덤으로 선택할 수도 있고, 토너먼트 형식으로 부모를 선택할 수 도 있다. Also, parents are randomly selected in proportion to the goodness of fit. At this time, the parent may be selected randomly in proportion to the ranking of the goodness of fit, or the parent may be selected in the form of a tournament.

개체에 따라 아래의 [표 3]와 같이 적합도가 계산 되었다면, 도 7에 나타낸 바와 같이 적합도의 비율에 따라 랜덤으로 부모를 선택하게 된다. 본 실시예에서는 비율에 맞추어 나타냈으나 적합도에 따라 비율이 차이가 있을 수 있다. If the fitness is calculated as shown in the following [Table 3] according to the individual, as shown in Figure 7, the parent is randomly selected according to the ratio of the fitness. In the present embodiment, but shown in accordance with the ratio, the ratio may vary depending on the goodness of fit.

개체번호Object number 적합도Fitness 1One 1010 22 2020 33 55 44 4545 55 2020

선택된 부모를 유전자 알고리즘에 따른 교배 및 돌연변이 연산으로 파라미터를 연산한다. 여기서, 교배 연산의 경우 파라미터 내에 3개의 값이 있기 때문에 1포인트 교배 연산을 사용하였으며, 돌연변이 연산의 경우 각 값이 정수이므로 각 값 별로 확률에 따라 수행되며, 각 값에 랜덤으로 더하거나 뺀다. 이때, 랜덤 값의 범위는 -5~ 5로 설정한다. The selected parents are computed with crossover and mutation operations according to the genetic algorithm. Here, in the case of the crossover operation, since there are three values in the parameter, a one-point crossover operation was used. In the case of the mutation operation, each value is an integer, and thus, each value is performed according to the probability, and is randomly added to or subtracted from each value. At this time, the range of the random value is set to -5 to 5.

여기서, 최상의 적합도가 나오면, 파라미터를 생성하고, 게임에 적용하도록 한다. Here, when the best fit is found, create the parameters and apply them to the game.

따라서, 본 발명은 게임 개발자가 모든 케이스의 경우에 대한 알고리즘을 구현하지 않음으로 개발 시간이 단축되는 효과가 있으며, 게임 사용자의 수준에 따른 인공지능적인 NPC를 제공하여 게임 사용자의 흥미를 유발할 수 있는 효과가 있다.  Therefore, the present invention has the effect that the development time is reduced by the game developer does not implement the algorithm for all cases, and can provide the interest of the game user by providing an artificial NPC according to the level of the game user It works.

또한, 본 발명은 게임 사용자의 수준에 NPC를 맞추지 않더라도 다양한 경우의 NPC 행동을 생성하여 얻을 수 있어 많은 게임 사용자에게 다양한 행동 패턴을 갖는 NPC를 제공할 수 있는 효과가 있다.In addition, the present invention can generate and obtain NPC behaviors in various cases even if the NPCs are not matched to the level of game users, thereby providing a large number of game users with NPCs having various behavior patterns.

상기와 같은 게임 사용자 수준에 따른 NPC AI제공방법은 위에서 설명된 실시예들의 구성과 작동 방식에 한정되는 것이 아니다. 상기 실시예들은 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 다양한 변형이 이루어질 수 있도록 구성될 수도 있다. The NPC AI providing method according to the game user level as described above is not limited to the configuration and operation of the embodiments described above. The embodiments may be configured so that all or some of the embodiments may be selectively combined so that various modifications may be made.

Claims (8)

유전자 알고리즘(Genetic Algorithm)을 이용하여 게임 사용자 수준에 따른 NPC AI(Non Player Character Artificial Intelligence) 생성 방법에 있어서,
게임 특성에 맞는 수준의 레벨이 결정되는 단계;
상기 게임 사용자의 게임 레벨을 결정 및 게임 패턴에 따른 데이터를 저장하는 단계;
상기 게임 사용자의 게임 레벨에 따른 NPC AI의 레벨을 결정하는 단계;
상기에서 저장된 데이터 및 결정된 NPC AI의 레벨에 따라 NPC AI에 대한 파라미터를 생성하는 단계; 및
상기에서 생성된 파라미터를 게임에 적용하여 사용자 수준에 따른 NPC AI를 제공하는 단계;를 포함하며,
상기 NPC AI에 대한 파라미터를 생성하는 생성방법은,
상기 NPC AI에서 수준을 변경할 수 있는 파라미터를 선정하는 단계;
상기에서 선정한 파라미터를 초기화하는 단계;
상기에서 저장된 게임 사용자의 게임 패턴에 따른 데이터와 게임 특성에 맞는 수준의 레벨의 적합도를 계산하는 단계;
상기 적합도에 비례하여 임의로 부모를 선택하여 유전 연산자(Genetic Operator)에 의해 파라미터를 연산하는 단계; 및
상기 적합도가 미리 설정한 값 이상이면, 연산된 파라미터를 생성하는 단계;를 포함하는 게임 사용자 수준에 따른 NPC AI 제공방법.
In the method of generating NPC AI (Non Player Character Artificial Intelligence) according to game user level using a genetic algorithm (Genetic Algorithm),
Determining a level corresponding to a game characteristic;
Determining a game level of the game user and storing data according to a game pattern;
Determining a level of NPC AI according to the game level of the game user;
Generating a parameter for the NPC AI according to the stored data and the determined level of the NPC AI; And
And applying the generated parameter to the game to provide an NPC AI according to a user level.
Generation method for generating a parameter for the NPC AI,
Selecting a parameter capable of changing a level in the NPC AI;
Initializing the selected parameter;
Calculating a goodness of fit of a level suitable for game characteristics and data according to the game pattern of the game user stored above;
Calculating a parameter by a genetic operator by arbitrarily selecting a parent in proportion to the goodness of fit; And
And generating a calculated parameter when the goodness of fit is equal to or greater than a preset value.
청구항 1에 있어서,
상기 게임 패턴은 게임 사용자가 제어하는 캐릭터의 행동 및 게임의 상태를 포함하는 게임 사용자 수준에 따른 NPC AI 제공방법.
The method according to claim 1,
The game pattern is NPC AI providing method according to the game user level, including the behavior of the character and the game state controlled by the game user.
청구항 1에 있어서,
상기 게임 레벨은 NPC의 점수, 게임 사용자의 점수, NPC가 게임 사용자에게 입힌 데미지, 게임 사용자가 NPC에 입힌 데미지, NPC의 적중률, 및 게임 사용자의 적중률 중 어느 하나 이상으로 결정되는 게임 사용자 수준에 따른 NPC AI 제공방법.
The method according to claim 1,
The game level is determined according to the game user level determined by at least one of the score of the NPC, the score of the game user, the damage the NPC has done to the game user, the damage the game user has done to the NPC, the hit rate of the NPC, and the hit rate of the game user. How to provide NPC AI.
삭제delete 청구항 1에 있어서,
상기 파라미터는 NPC를 지능적으로 행동시키기 위해 가변되는 값 또는 정보를 의미하는 게임 사용자 수준에 따른 NPC AI 제공방법.
The method according to claim 1,
The parameter means a value or information that is variable to intelligently behave the NPC NPC AI providing method according to the user level.
청구항 1에 있어서,
상기 적합도가 미리 설정한 값 미만이면, 적합도가 미리 설정한 값 이상이 될 때까지 반복하여 파라미터 연산을 수행하는 단계;를 더 포함하는 게임 사용자 수준에 따른 NPC AI 제공방법.
The method according to claim 1,
If the goodness of fit is less than a preset value, repeatedly performing a parameter operation until the goodness of fit is equal to or more than a preset value.
청구항 1에 있어서,
상기에서 임의로 부모를 선택하는 방법은, 적합도 비례 선택법, 룰렛 선택법, 기대치 선택법, 순위 선택법, 및 토너먼트 선택법 중 어느 하나 이상을 이용하여 선택되는 게임 사용자 수준에 따른 NPC AI 제공방법.
The method according to claim 1,
The method of arbitrarily selecting a parent may be selected based on one or more of a suitability proportion selection method, a roulette selection method, an expectation selection method, a ranking selection method, and a tournament selection method.
청구항 1에 있어서,
상기 유전 연산자는 교배(crossover), 돌연변이(Mutation), 역위(Inversion), 치환(Displacement), 중복(Duplication), 추가(Addition), 제거(Deletion) 중 어느 하나 이상을 채택하는 게임 사용자 수준에 따른 NPC AI 제공방법.
The method according to claim 1,
The genetic operator may be based on a game user level that adopts at least one of crossover, mutation, inversion, displacement, duplication, addition, and deletion. How to provide NPC AI.
KR1020120057788A 2012-05-30 2012-05-30 Method for providing non player character artificial intelligence according to game user level KR101265051B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120057788A KR101265051B1 (en) 2012-05-30 2012-05-30 Method for providing non player character artificial intelligence according to game user level
PCT/KR2012/004306 WO2013180322A1 (en) 2012-05-30 2012-05-31 Method for providing npc ai according to the level of a game user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120057788A KR101265051B1 (en) 2012-05-30 2012-05-30 Method for providing non player character artificial intelligence according to game user level

Publications (1)

Publication Number Publication Date
KR101265051B1 true KR101265051B1 (en) 2013-05-16

Family

ID=48666347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120057788A KR101265051B1 (en) 2012-05-30 2012-05-30 Method for providing non player character artificial intelligence according to game user level

Country Status (2)

Country Link
KR (1) KR101265051B1 (en)
WO (1) WO2013180322A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519992B1 (en) * 2013-07-24 2015-05-15 (주)위메이드엔터테인먼트 Method of matching players in online game's PvP mode, a game server including PvP system, Computer readable storage medium of recording the method
KR101826081B1 (en) * 2016-06-03 2018-02-06 주식회사 엑스엘게임즈 Device, system and method of taking action on hack tool for online game
CN108031121A (en) * 2017-12-27 2018-05-15 苏州蜗牛数字科技股份有限公司 The method for realizing the AI behaviors of NPC in VR game
KR20210082590A (en) 2019-12-26 2021-07-06 주식회사 더재미 Method for matching players in online battle game based on ai, sever and computer readalbe stroage medium of recording the metohd

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107890674A (en) * 2017-11-13 2018-04-10 杭州电魂网络科技股份有限公司 AI behaviors call method and device
CN109200583A (en) * 2018-08-02 2019-01-15 苏州蜗牛数字科技股份有限公司 Control method, system and the storage medium of game NPC behavior
CN109529351B (en) * 2018-11-19 2023-03-24 网易(杭州)网络有限公司 Behavior ability control method and device of virtual object in game and storage medium
CN111450533B (en) * 2020-03-31 2022-06-24 腾讯科技(深圳)有限公司 Virtual object control method, device, terminal and storage medium in virtual scene
CN111672120A (en) * 2020-06-06 2020-09-18 腾讯科技(深圳)有限公司 Virtual object control method and device, computer equipment and storage medium
CN111803959B (en) * 2020-07-21 2022-05-31 腾讯科技(深圳)有限公司 Object control method, device, game server and medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100718334B1 (en) * 2004-08-30 2007-05-14 중앙대학교 산학협력단 Game difficulty control method for user interacting using artificial intelligence technique
CA2659672A1 (en) * 2006-06-26 2008-01-03 Icosystem Corporation Methods and systems for interactive customization of avatars and other animate or inanimate items in video games
US8069124B2 (en) * 2008-03-26 2011-11-29 Intel Corporation Combining speculative physics modeling with goal-based artificial intelligence
KR101231798B1 (en) * 2009-04-30 2013-02-08 한국전자통신연구원 Method and apparatus for controlling difficulty levels of game

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519992B1 (en) * 2013-07-24 2015-05-15 (주)위메이드엔터테인먼트 Method of matching players in online game's PvP mode, a game server including PvP system, Computer readable storage medium of recording the method
KR101826081B1 (en) * 2016-06-03 2018-02-06 주식회사 엑스엘게임즈 Device, system and method of taking action on hack tool for online game
CN108031121A (en) * 2017-12-27 2018-05-15 苏州蜗牛数字科技股份有限公司 The method for realizing the AI behaviors of NPC in VR game
CN108031121B (en) * 2017-12-27 2021-05-28 苏州蜗牛数字科技股份有限公司 Method for realizing AI (Artificial intelligence) behavior of NPC (neutral Point) in VR (virtual reality) game
KR20210082590A (en) 2019-12-26 2021-07-06 주식회사 더재미 Method for matching players in online battle game based on ai, sever and computer readalbe stroage medium of recording the metohd

Also Published As

Publication number Publication date
WO2013180322A1 (en) 2013-12-05

Similar Documents

Publication Publication Date Title
KR101265051B1 (en) Method for providing non player character artificial intelligence according to game user level
Cardamone et al. Evolving interesting maps for a first person shooter
Khalifa et al. General video game rule generation
Jacobsen et al. Monte mario: platforming with mcts
Nielsen et al. General video game evaluation using relative algorithm performance profiles
Liapis et al. Enhancements to constrained novelty search: Two-population novelty search for generating game content
US20100279762A1 (en) Apparatus and method for adjusting difficulty level of game
Liapis et al. Generating map sketches for strategy games
de Mesentier Silva et al. Evolving the hearthstone meta
Karavolos et al. Using a surrogate model of gameplay for automated level design
Mugrai et al. Automated playtesting of matching tile games
JP6748170B2 (en) Video game processing program, video game processing device, and video game processing method
Demediuk et al. Challenging ai: Evaluating the effect of mcts-driven dynamic difficulty adjustment on player enjoyment
US11007441B2 (en) Systems and methods for evolving content for computer games
KR101204318B1 (en) System and method for improving an item on the online game
JP7320212B2 (en) Game program, information processing device, game processing method, and game system
KR100718334B1 (en) Game difficulty control method for user interacting using artificial intelligence technique
Koesnaedi et al. Implementation drunkard’s walk algorithm to generate random level in roguelike games
JP2006149934A (en) Program, information storage medium, and game device
JP7417913B2 (en) Information processing system and information processing program
Norton et al. Monsters of Darwin: A strategic game based on artificial intelligence and genetic algorithms
Guarneri et al. GOLEM: Generator Of Life Embedded into MMOs.
Bakkes et al. Involving player experience in dynamically generated missions and game spaces
KR101980870B1 (en) Apparatus and method for providing game service based on game player level
Weeks et al. Adventure game with a neural network controlled non-playing character

Legal Events

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

Payment date: 20160510

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180510

Year of fee payment: 6