KR20210085894A - 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템 - Google Patents

대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템 Download PDF

Info

Publication number
KR20210085894A
KR20210085894A KR1020190179447A KR20190179447A KR20210085894A KR 20210085894 A KR20210085894 A KR 20210085894A KR 1020190179447 A KR1020190179447 A KR 1020190179447A KR 20190179447 A KR20190179447 A KR 20190179447A KR 20210085894 A KR20210085894 A KR 20210085894A
Authority
KR
South Korea
Prior art keywords
agent
match
style
game
generating
Prior art date
Application number
KR1020190179447A
Other languages
English (en)
Other versions
KR102649304B1 (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 KR1020190179447A priority Critical patent/KR102649304B1/ko
Publication of KR20210085894A publication Critical patent/KR20210085894A/ko
Application granted granted Critical
Publication of KR102649304B1 publication Critical patent/KR102649304B1/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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • 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/45Controlling the progress of the video game
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

에이전트 스타일 생성 장치는 플레이어의 스타일이 복제된 복제 에이전트를 기반으로 상기 대전형 게임 에이전트와 자가 대전을 수행하고, 상기 자가 대전에 따른 플레이 데이터를 이용하여 상기 대전형 게임 에이전트가 상기 복제 에이전트와 대응할 상호작용 방법을 생성하며, 상기 대전형 게임 에이전트에 상기 상호 작용 방법을 적용하여 다시 자가 대전을 수행하는 과정을 반복하여 상기 대전형 게임 에이전트의 스타일을 생성한다.

Description

대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템{METHOD AND APPARATUS FOR GENERATING STYLE OF MATCH-UP GAME AGENT, AND GAME SYSTEM USING THE SAME}
본 발명은 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템에 관한 것으로, 특히 대전형 게임에서 자가 대전 시뮬레이션을 통해 대전형 게임 에이전트의 스타일을 생성하고 학습하는 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템에 관한 것이다.
현재 상용화되어 서비스하고 있는 게임 중에서 플레이 스타일 정보를 사용하면서, 플레이어가 게임을 플레이하며 직접적으로 상호작용할 수 있는 게임 에이전트는 존재하지 않는다.
기존에는 전문가가 플레이한 시연 데이터를 통해 에이전트가 스스로 학습하고 해당 전문가의 스타일을 모방할 수 있도록 하는 기술이 존재한다. 그러나 해당 기술은 스타일을 모방하고 복제만 할 수 있으며 반대로 전문가의 스타일에 대응되는 에이전트를 만들고 개선시킬 수는 없다. 또한 해당 기술만으로는 개인화된 로직 설계가 불가능하므로 플레이 스타일이 단조롭게 느껴질 수 있다.
한국등록특허 제10-0621559호(2006.08.31) 한국등록특허 제10-0994613호(2010.11.09) 한국등록특허 제10-0543109호(2006.01.06)
본 발명이 해결하려는 과제는 게임 플레이어에게 더 풍부한 게임 경험을 제공할 수 있는 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템을 제공하는 것이다.
본 발명의 한 실시 예에 따르면, 에이전트 스타일 생성 장치에서 대전형 게임 에이전트의 스타일을 생성하는 방법이 제공된다. 대전형 게임 에이전트의 스타일 생성 방법은 플레이어의 스타일이 복제된 복제 에이전트를 기반으로 상기 대전형 게임 에이전트와 자가 대전을 수행하는 단계, 상기 자가 대전에 따른 플레이 데이터를 이용하여 상기 대전형 게임 에이전트가 상기 복제 에이전트와 대응할 상호작용 방법을 생성하는 단계, 상기 대전형 게임 에이전트에 상기 상호 작용 방법을 적용하는 단계, 그리고 상기 수행하는 단계, 상기 생성하는 단계 및 상기 적용하는 단계를 반복하면서 상기 대전형 게임 에이전트의 스타일을 생성하는 단계를 포함한다.
상기 상호작용 방법을 생성하는 단계는 상기 플레이 데이터를 이용하여 각 상태에서의 승률 예측을 수행하는 단계, 상기 승률 예측을 바탕으로 상기 각 상태에서의 행동별 승패에 대한 인과 관계를 분석하는 단계, 그리고 상기 인과 관계를 바탕으로 상기 상호작용 방법을 생성하는 단계를 포함할 수 있다.
상기 승리 예측을 수행하는 단계는 학습된 승리 예측 모델에 상기 플레이 데이터를 입력시키는 단계, 그리고 상기 승리 예측 모델의 출력을 통해 상기 각 상태에서의 승률 예측을 수행하는 단계를 포함할 수 있다.
상기 상호작용 방법을 생성하는 단계는 상기 자가 대전을 통해 특정 행동의 빈도 수를 조절하는 단계를 포함할 수 있다.
상기 상호작용 방법을 생성하는 단계는 일정한 조건을 만족시키면서 목표를 달성하기 위한 전략을 결정하는 단계, 그리고 상기 전략을 토대로 상기 상호작용 방법을 설계하는 단계를 포함할 수 있다.
상기 스타일을 생성하는 단계는 상기 복제 에이전트와 유사한 에이전트, 극적인 승부형의 에이전트, 공격형의 에이전트, 수비형의 에이전트, 즉각 반격형의 에이전트, 독특한 전략의 에이전트 중 어느 하나의 스타일의 대전형 게임 에이전트를 생성하는 단계를 포함할 수 있다.
상기 스타일을 생성하는 단계는 어느 한 스타일의 대전형 게임 에이전트가 생성되어 있는 경우, 상기 수행하는 단계, 상기 생성하는 단계 및 상기 적용하는 단계를 반복하면서 상기 생성된 대전형 게임 에이전트와 다른 스타일의 대전형 게임 에이전트를 생성하는 단계를 포함할 수 있다.
상기 대전형 게임 에이전트의 스타일 생성 방법은 상기 플레이 데이터를 분석하여 설정된 빈도 수를 초과하는 행동 패턴을 하나의 행동 로직으로 저장하여 관리하는 단계를 더 포함할 수 있다.
상기 적용하는 단계는 상기 행동 로직을 선택하는 단계, 그리고 상기 행동 로직과 상기 상호작용 방법을 상기 상대 에이전트에 적용하는 단계를 포함할 수 있다.
본 발명의 다른 한 실시 예에 따르면, 플레이어의 스타일을 복제한 복제 에이전트와 대전할 대전형 게임 에이전트의 스타일을 생성하는 장치가 제공된다. 대전형 게임 에이전트의 스타일 생성 장치는 상기 복제 에이전트와 상기 대전형 게임 에이전트를 대전시키는 자가 대전 모듈, 상기 자가 대전 모듈에서 발생하는 플레이 데이터를 저장하는 경험 저장 모듈, 상기 플레이 데이터를 토대로 각 상태에서 승률 예측을 수행하는 승리 예측 모듈, 상기 승률 예측을 바탕으로 상기 각 상태에서의 행동별 승패에 대한 인과 관계를 분석하는 인과관계 분석 모듈, 상기 인과 관계를 바탕으로 상기 대전형 게임 에이전트가 상기 복제 에이전트와 대응할 상호작용 방법을 설계하는 상호작용 설계 모듈, 그리고 상기 대전형 게임 에이전트에 상기 상호 작용 방법을 적용하여 상기 대전형 게임 에이전트의 스타일을 생성하고, 상기 대전형 게임 에이전트를 상기 자가 대전 모듈로 전달하는 에이전트 스타일 생성 모듈을 포함할 수 있다.
상기 대전형 게임 에이전트의 스타일 생성 장치는 상기 인과 관계를 바탕으로 상기 대전에서 설정된 빈도 수를 초과하는 행동 패턴을 하나의 행동 로직으로 생성하여 관리하는 로직 설계 모듈을 더 포함할 수 있다.
상기 에이전트 스타일 생성 모듈은 상기 대전형 게임 에이전트에 적용할 행동 로직을 선택할 수 있다.
상기 상호작용 설계 모듈은 어느 한 스타일의 대전형 게임 에이전트가 생성되어 있는 경우, 다른 스타일의 대전형 게임 에이전트가 생성되도록 상기 상호작용 방법을 설계할 수 있다.
상기 대전형 게임 에이전트는 상기 복제 에이전트와 유사한 에이전트, 극적인 승부형의 에이전트, 공격형의 에이전트, 수비형의 에이전트, 즉각 반격형의 에이전트, 독특한 전략의 에이전트 중 어느 하나의 스타일을 가질 수 있다.
본 발명의 또 다른 실시 예에 따르면, 두 에이전트를 대전시키는 게임 시스템이 제공된다. 이 게임 시스템은 플레이어의 스타일을 복제하여 복제 에이전트를 생성하는 스타일 복제기, 상기 복제 에이전트를 기반으로 대전형 게임 에이전트와 자가 대전을 수행하고, 상기 자가 대전에 따라 플레이 데이터를 토대로 상기 대전형 게임 에이전트를 학습 및 개선시켜 상기 대전형 게임 에이전트의 스타일을 생성하는 에이전트 스타일 생성 장치, 상기 복제 에이전트 및 상기 생성된 스타일의 대전형 게임 에이전트를 저장하고 있는 에이전트 풀, 그리고 상기 에이전트 풀에 저장된 상기 복제 에이전트 및 상기 대전형 게임 에이전트들 중에서 상기 복제 에이전트와 대전시킬 에이전트를 선택하는 에이전트 선택기를 포함한다.
상기 에이전트 스타일 생성 장치는 상기 자가 대전에 따라 플레이 데이터를 토대로 상기 대전형 게임 에이전트가 상기 복제 에이전트와 대응할 상호작용 방법을 설계하고, 상기 대전형 게임 에이전트에 상기 상호 작용 방법을 적용하여 상기 대전형 게임 에이전트를 학습 및 개선하여 상기 자가 대전을 수행하도록 할 수 있다.
상기 프로세서는 일정한 조건을 만족시키면서 목표를 달성하기 위한 전략을 토대로 상기 상호작용 방법을 설계할 수 있다.
상기 프로세서는 상기 플레이 데이터를 이용하여 각 상태에서의 승률 예측을 수행하고, 상기 승률 예측을 바탕으로 상기 각 상태에서의 행동별 승패에 대한 인과 관계를 분석하며, 분석된 상기 인과 관계를 바탕으로 상기 상호작용 방법을 생성할 수 있다.
상기 에이전트 스타일 생성 장치는 상기 복제 에이전트와 유사한 스타일의 에이전트, 극적인 승부형의 에이전트, 공격형의 에이전트, 수비형의 에이전트, 즉각 반격형의 에이전트, 독특한 전략의 에이전트 중 적어도 하나의 스타일의 상기 대전형 게임 에이전트를 생성할 수 있다.
상기 에이전트 스타일 생성 장치는 어느 한 스타일의 대전형 게임 에이전트가 생성되어 있는 경우, 지속적인 자가 대전을 통해 상기 대전형 게임 에이전트를 학습 및 개선시켜 서 상기 생성된 대전형 게임 에이전트와 다른 스타일의 대전형 게임 에이전트를 생성할 수 있다.
본 발명의 실시 예에 따르면, 게임 플레이어에게 자신과 유사하거나 자신과 반대되는 등의 다양한 에이전트와 대전하도록 하여 게임 콘텐츠의 질을 높이고 게임 플레이어에게 더 풍부한 게임 경험을 제공함으로써 게임 수익 제고 효과를 얻을 수 있다.
도 1은 본 발명의 한 실시 예에 따른 대전형 게임 에이전트의 스타일 생성 장치를 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 대전형 게임 에이전트의 스타일 생성 방법을 설명하는 흐름도이다.
도 3은 본 발명의 실시 예에 따른 에이전트 스타일 생성 장치가 적용된 게임 시스템의 일 예를 나타낸 도면이다.
도 4는 본 발명의 다른 실시 예에 따른 에이전트 스타일 생성 장치의 개략적인 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이제 본 발명의 실시 예에 따른 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 한 실시 예에 따른 대전형 게임 에이전트의 스타일 생성 장치를 나타낸 도면이다.
도 1을 참고하면, 대전형 게임 에이전트의 스타일 생성 장치(이하, 편의상 "에이전트 스타일 생성 장치"라 함)(100)는 자가 대전 모듈(110), 경험 저장 모듈(120), 승리 예측 모듈(130), 인과관계 분석 모듈(140), 상호작용 설계 모듈(150), 로직 설계 모듈(160) 및 에이전트 스타일 생성 모듈(170)을 포함한다.
자가 대전 모듈(110)는 두 에이전트를 서로 대전시키는 역할을 한다. 한 에이전트는 입력으로 들어오며, 게임 플레이어에 해당하는 에이전트이다. 이 에이전트는 스타일이나 난이도가 변하지 않는다. 다른 에이전트는 초기에 스타일과 난이도가 존재하지 않지만, 지속적인 학습 및 개선을 통해 스타일과 난이도를 가지게 되며, 사용자 에이전트와 대전하는 대전형 게임 에이전트이다. 아래에서는 설명의 편의상 두 에이전트 중 입력으로 들어오는 에이전트를 "사용자 에이전트"라 하며, 다른 에이전트를 "상대 에이전트"라 한다.
즉, 사용자 에이전트의 스타일은 일정하다는 가정하에 대전에 사용되며, 사용자 에이전트와 대전하는 상대 에이전트는 자가 대전 모듈(110)에 의한 대전을 통해 학습 및 개선이 되면서, 사용자 에이전트와 대응하는 다양한 스타일의 상대 에이전트가 생성된다.
사용자 에이전트는 플레이어의 스타일을 그대로 가지고 있는 복제 에이전트도 가능하며, 플레이어가 직접 플레이를 통해 스타일을 학습시킬 수도 있다. 사용자 에이전트와 상대 에이전트가 대전하는 과정에서 상호작용이 발생하며 다양한 플레이 경험에 따른 플레이 데이터가 발생한다. 여러 가지 플레이 데이터는 경험 저장 모듈(120)에 저장되며, 승리 예측 모듈(130)에서의 게임 분석에 사용된다.
경험 저장 모듈(120)은 자가 대전 모듈(110)에서 발생하는 플레이 데이터를 저장한다. 경험 저장 모듈(120)에 저장된 플레이 데이터는 추후 스타일 복제나 승리 예측에 활용된다.
승리 예측 모듈(130)은 다량의 플레이 데이터를 이용하여 승리 예측 모델을 학습시키고, 입력되는 플레이 데이터를 승리 예측 모델에 입력하여 게임의 매 상태마다 누가 유리한지 승리 예측을 수행한다. 승리 예측 모듈(130)에서는 DQN(Deep Q-network), A3C(Asynchronous Advantage Actor-Critic) 등의 강화 학습 방법이나 랜덤 포레스트(Random Forest), SVM(Support Vector Machines) 등의 예측 방법을 이용할 수 있다.
인과관계 분석 모듈(140)은 게임의 승패에 따라 어떤 상태에서의 어떤 행동이 승패에 영향을 미쳤는지 영향도를 분석하고, 이에 대한 인과관계를 찾는다. 인과관계 분석 모듈(140)에서는 승리 예측 모듈(130)이 잘 학습되었으며 성능이 우수하다는 가정하에 예측된 승률을 바탕으로 행동별 승률 변화를 계산할 수 있다. 인과관계 분석 모듈(140)은 어텐션(Attention) 네트워크나 트랜스포머(Transformer), XAI(Explainable Artificial Intelligence) 방법 등ㅇㄹ 활용할 수 있다.
상호작용 설계 모듈(150)에서는 찾아진 인과관계를 바탕으로 사용자 에이전트와 어떤 방식으로 대응할지 상호작용 방법을 설계 및 생성한다. 특정 행동이 승리에 영향을 많이 미쳤다면, 스타일을 학습하고자 하는 상대 에이전트에 해당 행동을 많이 할 수 있도록 유도를 하거나 해당 행동을 적게 하도록 함으로써 우회적인 행동을 통해 극복할 수 있게 하는 등 상대 에이전트의 스타일을 결정한다. 이때 상호작용 설계 모듈(150)에는 상호작용 방법을 설계 및 생성하기 위한 일정한 조건 등이 관리자에 의해 설정되어 있을 수 있다. 예를 들면, 사용자 에이전트를 이기되 다른 상대 에이전트와 행동이 너무 겹치지 않도록 하거나, 사용자 에이전트를 이기는 상대 에이전트의 개수가 몇 개 이상이면 새로 추가되는 스타일들은 아슬아슬하게 사용자 에이전트에게 지도록 하는 등 상호작용 방법의 설계 및 생성 조건이 설정되어 있을 수 있다. 여기서, 일정한 조건 설정은 상대 에이전트의 스타일을 명확하게 설정 짓는 조건이 아니다. 예를 들어, 초반부터 후반까지 끝까지 공격적으로 플레이 하는 스타일이나, 중반까지 최대한 방어적으로 하다가 후반에 공격하는 플레이 스타일이나, 중간중간 약점을 통해 이득을 보는 플레이 스타일 등등은 관리자에 의해 설정된 일정한 조건에 의해 달성되는 것이 아니라, 일정한 조건을 만족시키면서 자가 대전을 통해 스스로 스타일을 찾아가는 과정에서 나오는 결과물이다.
로직 설계 모듈(160)에서는 찾아진 인과관계를 바탕으로 게임 플레이에서 자주 사용되는 행동 패턴을 하나의 행동으로 묶어 행동 로직으로 관리한다. 즉, 로직 설계 모듈(160)은 일정한 행동 패턴이 자주 발생하는 경우, 그 빈도 수를 분석하고, 설정된 빈도 수를 초과하는 행동 패턴을 하나의 행동 로직으로 생성하여 관리한다. 이때 행동 패턴 추출을 위해 통계적 방법이나 데이터 마이닝 방법, 보상함수의 조정 방법 등이 활용될 수 있다.
에이전트 스타일 생성 모듈(170)에서는 상호작용 설계 모듈(150)의 상호 작용 방법과 로직 설계 모듈(160)의 행동 로직을 상대 에이전트에 적용하여 상대 에이전트의 스타일을 생성한다. 이렇게 생성된 상대 에이전트는 다시 자가 대전 모듈(110)을 통해 사용자 에이전트와 대전을 수행하고, 대전 결과는 다시 인과관계 분석에 사용되고, 상호작용 방법이 설계되고, 설계된 상호작용 방법은 다시 상대 에이전트에 적용된다.
이러한 과정들을 반복하면서, 에이전트 스타일 생성 모듈(170)에 의해 상대 에이전트는 학습 및 개선되면서 자신의 스타일을 가지게 되며, 상호작용 방법의 설계에 따라 다양한 스타일의 상대 에이전트가 생성된다. .
즉, 상대 에이전트는 자가 대전 모듈(110)과의 연계를 통해 사용자 에이전트와 여러 번 대전이 수행되면서 점점 스타일이 강해지거나 난이도가 높아지는 등 개선된다. 최종적으로, 에이전트 스타일 생성 모듈(170)은 다양한 스타일의 상대 에이전트를 출력할 수 있다. 이를 재현하는 과정에서 인구기반 깊은 강화학습 방법, 정책공간 반응 예측 멀티에이전트 강화학습 방법이나 내쉬 균형 등의 기술이 사용될 수 있다. 또한 상대 에이전트가 스타일을 유지하면서 약하게 변하도록 하기 위해서는 TRPO(Trust region policy optimization) 등의 방법이 사용될 수 있다.
도 2는 본 발명의 실시 예에 따른 대전형 게임 에이전트의 스타일 생성 방법을 설명하는 흐름도이다.
도 2를 참고하면, 에이전트 스타일 생성 장치(100)는 게임 플레이어의 스타일을 그대로 복제한 사용자 에이전트와 상대 에이전트를 대전 시뮬레이션을 통해 대전시키고(S210), 플레이 데이터를 저장한다(S220).
에이전트 스타일 생성 장치(100)는 플레이 데이터를 승리 예측 모델에 입력시켜, 승리 예측 모델의 출력을 통해 게임의 매 상태마다 승률 예측을 수행한다(S230). 승리 예측 모델은 입력 데이터와 출력 데이터의 쌍으로 된 훈련 데이터에 대해 학습을 수행하여 생성될 수 있다. 어떤 행동에 따라 승패가 결정되었다면, 학습을 위한 입력 데이터는 행동 데이터가 될 수 있고, 출력 데이터는 행동 데이터에 따른 승패 결과가 될 수 있다.
다음, 에이전트 스타일 생성 장치(100)는 예측된 승률을 바탕으로 상태에 따른 행동별 승패와 관련된 플레이의 요인과, 상태에 따른 행동별 승패에 대한 인과관계를 분석하고(S240), 상태에 따른 행동과 승패에 대한 인과관계를 토대로 사용자 에이전트와 대전할 상대 에이전트의 상호작용 방법을 설계하여 특정 행동의 빈도수를 의도적으로 조절할 수 있다(S250).
에이전트 스타일 생성 장치(100)는 분석된 인과관계를 바탕으로 게임 플레이에서 자주 사용되는 행동 패턴을 하나의 행동으로 묶어 행동 로직으로 관리한다(S260).
에이전트 스타일 생성 장치(100)는 설계된 상호작용 방법과 행동 로직을 상대 에이전트에 적용하여 상대 에이전트의 스타일을 학습 및 개선시킨다(S270).
이러한 과정을 반복적으로 수행함으로써, 다양한 스타일의 상대 에이전트가 생성될 수 있다.
초기에는 사용자 에이전트와 대전할 상대 에이전트의 스타일이 존재하지 않는다. 따라서, 에이전트 스타일 생성 장치(100)는 상대 에이전트가 사용자 에이전트를 이기기 위한 상호작용 방법을 설계하고, 이렇게 설계된 상호작용 방법을 상대 에이전트에 적용하여, 사용자 에이전트를 이기기 위한 상대 에이전트를 생성한다. 이때 설계된 상호작용 방법이 상대 에이전트에 한 번에 완벽하게 적용되어 사용자 에이전트를 이길 수 있는 것이 아니다. 사용자 에이전트를 이기기 위해 상대 에이전트와 사용자 에이전트간 대전, 대전 결과에 따른 인과관계 분석, 인과관계에 따른 상호작용 방법 설계 및 상호 작용 방법 적용 과정이 수 차례 반복되면서, 사용자 에이전트를 이기기 위한 상대 에이전트의 스타일이 생성된다.
이런 과정을 거쳐서 사용자 에이전트를 이기기 위한 스타일의 상대 에이전트가 생성된 상태에서, 다른 스타일의 상대 에이전트를 생성할 수 있는데, 예를 들면, 앞에서 설명한 바와 같은 과정을 수 차례 반복하면서 기존 생성된 스타일의 상대 에이전트가 주로 사용하는 행동을 하지 않으면서 사용자 에이전트를 이기기 위한 방향으로 상대 에이전트를 학습 및 개선시킬 수 있고, 이렇게 하면, 이전과 다른 스타일의 상대 에이전트를 생성할 수 있게 된다.
에이전트 스타일 생성 장치(100)는 이런 방법을 통해 상대방의 약점을 노리거나, 잘 져주거나 즉각 반격하는 등 원래 스타일에 대응되는 다양한 스타일의 상대 에이전트를 생성할 수 있다.
도 3은 본 발명의 실시 예에 따른 에이전트 스타일 생성 장치가 적용된 게임 시스템의 일 예를 나타낸 도면이다.
도 3을 참고하면, 게임 시스템은 스타일 복제기(200), 에이전트 스타일 생성 장치(100), 에이전트 선택기(400), 상대 에이전트 풀(300), 사용자 에이전트 풀(500) 및 플레이 데이터 풀(600)을 포함할 수 있다.
스타일 복제기(200)에서는 플레이 데이터 풀(600)에 저장되어 있는 사용자 전체 플레이 데이터와 사용자 개인 플레이 데이터로부터 플레이어의 스타일을 그대로 가지고 있는 복제 에이전트를 생성한다. 복제 에이전트는 앞에서 언급한 사용자 에이전트에 해당된다. 복제 에이전트는 사용자 에이전트 풀(500)에 저장된다.
스타일 복제기(200)는 사용자 전체 플레이 데이터와 사용자 개인 플레이 데이터로부터 어떠한 상태와 행동이 게임의 목적을 달성하는데 중요하게 작용하는지에 대해 보상 함수를 생성한다. 이러한 보상 함수를 생성함과 동시에 해당 보상 함수를 가장 잘 반영하여, 특정 상태에서 특정 행동을 할 수 있도록 복제 에이전트를 생성한다. 보상함수를 생성하기 위해서는 역강화학습 기술 등이 활용될 수 있고, 복제 에이전트를 생성하기 위해서는 인공지능의 한가지 방법인 적대적 생성 모방 학습(Generative Adversarial Imitation Learning, GAIL) 기술이나 InfoGAIL 등의 기술이 활용될 수 있다. 보상 함수와 에이전트는 비선형을 포함하므로 일반적인 함수 표현을 위해 인공 신경망 등이 사용될 수 있다.
에이전트 스타일 생성 장치(100)는 복제 에이전트를 기반으로 상대 에이전트와 대전 시뮬레이션을 수행하고, 대전 결과를 토대로 상대 에이전트를 학습 및 개선시켜 상대 에이전트를 생성한다. 생성된 상대 에이전트는 상대 에이전트 풀(300)에 저장된다. 또한 대전 과정에서 발생하는 플레이 데이터는 플레이 데이터 풀(600)에 저장된다. 구체적으로, 에이전트 스타일 생성 장치(100)는 복제 에이전트와 자가 대전을 수행하고, 그 결과를 토대로 상대 에이전트를 학습 및 개선시켜 상대 에이전트의 스타일을 생성한다. 이때 자가 대전을 통해 상대 에이전트는 스스로 게임의 목표를 달성하기 위한 더 나은 방법을 찾거나 게임에서 지는 방법을 찾거나, 복제 에이전트와 대응할 수 있는 다양한 방법을 찾으면서 일부 스타일을 유지한 채 다양한 형태로 진화하게 된다. 예를 들면, 에이전트 스타일 생성 장치(100)에 의해 상대방의 약점을 노리거나, 잘 져주거나 즉각 반격하는 등 원래 스타일에 대응되는 다양한 스타일의 상대 에이전트가 생성될 수 있다. 그리고 대전하는 과정에서 다양한 플레이 경험에 따른 플레이 데이터가 발생하고, 이 플레이 데이터는 플레이 데이터 풀(600)에 저장된다.
에이전트 선택기(400)는 사용자 에이전트 풀(500)과 상대 에이전트 풀(300)에서 사용자가 원하는 상대 에이전트를 선택하는 기능을 제공한다.
상대 에이전트 풀(300)에는 복제 에이전트에 대해 생성된 다양한 스타일의 상대 에이전트가 저장되어 있다. 상대 에이전트 풀(400)은 플레이어의 수 즉, 복제 에이전트의 개수만큼 존재할 수 있다.
사용자 에이전트 풀(500)에는 전체 플레이어 각각에 대해 생성된 복제 에이전트가 저장되어 있다.
상대 에이전트 풀(300)과 사용자 에이전트 풀(500)는 독립적으로 존재할 수 있지만, 하나의 에이전트 풀로 통합될 수도 있다.
상대 에이전트의 선택은 생성된 상대 에이전트의 스타일에 따라 수많은 선택지가 존재하지만 상대 에이전트 풀(400)에 저장된 에이전트에는 예를 들면, 사람이 스타일을 구분할 수 있는 범위 내에서 사용자와 유사한 에이전트, 극적인 승부형의 에이전트, 잘 져주는 에이전트, 독특한 전략의 에이전트, 약점 공격형 에이전트, 즉각 반격형 에이전트, 공격형 에이전트, 수비형 에이전트 등이 있을 수 있다.
이상에서 설명한 본 발명의 실시 예에 따른 대전형 게임 에이전트의 스타일 생성 방법 및 장치 중 적어도 일부 기능은 하드웨어로 구현되거나 하드웨어에 결합된 소프트웨어로 구현될 수 있다. 아래에서는 대전형 게임 에이전트의 스타일 생성 방법 및 장치가 컴퓨터 시스템에 결합된 실시 예에 대해서 도 4를 참고로 하여 상세하게 설명한다.
도 4는 본 발명의 다른 실시 예에 따른 에이전트 스타일 생성 장치의 개략적인 도면으로, 도 1 내지 도 3을 참고하여 설명한 에이전트 스타일 생성 장치 및 방법 중 적어도 일부를 수행하는 데 사용할 수 있는 시스템을 나타낸다.
도 4를 참고하면, 에이전트 스타일 생성 장치(400)는 프로세서(410), 메모리(420), 저장 장치(430) 및 입출력(input/output, I/O) 인터페이스(440)를 포함한다.
프로세서(410)는 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있다.
메모리(420)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다.
저장 장치(430)는 하드 디스크(hard disk), CD-ROM(compact disk read only memory), CD-RW(CD rewritable), DVD-ROM(digital video disk ROM), DVD-RAM, DVD-RW 디스크, 블루레이(blu-ray) 디스크 등의 광학 디스크, 플래시 메모리, 다양한 형태의 RAM과 같은 영구 또는 휘발성 저장 장치로 구현될 수 있다.
I/O 인터페이스(440)는 프로세서(410) 및/또는 메모리(420)가 저장 장치(430)에 접근할 수 있도록 한다.
프로세서(410)는 도 1 내지 도 3에서 설명한 에이전트 스타일 생성 기능을 수행할 수 있으며, 자가 대전 모듈(110), 경험 저장 모듈(120), 승리 예측 모듈(130), 인과관계 분석 모듈(140), 상호작용 설계 모듈(150), 로직 설계 모듈(160) 및 에이전트 스타일 생성 모듈(170)의 적어도 일부 기능을 구현하기 위한 프로그램 명령을 메모리(420)에 로드시켜, 도 1 내지 도 3을 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다. 이러한 프로그램 명령은 저장 장치(430)에 저장되어 있을 수 있으며, 또는 네트워크로 연결되어 있는 다른 시스템에 저장되어 있을 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.

Claims (20)

  1. 에이전트 스타일 생성 장치에서 대전형 게임 에이전트의 스타일을 생성하는 방법으로서,
    플레이어의 스타일이 복제된 복제 에이전트를 기반으로 상기 대전형 게임 에이전트와 자가 대전을 수행하는 단계,
    상기 자가 대전에 따른 플레이 데이터를 이용하여 상기 대전형 게임 에이전트가 상기 복제 에이전트와 대응할 상호작용 방법을 생성하는 단계,
    상기 대전형 게임 에이전트에 상기 상호 작용 방법을 적용하는 단계, 그리고
    상기 수행하는 단계, 상기 생성하는 단계 및 상기 적용하는 단계를 반복하면서 상기 대전형 게임 에이전트의 스타일을 생성하는 단계
    를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  2. 제1항에서,
    상기 상호작용 방법을 생성하는 단계는
    상기 플레이 데이터를 이용하여 각 상태에서의 승률 예측을 수행하는 단계,
    상기 승률 예측을 바탕으로 상기 각 상태에서의 행동별 승패에 대한 인과 관계를 분석하는 단계, 그리고
    상기 인과 관계를 바탕으로 상기 상호작용 방법을 생성하는 단계를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  3. 제2항에서,
    상기 승리 예측을 수행하는 단계는
    학습된 승리 예측 모델에 상기 플레이 데이터를 입력시키는 단계, 그리고
    상기 승리 예측 모델의 출력을 통해 상기 각 상태에서의 승률 예측을 수행하는 단계를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  4. 제1항에서,
    상기 상호작용 방법을 생성하는 단계는 상기 자가 대전을 통해 특정 행동의 빈도 수를 조절하는 단계를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  5. 제1항에서,
    상기 상호작용 방법을 생성하는 단계는
    일정한 조건을 만족시키면서 목표를 달성하기 위한 전략을 결정하는 단계, 그리고
    상기 전략을 토대로 상기 상호작용 방법을 설계하는 단계를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  6. 제1항에서,
    상기 스타일을 생성하는 단계는 상기 복제 에이전트와 유사한 에이전트, 극적인 승부형의 에이전트, 공격형의 에이전트, 수비형의 에이전트, 즉각 반격형의 에이전트, 독특한 전략의 에이전트 중 어느 하나의 스타일의 대전형 게임 에이전트를 생성하는 단계를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  7. 제1항에서,
    상기 스타일을 생성하는 단계는 어느 한 스타일의 대전형 게임 에이전트가 생성되어 있는 경우, 상기 수행하는 단계, 상기 생성하는 단계 및 상기 적용하는 단계를 반복하면서 상기 생성된 대전형 게임 에이전트와 다른 스타일의 대전형 게임 에이전트를 생성하는 단계를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  8. 제1항에서,
    상기 플레이 데이터를 분석하여 설정된 빈도 수를 초과하는 행동 패턴을 하나의 행동 로직으로 저장하여 관리하는 단계
    를 더 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  9. 제8항에서,
    상기 적용하는 단계는
    상기 행동 로직을 선택하는 단계, 그리고
    상기 행동 로직과 상기 상호작용 방법을 상기 상대 에이전트에 적용하는 단계를 포함하는 대전형 게임 에이전트의 스타일 생성 방법.
  10. 플레이어의 스타일을 복제한 복제 에이전트와 대전할 대전형 게임 에이전트의 스타일을 생성하는 장치로서,
    상기 복제 에이전트와 상기 대전형 게임 에이전트를 대전시키는 자가 대전 모듈,
    상기 자가 대전 모듈에서 발생하는 플레이 데이터를 저장하는 경험 저장 모듈,
    상기 플레이 데이터를 토대로 각 상태에서 승률 예측을 수행하는 승리 예측 모듈,
    상기 승률 예측을 바탕으로 상기 각 상태에서의 행동별 승패에 대한 인과 관계를 분석하는 인과관계 분석 모듈,
    상기 인과 관계를 바탕으로 상기 대전형 게임 에이전트가 상기 복제 에이전트와 대응할 상호작용 방법을 설계하는 상호작용 설계 모듈, 그리고
    상기 대전형 게임 에이전트에 상기 상호 작용 방법을 적용하여 상기 대전형 게임 에이전트의 스타일을 생성하고, 상기 대전형 게임 에이전트를 상기 자가 대전 모듈로 전달하는 에이전트 스타일 생성 모듈
    을 포함하는 대전형 게임 에이전트의 스타일 생성 장치.
  11. 제10항에서,
    상기 인과 관계를 바탕으로 상기 대전에서 설정된 빈도 수를 초과하는 행동 패턴을 하나의 행동 로직으로 생성하여 관리하는 로직 설계 모듈
    을 더 포함하는 대전형 게임 에이전트의 스타일 생성 장치.
  12. 제11항에서,
    상기 에이전트 스타일 생성 모듈은 상기 대전형 게임 에이전트에 적용할 행동 로직을 선택하는 대전형 게임 에이전트의 스타일 생성 장치.
  13. 제10항에서,
    상기 상호작용 설계 모듈은 어느 한 스타일의 대전형 게임 에이전트가 생성되어 있는 경우, 다른 스타일의 대전형 게임 에이전트가 생성되도록 상기 상호작용 방법을 설계하는 대전형 게임 에이전트의 스타일 생성 장치.
  14. 제10항에서,
    상기 대전형 게임 에이전트는 상기 복제 에이전트와 유사한 에이전트, 극적인 승부형의 에이전트, 공격형의 에이전트, 수비형의 에이전트, 즉각 반격형의 에이전트, 독특한 전략의 에이전트 중 어느 하나의 스타일을 가지는 대전형 게임 에이전트의 스타일 생성 장치.
  15. 두 에이전트를 대전시키는 게임 시스템으로서,
    플레이어의 스타일을 복제하여 복제 에이전트를 생성하는 스타일 복제기,
    상기 복제 에이전트를 기반으로 대전형 게임 에이전트와 자가 대전을 수행하고, 상기 자가 대전에 따라 플레이 데이터를 토대로 상기 대전형 게임 에이전트를 학습 및 개선시켜 상기 대전형 게임 에이전트의 스타일을 생성하는 에이전트 스타일 생성 장치,
    상기 복제 에이전트 및 상기 생성된 스타일의 대전형 게임 에이전트를 저장하고 있는 에이전트 풀, 그리고
    상기 에이전트 풀에 저장된 상기 복제 에이전트 및 상기 대전형 게임 에이전트들 중에서 상기 복제 에이전트와 대전시킬 에이전트를 선택하는 에이전트 선택기
    를 포함하는 게임 시스템.
  16. 제15항에서,
    상기 에이전트 스타일 생성 장치는 상기 자가 대전에 따라 플레이 데이터를 토대로 상기 대전형 게임 에이전트가 상기 복제 에이전트와 대응할 상호작용 방법을 설계하고, 상기 대전형 게임 에이전트에 상기 상호 작용 방법을 적용하여 상기 대전형 게임 에이전트를 학습 및 개선하여 상기 자가 대전을 수행하도록 하는 프로세서를 포함하는 게임 시스템.
  17. 제16항에서,
    상기 프로세서는 일정한 조건을 만족시키면서 목표를 달성하기 위한 전략을 토대로 상기 상호작용 방법을 설계하는 게임 시스템.
  18. 제16항에서,
    상기 프로세서는 상기 플레이 데이터를 이용하여 각 상태에서의 승률 예측을 수행하고, 상기 승률 예측을 바탕으로 상기 각 상태에서의 행동별 승패에 대한 인과 관계를 분석하며, 분석된 상기 인과 관계를 바탕으로 상기 상호작용 방법을 생성하는 게임 시스템.
  19. 제15항에서,
    상기 에이전트 스타일 생성 장치는 상기 복제 에이전트와 유사한 스타일의 에이전트, 극적인 승부형의 에이전트, 공격형의 에이전트, 수비형의 에이전트, 즉각 반격형의 에이전트, 독특한 전략의 에이전트 중 적어도 하나의 스타일의 상기 대전형 게임 에이전트를 생성하는 게임 시스템.
  20. 제15항에서,
    상기 에이전트 스타일 생성 장치는 어느 한 스타일의 대전형 게임 에이전트가 생성되어 있는 경우, 지속적인 자가 대전을 통해 상기 대전형 게임 에이전트를 학습 및 개선시켜 서 상기 생성된 대전형 게임 에이전트와 다른 스타일의 대전형 게임 에이전트를 생성하는 게임 시스템.
KR1020190179447A 2019-12-31 2019-12-31 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템 KR102649304B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190179447A KR102649304B1 (ko) 2019-12-31 2019-12-31 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190179447A KR102649304B1 (ko) 2019-12-31 2019-12-31 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템

Publications (2)

Publication Number Publication Date
KR20210085894A true KR20210085894A (ko) 2021-07-08
KR102649304B1 KR102649304B1 (ko) 2024-03-19

Family

ID=76893905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190179447A KR102649304B1 (ko) 2019-12-31 2019-12-31 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템

Country Status (1)

Country Link
KR (1) KR102649304B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100543109B1 (ko) 2004-04-06 2006-01-20 엔에이치엔(주) 인공지능을 갖는 캐릭터를 이용한 인터넷 게임 서비스시스템 및 그 방법
KR100621559B1 (ko) 2004-03-31 2006-09-18 봉래 박 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법
KR20080051328A (ko) * 2006-12-05 2008-06-11 한국전자통신연구원 게임 캐릭터 형성방법
KR100994613B1 (ko) 2004-03-01 2010-11-15 마이크로소프트 코포레이션 플레이 스타일 정보를 사용하는 온라인 게임 매치메이킹 방법
KR20160014701A (ko) * 2013-05-30 2016-02-11 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 대규모 멀티플레이어 온라인 롤플레잉 게임 제어

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100994613B1 (ko) 2004-03-01 2010-11-15 마이크로소프트 코포레이션 플레이 스타일 정보를 사용하는 온라인 게임 매치메이킹 방법
KR100621559B1 (ko) 2004-03-31 2006-09-18 봉래 박 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법
KR100543109B1 (ko) 2004-04-06 2006-01-20 엔에이치엔(주) 인공지능을 갖는 캐릭터를 이용한 인터넷 게임 서비스시스템 및 그 방법
KR20080051328A (ko) * 2006-12-05 2008-06-11 한국전자통신연구원 게임 캐릭터 형성방법
KR20160014701A (ko) * 2013-05-30 2016-02-11 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 대규모 멀티플레이어 온라인 롤플레잉 게임 제어

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"AlphaGo의 인공지능 알고리즘 분석", 추형석 외 2명, SPRi 소프트웨어정책연구소, SPRi Issue Report 제2016-002호 ver.1.0(2016.03.03.)* *

Also Published As

Publication number Publication date
KR102649304B1 (ko) 2024-03-19

Similar Documents

Publication Publication Date Title
Treanor et al. Game-o-matic: Generating videogames that represent ideas
US7636701B2 (en) Query controlled behavior models as components of intelligent agents
Togelius et al. The search-based approach
Churchill et al. Hierarchical portfolio search: Prismata's robust AI architecture for games with large search spaces
Kalles et al. On verifying game designs and playing strategies using reinforcement learning
de Almeida Rocha et al. Simulating human behaviour in games using machine learning
Kavanagh et al. Balancing turn-based games with chained strategy generation
Pelling et al. Two human-like imitation-learning bots with probabilistic behaviors
KR102649304B1 (ko) 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템
Lorentz Early playout termination in MCTS
Sturtevant Monte carlo tree search and related algorithms for games
Zook et al. Temporal game challenge tailoring
Boyd Implementing reinforcement learning in unreal engine 4 with blueprint
Guei et al. 2048-like games for teaching reinforcement learning
KR100850913B1 (ko) 게임 캐릭터 형성방법
JP7299709B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
Becker et al. Game balancing—A semantical analysis
Machado et al. On the structure of role playing game quests
Skjærseth et al. Evolutionary algorithms for generating interesting fighting game character mechanics
Ferguson Machine Learning Arena
AU2018101314A4 (en) A MCST and deep neural network based FIR battle platform
Moffett Applying Causal Models to Dynamic Difficulty Adjustment in Video Games
KR20030072640A (ko) 싸이버클론이 활동하는 게임시스템 및 게임방법
Couëtoux et al. Monte carlo tree search in go
França et al. CreativeStone: a Creativity Booster for Hearthstone Card Decks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant