KR20200070677A - 게임 환경에서의 에이전트 생성 장치 및 그 방법 - Google Patents

게임 환경에서의 에이전트 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR20200070677A
KR20200070677A KR1020180158085A KR20180158085A KR20200070677A KR 20200070677 A KR20200070677 A KR 20200070677A KR 1020180158085 A KR1020180158085 A KR 1020180158085A KR 20180158085 A KR20180158085 A KR 20180158085A KR 20200070677 A KR20200070677 A KR 20200070677A
Authority
KR
South Korea
Prior art keywords
agent
game
gamers
match
generating
Prior art date
Application number
KR1020180158085A
Other languages
English (en)
Inventor
이상광
양성일
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020180158085A priority Critical patent/KR20200070677A/ko
Priority to US16/707,781 priority patent/US11260302B2/en
Publication of KR20200070677A publication Critical patent/KR20200070677A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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/63Generating 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 by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • 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/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/69Generating 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 by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • 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
    • 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/85Providing additional services to players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • 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/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • A63F2300/634Methods for processing data by generating or executing the game program for controlling the execution of the game in time for replaying partially or entirely the game actions since the beginning of the game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

게임 환경에서 에이전트를 생성하는 에이전트 생성 방법이 개시된다. 이 생성 방법은, 상기 에이전트 생성 장치가, 게이머들의 공통된 행동 특성 패턴을 기반으로 기저 에이전트를 생성하여, 상기 게임 서버로 전달하는 단계; 상기 에이전트 생성 장치가, 상기 게임 서버로부터, 상기 기저 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 대전 결과 데이터를 전달받는 단계; 및 상기 에이전트 생성 장치가, 상기 대전 결과 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 단계를 포함한다.

Description

게임 환경에서의 에이전트 생성 장치 및 그 방법{System and method for creating agent NPC in a game environment}
본 발명은 게임 환경에서 에이전트를 생성하는 기술에 관한 것이다.
게임 환경 내에서 게이머 대 게이머(Player VS Player, PvP) 콘텐츠는 PvE(player versus environment) 콘텐츠의 반대말로 플레이어의 캐릭터가 다른 플레이어의 캐릭터와 대적하는 게임 내의 행동과 관련된 콘텐츠를 의미한다.
PvP 대전 정합(matchmaking) 방식의 대표적인 예로 Arpad Elo의 ELO rating system과 Microsoft Research의 TrueSkill 2 등이 있다. 이 방식들은 게임 내 플레이어의 순위를 결정하기 위해 플레이어들의 상대적인 스킬 레벨을 계산한다. 즉, 주로 게이머들 간의 대전 정합을 위해 상대적인 순위를 정해주는 시스템이다. 따라서, 게임 내 플레이하는 게이머 수가 적을 경우 정합에 따른 편차가 크다는 단점이 있다.
또한, 상술한 방식들을 게이머 대 대전 에이전트(player versus environment; PvE)에 적용할 경우에도, 이미 준비된 대전 에이전트만으로 각 게이머 스킬 레벨에 맞게 정합되므로 게이머 특성에 면밀히 대응할 수 없다.
선행 특허로는, 에이전트 기반 게임 서비스 장치 및 방법(공개번호: 10-2012-0075527)이 있다. 이는 게이머 로그 데이터로부터 NPC(non-player character) 형태의 에이전트를 생성하고 게임에 적용함으로써, 에이전트가 게이머를 대신하여 게임을 진행할 수 있는 에이전트 기반 게임 서비스 장치 및 방법에 관한 것이다. 이 특허문헌은 각 게이머에 대한 에이전트와 게임 플레이 패턴별 에이전트가 독립적으로 운영되어 선택할 수 있도록 되어 있어 각 게이머 행동 특성에 충분히 커스터마이징된 대전 에이전트의 생성이 어렵다.
따라서, 본 발명의 목적은 각 게이머 행동 특성에 커스터마이징된 에이전트를 생성하는 방법 및 그 장치를 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 게임 환경에서의 에이전트 생성 방법은, 상기 에이전트 생성 장치가, 게이머들의 공통된 행동 특성 패턴을 기반으로 기저 에이전트를 생성하여, 상기 게임 서버로 전달하는 단계; 상기 에이전트 생성 장치가, 상기 게임 서버로부터, 상기 기저 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 대전 결과 데이터를 전달받는 단계; 및 상기 에이전트 생성 장치가, 상기 대전 결과 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 단계를 포함한다.
본 발명의 다른 일면에 따른 게임 환경에서의 에이전트 생성 장치는, 게임 서버로부터 전달된 게임 로그 데이터를 수집하는 저장소; 및 상기 게임 로그 데이터를 기반으로, 게이머들과의 대전 정합을 위한 기저 에이전트를 생성하여, 상기 게임 서버로 전달하고, 상기 게임 서버로부터, 상기 기저 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 대전 결과 데이터를 전달받고, 상기 대전 결과 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 학습 프로세서;를 포함한다.
본 발명에 따르면, 게이머와 에이전트 간의 대전(전투)가 거듭될수록 각 게이머 행동 특성 패턴에 더욱 더 커스터마이징된 에이전트를 생성함으로써, 게이머들에게는 게임 몰입도를, 게임 서비스 업체에게는 이로 이한 수익성을 높일 수 있는 효과를 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 게임 환경에서의 에이전트 생성 장치를 포함하는 게임 시스템을 도시한 블록도.
도 2는 본 발명의 일 실시 예에 따른 학습 프로세서의 내부 로직을 도시한 블록도.
도 3은 본 발명의 일 실시 예에 따른 게임 환경에서의 에이전트 생성 방법을 나타내는 흐름도.
도 4는 도 3에 도시한 단계 S310의 상세 흐름도.
도 5는 도 3에 도시한 단계 S330의 상세 흐름도.
도 6은 본 발명의 에이전트 생성 장치 및 방법을 실행하는 컴퓨팅 시스템을 예시하는 블록도.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한 다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
이하, 첨부된 도면을 참조하여 다양한 실시 예에 따른 게임 환경에서의 에이전트 생성 장치 및 그 방법에 대해 상세히 설명하기로 한다. 상세한 설명에 앞서, 본 명세서 전반에 걸쳐 사용되는 용어 '에이전트'가 사용되는 데, 에이전트는 게이머가 조작하는 캐릭터와 대전하는 대상 객체와 관련된 소프트웨어 컴포넌트로 정의할 수 있다. 특히, 본 명세서에서 용어 '진화된 에이전트'는 NPC 형태의 에이전트와 같이 게이머에게 단순한 서비스를 제공하는 것이 아니라 인공 지능에 의해 스스로 학습을 진행하여 게임 내에서 게이머의 대전 행위(전투 행위)와 관련된 행동 특성 패턴에 커스터마이징된 대상으로 스스로 진화하는 지능형 에이전트로 정의할 수 있다.
도 1은 본 발명의 실시 예에 따른 게임 환경에서의 에이전트 생성 장치를 포함하는 게임 시스템을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 게임 시스템(300)은 게임 서버(100)와 에이전트 생성 장치(100)를 포함한다.
게임 서버(100)는 로그인된 게이머에게 온라인 게임을 제공하는 컴퓨팅 장치로서, 개별 게이머의 게임 로그 데이터를 에이전트 생성 장치(200)로 제공(전달)한다. 게임 로그 데이터는 게이머 정보(사용자 정보), 게이머 별 캐릭터 능력치와 관련된 데이터 및 게이머 별 게임 플레이 패턴과 관련된 데이터를 포함할 수 있다.
게이머별 캐릭터 능력치와 관련된 데이터는, 예를 들면, 공격력, 경험치 레벨, 방어력, 생명력, 보유한 스킬의 종류와 관련된 데이터일 수 있다.
게이머별 게임 플레이 패턴과 관련된 데이터는 게이머의 캐릭터가 수행하는 에이전트에 대한 공격 플레이 패턴과 관련된 데이터와 방어 플레이 패턴과 관련된 데이터를 포함한다.
공격 플레이 패턴과 관련된 데이터는, 예를 들면, 에이전트에 가한 공격 횟수, 대상 객체에 가해지는 피해량, 에이전트를 공격하기 위해 게이머가 입력한 입력값(키보드, 마우스 등의 조작값) 등과 관련된 데이터일 수 있다.
방어 플레이 패턴과 관련된 데이터는, 예를 들면, 에이전트의 공격을 막기 위해 사용하는 방어 스킬(예를 들면, 패시브 스킬)의 사용 횟수, 에이전트의 공격을 피하기 위해 이동한 횟수(마우스, 키보드의 조작값) 등과 관련된 데이터일 수 있다.
또한, 게임 서버(100)는 게이머의 캐릭터와 에이전트 간의 대전을 위한 정합(matchmaking, 전투 매칭)을 제공하며, 정합된 게이머의 캐릭터와 에이전트 간의 대전 콘텐츠를 제공한다.
또한, 게임 서버(100)는 정합된 게이머의 캐릭터와 에이전트 간의 대전(전투)을 수행한 결과(이하, 대전 결과 데이터)를 에이전트 생성 장치(200)로 제공(전달)한다.
에이전트 생성 장치(200)는 게임 서버(100)로부터 제공된 게임 로그 데이터와 대전 결과 데이터를 기반으로 개별 게이머(또는 개별 캐릭터)의 대전 정합(또는 전투 매칭)에 커스터마이징(customizing)된 진화된 에이전트를 지능적으로 생성한다.
이를 위해, 에이전트 생성 장치(200)는 저장소(210)와 학습 프로세서(220)를 포함한다.
저장소(210)에는, 로그 데이터베이스(212, 로그 DB), 행동 특성 데이터베이스(214, 행동 특성 DB) 및 로컬 로그 데이터베이스(216, 로컬 로그 DB)가 저장된다.
로그 데이터베이스(212, 로그 DB)에는 게임 서버(100)로부터 제공된 게임 로그 데이터가 저장된다. 학습 프로세서(220)에 의해 게임 로그 데이터를 기반으로 분석된 각 게이머(캐릭터)의 행동 특성 패턴이 저장된다. 로컬 로그 데이터베이스(216)에는 게임 서버(100)로부터 제공된 대전 결과 데이터가 저장된다. 여기서, 대전 결과 데이터(전투 결과 데이터)는 아래에서 설명하겠지만, 각 게이머(캐릭터)와 에이전트 간의 대전을 수행한 결과 데이터를 의미한다.
학습 프로세서(220)는 로그 데이터베이스(212, 로그 DB)에 저장된 게임 로그 데이터와 로컬 로그 데이터베이스(216)에 저장된 대전 결과 데이터를 기반으로 기계 학습을 수행하고, 기계 학습을 수행한 결과에 따라 각 개별 게이머(또는 개별 캐릭터)의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성한다. 이때, 기계 학습은 지도 학습 및 비지도 학습을 포함할 수 있다.
학습 프로세서(220)는 진화된 에이전트와 개별 게이머(개별 캐릭터) 간의 대전을 위해, 진화된 에이전트를 게임 서버(100)로 제공하고, 게임 서버(100)는 개별 게이머(또는 개별 캐릭터)와 진화된 에이전트 간의 대전 행위에 따른 업데이트된 대전 결과 데이터를 다시 학습 프로세서(220)로 제공한다.
학습 프로세서(220)는 업데이트된 대전 결과 데이터를 기반으로 기계 학습을 다시 수행하고, 기계 학습을 다시 수행한 결과에 따라 각 개별 게이머(또는 개별 캐릭터)의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 더욱 진화시킨다.
이처럼 학습 프로세서(220)는 개별 게이머(또는 개별 캐릭터)와 에이전트 간의 대전 행위가 반복할수록 에이전트가 각 개별 게이머(또는 개별 캐릭터)의 대전 정합에 커스터마이징(customizing)되도록 에이전트를 계위적(scalable)으로 진화시킬 수 있다.
이하, 도 2를 참조하여, 학습 프로세서(220)에 대해 더욱 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 학습 프로세서의 내부 로직을 도시한 블록도이다.
도 2를 참조하면, 학습 프로세서(220)는 SoC(system on chip) 또는 SiP(system in package)으로 구현될 수 있다. 프로세서(220)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 진화된 에이전트를 생성하기 위한 각종 데이터 처리, 연산 및 알고리즘 등을 실행할 수 있다.
학습 프로세서(220)는, 각 개별 게이머(또는 개별 캐릭터)의 대전 정합에 커스터마이징(customizing)되도록 에이전트를 생성하기 위해, 기능별로 구분되는 다수의 내부 로직들로 구성될 수 있다.
도 2에서 도시한 내부 로직들은 설명의 이해를 돕기 위해 기능 단위로 구분한 것에 불과하며, 학습 프로세서(220)가 도 2에서 도시한 내부 로직들로 구분되어야 함을 한정하는 것은 아니다. 따라서, 도 2에서 도시한 일부 로직들은 다른 하나의 로직에 포함되거나, 게임 서버(100) 내에 포함될 수 있다.
또한, 데이터베이스들(212, 214, 216)이 저장된 저장소(210) 및 학습 프로세서(220) 모두 게임 서버(100) 내에 포함될 수 있다.
학습 프로세서(220)는, 행동 특성 분석 로직(221), 군집화 로직(223), 기저 에이전트 생성 로직(225), 진화 속성 분석 로직(227), 에이전트 진화 로직(229)를 포함한다.
행동 특성 분석 로직(221)는 로그 데이터 베이스(212)에 저장된 게임 로그 데이터의 패턴, 규칙, 관계 등을 분석하여, 게이머들의 행동 특성 패턴을 생성한다. 행동 특성 패턴은, 예를 들면, n차원의 벡터 공간에서 표현되는 벡터값일 수 있다.
벡터값은, 예를 들면, 데이터의 차원 변환(예를 들면, 데이터의 차원 축소)과 관련된 데이터 마이닝(또는 데이터 변환 알고리즘)을 이용하여 게임 로그 데이터로부터 계산될 수 있다. 본 발명은 데이터 변환 알고리즘에 특징이 있는 것이 아니므로, 이에 대한 설명은 공지기술로 대신한다.
군집화 로직(223)은 게이머들의 공통된 행동 특성 패턴(유사도가 높은 행동 특성 패턴)을 기반으로 상기 게이머들을 다수의 군집으로 군집화한다. 예를 들면, 군집화 로직(223)은 행동 특성 분석 로직(221)에 의해 생성된 게이머들의 행동 특성 패턴들(벡터값들) 중에서 유사도가 높은 다수의 군집으로 군집화하는 방식으로 상기 게이머들을 다수의 군집으로 군집화할 수 있다.
상기 게이머들을 다수의 군집으로 군집화하는 방법으로, 분할적 군집화(partitional clustering, 예를 들어, K-means Clustering), 계층적 군집화(hierarchical clustering), Self-Organizing map, Spectral clustering 등이 이용될 수 있다.
기저(base) 에이전트 생성 로직(225)은 군집화 로직(223)에 의해 생성된 각 군집에 대응하는 기저 에이전트를 생성한다. 이때, 기저 에이전트는 각 군집을 대표하는 기저 에이전트일 수 있다. 예를 들면, 기저 에이전트는 각 군집의 대표값에 대응하는 에이전트일 수 있다. 대표값은 각 군집에 포함된 벡터값들의 대표값으로서, 벡터값들의 중심값 또는 평균값일 수 있다.
대표값과 기저 에이전트 간의 대응 관계는 초기에 설정된 대전 정합 테이블에 의해 설정될 수 있다. 대전 정합 테이블은 대표값 별로 설정된 기저 에이전트의 능력치(공격력, 생명력, 체력, 방어력 등)를 포함하는 테이블일 수 있다. 이러한 대전 정합 테이블은 저장소(210)의 임의의 저장 영역에 저장될 수 있다.
이와 같이, 기저 에이전트는 각 군집을 대표하는 에이전트로서, 개별 게이머와의 대전 정합에 최적화된 에이전트가 아니라 게이머들의 공통된 행동 특성 패턴(공통된 공격 플레이 패턴과 공통된 방어 플레이 패턴)에 대응하는 에이전트라는 점을 주목해야 한다.
기저 에이전트 생성 로직(225)은 게임 서버(100)의 요청에 따라 기저 에이전트를 게임 서버(100)로 제공하거나, 게임 서버(100)의 요청 없이, 실시간으로 제공할 수 있다.
게임 서버(100)는, 기저 에이전트 생성 로직(225)로부터 군집 별로 생성된 기저 에이전트들을 전달받고, 개별 게이머의 대전 요청에 따라, 상기 전달받은 기저 에이전트들 중에서 개별 게이머가 속한 군집에 따라 기저 에이전트를 선별하는 방식으로 개별 게이머와 기저 에이전트의 대전 정합을 실행한다.
개별 게이머의 대전 요청은 개별 게이머의 캐릭터가 게임 내의 특정 지역으로 진입하는 행위일 수 있다. 게임 서버(100)는 캐릭터가 게임 내의 특정 지역(게임 내의 던전 또는 사냥터)으로 전입하면, 이러한 행위를 개별 게이머의 대전 요청으로 인식하고, 특정 지역에 개별 게이머가 속한 군집에 대응하는 기저 에이전트를 출몰시키는 방식으로 개별 게이머와 기저 에이전트 간의 대전을 실행할 수 있다.
게임 서버(100)는 개별 게이머와 기저 에이전트 간의 대전이 완료되면, 상기 기저 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 대전 결과 데이터를 생성하고, 이를 저장소(210)의 로컬 로그 데이터베이스(216) 및 로그 데이터베이스(212)에 저장한다. 이때, 로컬 로그 데이터베이스(216)에 저장된 대전 결과 데이터는 로컬 로그 데이터로서 저장되고, 로그 데이터베이스(212)에 저장되는 대전 결과 데이터는 게임 로그 데이터에 포함된 형태로 로그 데이터베이스(212)에 저장될 수 있다.
개별 게이머와 기저 에이전트 간의 대전은 개별 게이머의 캐릭터 사망, 기저 에이전트의 처치 또는 개별 게이머가 대전을 위해 진입한 특정 지역으로부터 이탈 이벤트가 발생하면, 완료될 수 있다.
대전 완료에 따라 생성되는 대전 결과 데이터는, 예를 들면, 상기 개별 게이머가 조작하는 캐릭터의 능력치(캐릭터가 보유한 아이템 능력치, 공격력, 생명력, 방어력, 보유한 스킬의 종류), 상기 기저 에이전트의 능력치(레벨, 공격력, 생명력, 방어력, 보유한 스킬의 종류), 대전 과정에서 상기 기저 에이전트가 사용한 스킬의 종류, 상기 캐릭터가 상기 기저 에이전트에 가한 데미지(피해량), 상기 캐릭터가 상기 기저 에이전트로부터 받은 데미지(피해량), 상기 캐릭터의 사망시점에서 상기 기저 에이전트에 남아있는 생명력, 상기 기저 에이전트의 처치시점에서 상기 캐릭터에 남아 있는 생명력, 상기 기저 에이전트의 사망시점까지 상기 캐릭터가 상기 기저 에이전트를 공격한 횟수, 상기 기저 에이전트의 사망시점까지 소요된 시간, 대전 과정에서 상기 캐릭터가 상기 기저 에이전트의 공격을 피하기 위해 이동한 횟수, 상기 기저 에이전트와의 대전 과정에서 상기 캐릭터가 체력을 보충하기 위해 사용한 물약의 개수와 관련된 데이터를 포함할 수 있다.
이러한 대전 결과 데이터는 개별 게이머(캐릭터)와 기저 에이전트가 대전을 수행하여 생성된 결과로서, 일종의 개별 게이머의 개별 행동 특성 패턴으로 볼 수 있는 점을 주목할 필요가 있다.
진화 속성 분석 로직(227)은 로컬 로그 데이터베이스(216)에 저장된 로컬 로그 데이터에 포함된 대전 결과 데이터를 분석하여, 상기 기저 에이전트를 진화시키기 위한 속성 데이터를 추출한다. 이때, 속성 데이터는 상기 기저 에이전트를 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)화 하는 데 필요한 데이터로서, 예를 들면, 상기 기저 에이전트의 능력치(공격력, 스킬 공격력, 크리티컬 데미지(결정적 공격력), 방어력, 생명력)에 대한 감소량과 관련된 데이터일 수 있다.
에이전트 진화 로직(229)은 진화 속성 분석 로직(227)으로부터의 속성 데이터와 기저 에이전트 생성 로직(225)으로부터의 기저 에이전트를 입력으로 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 예측하여 생성한다. 이때, 기계 학습은 지도 학습 및 비지도 학습을 포함하며, 이들이 혼합된 학습일 수 있다. 기계 학습의 예로, 심층 신경망(딥-러닝)이 있을 수 있다.
에이전트 진화 로직(229)이 진화된 에이전트를 생성하기까지의 과정을 고찰하면, 본 발명의 실시 예에 따른 에이전트 생성 장치는 동일한 군집에 속하는 게이머들의 공통된 행동 특성 패턴을 기반으로 생성된 기저 에이전트와 이러한 기저 에이전트와 개별 게이머(개별 캐릭터) 간의 대전 수행 결과에 따른 개별 게이머의 개별 행동 특성 패턴을 모두 고려하여 진화된 에이전트를 생성하는 것으로 볼 수 있다.
따라서, 본 발명의 실시 예에 따른 에이전트 생성 장치(200)는 각 게이머의 캐릭터에 대응하는 에이전트를 생성하는 과정과 각 게이머의 게임 플레이 패턴별로 에이전트를 생성하는 과정이 서로 독립적으로 수행되는 것이 아니라 게이머들의 공통된 행동 특성 패턴과 개별 행동 특성 패턴을 모두 고려하여 에이전트를 생성하는 점에서 기존의 선행문헌과 분명한 차이점이 있다.
이러한 차이점으로 인해, 본 발명의 실시 예에 따른 에이전트 생성 장치(200)는 개별 게이머 행동 특성 패턴에 충분히 커스터마이징된 대전 에이전트를 생성할 수 있는 기술적 효과를 발휘할 수 있다.
한편, 본 발명의 실시 예에 따른 에이전트 생성 장치(200)는 개별 게이머(캐릭터)와 에이전트가 대전(전투)을 반복할수록 개별 게이머의 행동 특성 패턴에 더욱 정밀하게 커스터마이징된 에이전트, 즉, 계위적(scalable)으로 진화된 에이전트를 생성할 수 있다.
구체적으로, 에이전트 진화 로직(229)에 의해 최초 생성된 진화된 에이전트는 게임 서버(100)로 전달되고, 게임 서버는 최초 생성된 진화된 에이전트와 개별 게이머간의 대전 수행을 통해 업데이트된 대전 결과 데이터를 생성하고, 진화 속성 분석 로직(227)과 에이전트 진화 로직(229)의 각 처리 과정에 의해, 상기 생성된 업데이트된 대전 결과 데이터와 이전의 진화된 에이전트를 이용하여 기계학습을 수행함으로써, 이전의 진화된 에이전트보다 개별 게이머의 대전 정합에 커스터마이징된 더욱 진화된 에이전트가 생성될 수 있다.
따라서, 본 발명의 실시 예에 따른 에이전트 생성 장치(200)는 개별 게이머(캐릭터)와 에이전트 간의 대전(전투)이 반복될수록 개별 게이머의 행동 특성 패턴에 더욱 정밀하게 커스터마이징된 에이전트, 즉, 계위적(scalable)으로 진화된 에이전트를 생성할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 게임 환경에서의 에이전트 생성 방법을 나타내는 흐름도이다.
도 3을 참조하면, 먼저, S310에서, 에이전트 생성 장치(200) 또는 학습 프로세서(220)에서, 게이머들의 공통된 행동 특성 패턴을 기반으로 기저 에이전트를 생성한 후, 이를 게임 서버로 전달하는 과정이 수행된다.
이어, S320에서, 에이전트 생성 장치(200) 또는 학습 프로세서(220)에서, 상기 게임 서버로부터, 상기 기저 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 대전 결과 데이터를 전달받는 과정이 수행된다.
이어, S330에서, 에이전트 생성 장치(200) 또는 학습 프로세서(220)에서, 상기 대전 결과 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 과정이 수행된다.
한편, S330 이후, 에이전트 생성 장치(200) 또는 학습 프로세서(220)에서, 상기 진화된 에이전트를 상기 게임 서버로 전달하는 과정이 수행된다.
이어, 에이전트 생성 장치(200) 또는 학습 프로세서(220)에서, 상기 게임 서버로부터, 상기 진화된 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 업데이트된 대전 결과 데이터를 전달받는 과정이 수행된다.
이어, 에이전트 생성 장치(200) 또는 학습 프로세서(220)에서, 상기 업데이트된 대전 결과 데이터를 기반으로 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 진화된 에이전트를 계위적(scalable)으로 진화시키는 과정이 수행된다.
도 4는 도 3에 도시한 단계 S310의 상세 흐름도이다.
도 4를 참조하면, 먼저, S312에서, 게임 서버로부터 게이머들의 게임 로그 데이터를 획득하는 과정이 수행된다.
이어, S314에서, 상기 게임 로그 데이터를 기반으로, 게이머들의 행동 특성 패턴을 분석하는 과정이 수행된다.
이어, S316에서, 각 게이머의 행동 특성 패턴을 분석한 결과를 기반으로, 상기 게이머들을 상기 공통된 행동 특성 패턴을 갖는 게이머들로 군집화하여, 상기 다수의 군집을 생성하는 과정이 수행된다.
이어, S318에서, 각 군집에 대응하는 상기 기저 에이전트를 생성하는 과정이 수행된다.
도 5는 도 3에 도시한 단계 S330의 상세 흐름도이다.
도 5를 참조하면, S332에서, 상기 대전 결과 데이터를 분석하여, 상기 기저 에이전트를 진화시키기 위한 속성 데이터를 추출하는 과정이 수행된다.
이어, S334에서, 상기 추출된 속성 데이터를 이용하여 기계 학습을 수행하는 과정이 수행된다.
이어, S336에서, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 과정이 수행된다.
도 6은 본 발명의 에이전트 생성 장치 및 방법을 실행하는 컴퓨팅 시스템을 예시하는 블록도이다.
도 6을 참조하면, 컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 명령어들은 진화된 에이전트를 생성과 관련된 것일 수 있다.
메모리(1300) 및 스토리지(1600)는 도 1 및 2에 도시한 데이터베이스들(212, 214, 216)을 저장하기 위한 것으로, 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 본질적 특성을 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다.
따라서, 본 발명에 표현된 실시예들은 본 발명의 기술적 사상을 한정하는 것이 아니라, 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 권리범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하고, 그와 동등하거나, 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 게임 환경에서 에이전트를 생성하여 게임 서버로 제공하는 에이전트 생성 장치의 에이전트 생성 방법에서,
    상기 에이전트 생성 장치가, 게이머들의 공통된 행동 특성 패턴을 기반으로 기저 에이전트를 생성하여, 상기 게임 서버로 전달하는 단계;
    상기 에이전트 생성 장치가, 상기 게임 서버로부터, 상기 기저 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 대전 결과 데이터를 전달받는 단계; 및
    상기 에이전트 생성 장치가, 상기 대전 결과 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 단계
    를 포함하는 게임 환경에서의 에이전트 생성 방법.
  2. 제1항에서,
    상기 진화된 에이전트를 생성하는 단계 이후에,
    상기 에이전트 생성 장치가, 상기 진화된 에이전트를 상기 게임 서버로 전달하는 단계;
    상기 에이전트 생성 장치가, 상기 게임 서버로부터, 상기 진화된 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 업데이트된 대전 결과 데이터를 전달받는 단계; 및
    상기 에이전트 생성 장치가, 상기 업데이트된 대전 결과 데이터를 기반으로 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 진화된 에이전트를 계위적(scalable)으로 진화시키는 단계;
    를 포함하는 게임 환경에서의 에이전트 생성 방법.
  3. 제1항에서,
    상기 게임 서버로 전달하는 단계는,
    상기 게이머들의 공통된 행동 특성 패턴을 기반으로 상기 게이머들을 다수의 군집으로 군집화하는 단계; 및
    각 군집에 대응하는 상기 기저 에이전트를 생성하는 단계
    를 포함하는 게임 환경에서의 에이전트 생성 방법.
  4. 제3항에서, 상기 군집화하는 단계는,
    상기 게임 서버로부터 게이머들의 게임 로그 데이터를 전달받는 단계;
    상기 게임 로그 데이터를 기반으로, 게이머들의 행동 특성 패턴을 분석하는 단계; 및
    각 게이머의 행동 특성 패턴을 분석한 결과를 기반으로, 상기 게이머들을 상기 공통된 행동 특성 패턴을 갖는 게이머들로 군집화하여, 상기 다수의 군집을 생성하는 단계;
    를 포함하는 게임 환경에서의 에이전트 생성 방법.
  5. 제1항에서,
    상기 대전 결과 데이터는,
    상기 개별 게이머가 조작하는 캐릭터의 능력치(캐릭터가 보유한 아이템 능력치, 공격력, 생명력, 방어력, 보유한 스킬의 종류), 상기 기저 에이전트의 능력치(레벨, 공격력, 생명력, 방어력, 보유한 스킬의 종류), 대전 과정에서 상기 캐릭터가 사용한 스킬의 종류, 상기 기저 에이전트에 가한 피해량, 상기 기저 에이전트로부터 받은 피해량, 상기 캐릭터의 사망시점에서 상기 기저 에이전트에 남아있는 생명력, 상기 기저 에이전트의 사망시점에서 상기 캐릭터에 남아 있는 생명력, 상기 기저 에이전트의 사망시점까지 상기 캐릭터가 상기 기저 에이전트를 공격한 횟수, 상기 기저 에이전트의 사망시점까지 소요된 시간, 대전 과정에서 상기 캐릭터가 상기 기저 에이전트의 공격을 피하기 위해 이동한 횟수, 대전 과정에서 상기 캐릭터가 체력을 보충하기 위해 사용한 물약의 개수와 관련된 데이터를 포함하는 것인 게임 환경에서의 에이전트 생성 방법.
  6. 제1항에서,
    상기 진화된 에이전트를 생성하는 단계는,
    상기 대전 결과 데이터를 분석하여, 상기 기저 에이전트를 진화시키기 위한 속성 데이터를 추출하는 단계; 및
    상기 추출된 속성 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 단계
    를 포함하는 게임 환경에서의 에이전트 생성 방법.
  7. 제6항에서,
    상기 속성 데이터는,
    상기 기저 에이전트의 능력치(공격력, 스킬 공격력, 크리티컬 데미지(결정적 공격력), 방어력, 생명력)에 대한 감소량과 관련된 데이터인 것인
    게임 환경에서의 에이전트 생성 방법.
  8. 게임 서버로부터 전달된 게임 로그 데이터를 수집하는 저장소; 및
    상기 게임 로그 데이터를 기반으로, 게이머들과의 대전 정합을 위한 기저 에이전트를 생성하여, 상기 게임 서버로 전달하고, 상기 게임 서버로부터, 상기 기저 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 대전 결과 데이터를 전달받고, 상기 대전 결과 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 학습 프로세서;
    를 포함하는 게임 환경에서의 에이전트 생성 장치.
  9. 제8항에서, 상기 학습 프로세서는,
    상기 진화된 에이전트를 상기 게임 서버로 전달하고, 상기 게임 서버로부터, 상기 진화된 에이전트와 개별 게이머의 캐릭터 간의 대전을 수행하여 획득한 업데이트된 대전 결과 데이터를 전달받고, 상기 업데이트된 대전 결과 데이터를 기반으로 기계 학습을 수행하여, 상기 기계 학습을 수행한 결과에 따라 상기 진화된 에이전트를 계위적(scalable)으로 진화시키는 것인 게임 환경에서의 에이전트 생성 장치.
  10. 제8항에서, 상기 학습 프로세서는,
    상기 게이머들의 공통된 행동 특성 패턴을 기반으로 상기 게이머들을 다수의 군집으로 군집화하고, 각 군집에 대응하는 상기 기저 에이전트를 생성하는 것인 게임 환경에서의 에이전트 생성 장치.
  11. 제10항에서, 상기 학습 프로세서는,
    상기 저장소로부터 상기 게임 로그 데이터를 전달받고, 상기 게임 로그 데이터를 이용하여, 각 게이머의 행동 특성 패턴을 분석하는 행동 특성 분석 로직; 및
    각 게이머의 행동 특성 패턴을 분석한 결과를 기반으로, 상기 게이머들을 상기 공통된 행동 특성 패턴을 갖는 게이머들로 군집화하여, 상기 다수의 군집을 생성하는 군집화 로직;
    을 포함하는 것인 게임 환경에서의 에이전트 생성 장치.
  12. 제8항에서, 상기 학습 프로세서는,
    상기 대전 결과 데이터를 분석하여, 상기 기저 에이전트를 진화시키기 위한 속성 데이터를 추출하는 진화 속성 분석 로직; 및
    상기 추출된 속성 데이터를 이용하여 기계 학습을 수행하고, 상기 기계 학습을 수행한 결과에 따라 상기 개별 게이머의 대전 정합에 커스터마이징(customizing)된 진화된 에이전트를 생성하는 에이전트 진화 로직
    을 포함하는 것인 게임 환경에서의 에이전트 생성 장치.
  13. 제12항에서, 상기 진화 속성 분석 로직은,
    상기 기저 에이전트의 능력치(공격력, 스킬 공격력, 크리티컬 데미지(결정적 공격력), 방어력, 생명력)에 대한 감소량과 관련된 상기 속성 데이터를 추출하는 것인 게임 환경에서의 에이전트 생성 장치.
KR1020180158085A 2018-12-10 2018-12-10 게임 환경에서의 에이전트 생성 장치 및 그 방법 KR20200070677A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180158085A KR20200070677A (ko) 2018-12-10 2018-12-10 게임 환경에서의 에이전트 생성 장치 및 그 방법
US16/707,781 US11260302B2 (en) 2018-12-10 2019-12-09 Apparatus and method of creating agent in game environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180158085A KR20200070677A (ko) 2018-12-10 2018-12-10 게임 환경에서의 에이전트 생성 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20200070677A true KR20200070677A (ko) 2020-06-18

Family

ID=70972397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180158085A KR20200070677A (ko) 2018-12-10 2018-12-10 게임 환경에서의 에이전트 생성 장치 및 그 방법

Country Status (2)

Country Link
US (1) US11260302B2 (ko)
KR (1) KR20200070677A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021202552A1 (en) 2020-03-30 2021-10-07 Oracle International Corporation Improved techniques for out-of-domain (ood) detection
TWI725911B (zh) * 2020-08-26 2021-04-21 國立臺灣師範大學 桌遊教具
KR20220086872A (ko) * 2020-12-17 2022-06-24 한국전자통신연구원 인공지능 에이전트를 이용한 게임 품질 보증 방법 및 시스템
US20230249082A1 (en) * 2022-02-08 2023-08-10 Sony Group Corporation Training architecture using game consoles
US11745109B2 (en) 2022-02-08 2023-09-05 Sony Group Corporation Methods for controlling use of computing resources, such as virtual game consoles
CN115944921B (zh) * 2023-03-13 2023-05-23 腾讯科技(深圳)有限公司 游戏数据处理方法、装置、设备及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6561513B1 (en) * 1999-11-18 2003-05-13 Degeorge Andrew Role and war game playing system
US8348733B2 (en) 2009-12-21 2013-01-08 Electronics And Telecommunications Research Institute Apparatus and method for analyzing characteristic of game player in real time
KR20120075527A (ko) 2010-11-22 2012-07-09 한국전자통신연구원 에이전트 기반 게임 서비스 장치 및 방법
US8425330B1 (en) * 2012-05-16 2013-04-23 Wargaming.net, LLC Dynamic battle session matchmaking in a multiplayer game
JP5312707B2 (ja) 2013-05-16 2013-10-09 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
US10322351B2 (en) * 2014-07-03 2019-06-18 Activision Publishing, Inc. Matchmaking system and method for multiplayer video games
US10118099B2 (en) * 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
KR101892739B1 (ko) 2016-09-30 2018-08-28 한국전자통신연구원 게임 운영 시나리오 생성 장치 및 그 방법

Also Published As

Publication number Publication date
US20200179808A1 (en) 2020-06-11
US11260302B2 (en) 2022-03-01

Similar Documents

Publication Publication Date Title
KR20200070677A (ko) 게임 환경에서의 에이전트 생성 장치 및 그 방법
CN109499068B (zh) 对象的控制方法和装置、存储介质、电子装置
JP7121014B2 (ja) ユーザ分析システムおよび方法
CN103198358B (zh) 信息处理设备、信息处理方法和程序
Bakkes et al. Rapid and reliable adaptation of video game AI
CN108553903B (zh) 控制机器人玩家方法及装置
Justesen et al. Script-and cluster-based UCT for StarCraft
CN109794065B (zh) 游戏角色创建方法、装置、电子设备及存储介质
CN111274151B (zh) 一种游戏测试的方法、相关装置以及存储介质
JP6351671B2 (ja) ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法
CN111589166A (zh) 交互式任务控制、智能决策模型训练方法、设备和介质
CN111450533A (zh) 虚拟场景中的虚拟对象控制方法、装置、终端及存储介质
Oh et al. Bot detection based on social interactions in MMORPGs
Choi et al. Detecting and monitoring game bots based on large-scale user-behavior log data analysis in multiplayer online games
CN111111203B (zh) 一种机器人的训练方法及装置、技能释放方法及装置
CN110555529B (zh) 一种数据处理的方法以及相关装置
Charleer et al. Towards an open standard for gameplay metrics
Bakkes et al. Rapid adaptation of video game AI
Smit A machine learning approach for recommending items in League of Legends
Prasetya Artificial neural network for bot detection system in MMOGs
Liu et al. Player identification from RTS game replays
Ghazali et al. Esports Analytics on PlayerUnknown's Battlegrounds Player Placement Prediction using Machine Learning
CN116943204A (zh) 虚拟对象的控制方法、装置和存储介质及电子设备
Fernández-Ares et al. There can be only one: Evolving RTS bots via joust selection
On et al. Rule-based procedural generation of item in role-playing game

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)