KR100621559B1 - 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법 - Google Patents

인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법 Download PDF

Info

Publication number
KR100621559B1
KR100621559B1 KR1020040027918A KR20040027918A KR100621559B1 KR 100621559 B1 KR100621559 B1 KR 100621559B1 KR 1020040027918 A KR1020040027918 A KR 1020040027918A KR 20040027918 A KR20040027918 A KR 20040027918A KR 100621559 B1 KR100621559 B1 KR 100621559B1
Authority
KR
South Korea
Prior art keywords
game
vector
style
output
learning
Prior art date
Application number
KR1020040027918A
Other languages
English (en)
Other versions
KR20050096791A (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 봉래 박
Publication of KR20050096791A publication Critical patent/KR20050096791A/ko
Application granted granted Critical
Publication of KR100621559B1 publication Critical patent/KR100621559B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B21MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21DWORKING OR PROCESSING OF SHEET METAL OR METAL TUBES, RODS OR PROFILES WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21D37/00Tools as parts of machines covered by this subclass
    • B21D37/10Die sets; Pillar guides
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B21MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21DWORKING OR PROCESSING OF SHEET METAL OR METAL TUBES, RODS OR PROFILES WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21D43/00Feeding, positioning or storing devices combined with, or arranged in, or specially adapted for use in connection with, apparatus for working or processing sheet metal, metal tubes or metal profiles; Associations therewith of cutting devices
    • B21D43/28Associations of cutting devices therewith
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B21MECHANICAL METAL-WORKING WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21DWORKING OR PROCESSING OF SHEET METAL OR METAL TUBES, RODS OR PROFILES WITHOUT ESSENTIALLY REMOVING MATERIAL; PUNCHING METAL
    • B21D53/00Making other particular articles
    • B21D53/38Making other particular articles locksmith's goods, e.g. handles
    • B21D53/40Making other particular articles locksmith's goods, e.g. handles hinges, e.g. door hinge plates

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 게임 스타일 이식시스템 및 그 이식방법으로서, 더욱 상세하게는 게이머가 게임을 진행하는 방식 또는 습관과 같은 게임 스타일을 학습하고, 학습된 게임 스타일을 게임의 NPC에 적용함으로써 게임 캐릭터의 다양성을 부여함과 동시에 게임의 재미를 강화시키는 게임 스타일 이식시스템 및 그 이식방법에 관한 것이다.
본 발명에 따른 게임 스타일 이식시스템은 게임의 진행을 스타일벡터, 가중치벡터, 출력벡터의 연관성 관계로 정의하고, 테스트 게이머들의 게임로그를 통해 게임 스타일에 따른 유사한 게임출력을 낼 수 있도록 가중치벡터를 학습시키고, 이식 대상 게이머의 게임로그를 통해 얻어진 게임출력으로부터 역으로 스타일벡터를 학습시키고, 학습된 스타일벡터와 학습된 가중치벡터의 행렬 연산을 통해 출력벡터를 추론하고, 추론된 출력벡터와 일치하는 게임출력을 NPC로 이식한다.
본 발명에 따르면, 게임 스타일 이식시스템 및 이식방법의 제공을 통해 특정 게이머의 게임 스타일을 학습시킨 인공지능 NPC가 게임 내에서 활동함으로써, 보다 지능화된 게임 캐릭터를 통해 보다 역동적인 게임을 구성할 수 있다.
게임, 인공지능, 게이머, 학습, 추론, 예측, 스타일, 이식, NPC

Description

인공지능 학습을 통한 게이머의 게임 스타일 이식시스템 및 그 이식방법{Gamer's game style transplanting system and its processing method by artificial intelligence learning}
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 본 발명의 기술을 구성하는 게이머를 모델로 한 학습 모델의 개념도.
도 2는 본 발명의 기술을 구성하는 스타일벡터, 가중치벡터, 출력벡터 모델의 예시도.
도 3은 본 발명의 기술을 구성하는 스타일벡터, 가중치벡터, 출력벡터 사이의 관계도.
도 4는 본 발명의 기술을 구성하는 각 벡터들 간의 관계를 통한 학습 및 이식 환경의 개념을 도시한다.
도 5는 본 발명의 일 실시예에 따른 게임 스타일 이식시스템의 구성도.
도 6은 본 발명의 일 실시예에 따른 가중치벡터 학습 엔진의 구성도.
도 7은 본 발명의 일 실시예에 따른 스타일벡터 학습 엔진의 구성도.
도 8은 본 발명의 일 실시예에 따른 게임 스타일 이식방법의 순서도.
도 9는 본 발명의 일 실시예에 따른 벡터 정의 및 저장단계의 순서도.
도 10은 본 발명의 일 실시예에 따른 테스트 게이머 스타일벡터 설정단계의 순서도.
도 11은 본 발명의 일 실시예에 따른 가중치벡터 학습단계의 순서도.
도 12는 본 발명의 일 실시예에 따른 가중치벡터 생성 및 저장단계의 순서도.
도 13은 본 발명의 일 실시예에 따른 스타일벡터 학습단계의 순서도.
도 14는 본 발명의 일 실시예에 따른 새로운 스타일벡터 생성 및 저장단계의 순서도.
도 15는 본 발명의 일 실시예에 따른 게이머 스타일 이식단계의 순서도.
도 16은 본 발명에 일 실시예에 따른 스타일 이식의 결과 분석 그래프.
도 17a 및 도 17b는 다른 종류의 게임(Role Playing Game, Real Time Simulation Game)에 적용할 때 게임상태 구성요소의 예시도.
본 발명은 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템 및 그 이식방법에 관한 것으로서, 더욱 상세하게는 게이머가 게임을 진행하는 방식 또는 습관과 같은 게임 스타일을 학습하고, 학습된 게임 스타일을 게임의 캐릭터에 적용함 으로써 게임 캐릭터의 다양성을 부여함과 동시에 게임의 재미를 강화시키는 게임 스타일 이식시스템 및 그 이식방법에 관한 것이다.
초창기의 게임들은 게임 진행 과정이 단순하여 게이머가 게임을 반복하다 보면 게임 패턴이 반복함을 발견하고, 반복되는 규칙을 게이머가 습득하여 게임의 진행을 예측하고, 예측 상황에서 정형화된 게임 조작을 통해 게임을 수행하였다.
최근에는, 온라인 게임, 머드 게임, RPG 게임 등의 발전으로 전술한 단조로운 게임 진행을 탈피하고 다양한 게임 캐릭터 및 게임 상황을 제공하여 보다 역동적인 게임이 선보이고 있다.
보다 역동적인 게임을 위해서는 다양한 캐릭터와 게임 상황의 제어가 필요하며, 이것은 복잡한 탐색을 통한 판단 결정(decision making)을 수행하여 고도의 최적화된 해답(optimizing solution)을 제시하는 인공지능적 처리기술에 의하여 효과적으로 구현된다. 또한, 기존의 컴퓨터 대 게이머, 게이머 대 게이머의 형태를 벗어나, 인공지능이 컴퓨터를 대신하여 플레이어와 게임을 하거나, 주인을 대신하는 NPC(Agent NPC)가 다른 플레이어와 게임을 하는 이른바 인공지능(A.I)기술의 지능형 게임이 미래형 게임으로 진화되고 있다.
종래 기술로서, 공개 특허(특2003-72640)는 주인성향을 학습한 싸이버클론이 활동하는 게임시스템 및 게임방법을 개시하고 있다. 그런데 상기 공개 특허는 싸이버클론이 주인성향을 학습하는 데 있어서, 주인의 스타일 요소별로 분석되지 않은 특정상황에서의 순수한 입력별 확률을 참조하였다.
이것은 게이머의 성향이나 특정 상황에서 왜 그러한 게임 조작을 하였는지와 같은 경험적 정보(heuristical information)없이 게이머의 순수한 입력 조작을 통해 확률 통계적으로 학습이 이루어졌기 때문에 학습 결과의 유효성이 낮아질 수 있으며 또한, 처리해야 할 데이터 및 프로세싱의 부하가 지수적으로 증가하는 복잡도를 갖기 때문에 게임 시스템 프로세스에 부담이 된다는 문제점이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 테스트 게이머들의 게임로그를 통하여 게이머의 게임 스타일과 게임출력 사이의 연관성을 나타내는 가중치벡터를 학습시킨 후, 이식 대상 게이머의 게임출력으로부터 역으로 사용자의 게임 스타일을 추론 학습시킴으로써 특정 게이머로부터 학습된 게임 스타일에 의거하여 에이전트 NPC가 게임을 수행하도록 지원하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템 및 그 이식방법을 제공하는 것을 목적으로 한다.
또한, 게임 진행에 대하여 게이머의 게임 스타일 정보, 특정 상황에서 특정 게임출력을 유도하는 가중치 정보, 게임 스타일과 가중치 정보와의 수식에 의해 결정되는 게임출력 정보와 같은 경험적 정보를 이용함으로써 실제 게이머의 게임 운영과 유사성이 높은 게임 스타일을 예측하고, 그 처리과정은 프로세스에 부하를 적게 주는 게임 스타일 이식시스템 및 그 이식방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템은, 이식 대상 게이머의 게임 스타일을 학습하여 NPC로 이식하는 게임 스타일 이식시스템에 있어서, 스타일벡터, 게임상태별 가중치 벡터, 출력벡터의 항목을 벡터정의DB에 저장하는 벡터 정의모듈; 복수의 테스트 게이머들이 게임을 수행한 과정을 정보화하여 게임로그DB에 저장함으로써 게임로그를 생성하는 게임로그 생성모듈; 상기 게임로그DB에 저장된 개별 테스트 게이머의 게임 스타일을 분석하고 수치화함으로써 스타일벡터DB에 저장하는 스타일벡터 수치화모듈; 상기 게임로그DB에 저장된 테스트 게이머들의 게임출력에 의거하여 현재 가중치벡터로부터 학습된 가중치벡터를 가중치벡터DB에 저장함으로써 일반화된 게임상태별 가중치벡터를 학습하는 가중치벡터 학습모듈; 이식 대상 게이머의 게임로그에 의거하여 유도된 스타일벡터를 스타일벡터DB에 저장함으로써 추론화된 스타일벡터를 학습하는 개별 게이머 스타일벡터 학습모듈; 이식 대상 게이머에 대하여 상기 개별 게이머 스타일벡터 학습모듈이 학습한 스타일벡터와 현재 게임상태의 가중치벡터로부터 출력벡터를 예측하여 결정하는 게임출력 추론모듈; 및 특정 게임 운영시스템에 종속되고, 상기 게임 운영시스템의 NPC에 특정 게이머의 게임스타일을 이식하기 위하여, 상기 게임 운영시스템으로부터 현재 게임상태를 전달받고, 상기 게임출력 추론모듈이 생성한 출력벡터와 일치하는 게임출력을 상기 게임 운영시스템으로 전달하는 게임 어댑터모듈을 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 바람직한 특징에 따르면, 상기 벡터정의모듈은, 게이머가 게임을 진행할 때의 심리적 정보, 습관, 능력을 정의하는 스타일항목을 스타일벡터로 정의하고, 특정 게임상태마다 게이머의 스타일벡터에 의해 특정 출력벡터가 야기되는 연관성 관계를 나타내는 가중치로 구성된 가중치벡터를 정의하고, 게이머가 특정 게임상황에서 입력장치의 조작을 통해 게임 행동으로 출력할 수 있는 게임출력 항 목을 출력벡터로 정의함으로써, 특정 게임의 종류와 독립적으로 다양한 게임에 적용할 수 있는 것을 특징으로 한다.
또한, 상기 게임상태는, 게임이 진행되는 상황을 정의하는 상태구성요소와 상기 상태구성요소 단위당 부여된 분할개수에 따라 전체 게임상태의 개수가 정해짐으로써, 상기 상태구성요소 및 상기 분할개수가 많아질수록 세분화된 게임상태를 형성하는 것을 특징으로 한다.
본 발명에 있어서, 상기 가중치벡터 학습모듈은, 상태 구성요소별 분할개수에 의해 정의되는 게임상태와 매칭되는 게임상태 식별코드가 수록되어 있는 게임상태정의DB; 상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임상태에 해당하는 게임상태 식별코드를 상기 게임상태정의DB로부터 획득해내는 게임상태 획득모듈; 특정 게임상태에서 사용자의 입력조작에 의한 게임출력과 매칭되는 게임출력 식별코드가 수록되어 있는 게임출력정의DB; 상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임출력에 해당하는 게임출력 식별코드를 상기 게임출력정의DB로부터 획득해내는 게임출력 획득모듈; 상기 스타일벡터 수치화모듈이 분석한 개인별 테스트 게이머의 스타일벡터를 저장하는 스타일벡터DB; 상기 스타일벡터DB로부터 스타일벡터를 획득해내는 스타일벡터 획득모듈; 특정 게임상태별로 상기 스타일벡터를 출력벡터로 매핑시키는 게임상태별 가중치벡터를 저장하는 가중치벡터DB; 및 상기 게임상태 획득모듈이 얻은 게임상태에 해당하는 현재 가중치벡터를 상기 가중치벡터DB로부터 얻어내고, 상기 현재 가중치벡터와 상기 스타일벡터 획득모듈이 획득한 상기 스타일벡터를 연산을 통해 새로운 가중치벡터로 생성하여 다시 상기 가중치벡터DB에 저장하여 학습을 반복하는 가중치 연산처리모듈을 포함하여 이루어지고, 상기 게임로그DB로부터 읽어들인 테스트 게이머들의 게임정보에 의거하여 상기 가중치 연산처리모듈의 연산을 통해 가중치벡터를 반복적으로 학습하는 것을 특징으로 한다.
본 발명에 있어서, 상기 개별 게이머 스타일벡터 학습모듈은, 상태 구성요소별 분할개수에 의해 정의되는 게임상태와 매칭되는 게임상태 식별코드가 수록되어 있는 게임상태정의DB; 상기 게임로그DB로부터 읽어들인 이식 대상 게이머의 게임상태에 해당하는 게임상태 식별코드를 상기 게임상태정의DB로부터 획득해내는 게임상태 획득모듈; 특정 게임상태에서 사용자의 입력조작에 의한 게임출력과 매칭되는 게임출력 식별코드가 수록되어 있는 게임출력정의DB; 상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임출력에 해당하는 게임출력 식별코드를 상기 게임출력정의DB로부터 획득해내는 게임출력 획득모듈; 이식 대상 게이머의 스타일벡터를 저장하는 스타일벡터DB; 상기 스타일벡터DB로부터 현재 스타일벡터를 획득해내는 스타일벡터 획득모듈; 특정 게임상태별로 상기 스타일벡터를 출력벡터로 매핑시키는 게임상태별 가중치벡터를 저장하는 가중치벡터DB; 및 상기 게임상태 획득모듈이 얻은 게임상태에 해당하는 가중치벡터를 상기 가중치벡터DB로부터 얻어내고, 상기 가중치벡터와 상기 스타일벡터 획득모듈이 획득한 이식 대상 게이머의 상기 현재 스타일벡터를 연산을 통해 새로운 스타일벡터로 생성하여 다시 상기 스타일벡터DB에 저장하여 학습을 반복하는 스타일 연산처리모듈을 포함하여 이루어지고, 상기 게임로그DB로부터 읽어들인 이식 대상 게이머의 게임정보에 의거하여 상기 스타일 연산처 리모듈의 연산을 통해 스타일벡터를 반복적으로 수행하고, 패턴화된 상기 가중치벡터값으로부터 역으로 이식 대상 게이머의 스타일벡터값을 수렴시킴으로써 학습하는 것을 특징으로 한다.
본 발명에 있어서, 상기와 같은 목적을 달성하기 위하여 본 발명에 따른 인공지능 학습을 통한 게이머의 게임 스타일 이식방법은, 이식 대상 게이머의 게임 스타일을 학습하여 NPC로 이식하는 게임 스타일 이식방법에 있어서, (1)스타일벡터, 게임상태별 가중치벡터, 출력벡터의 항목을 정의하여 벡터정의DB에 저장하는 단계; (2)복수의 테스트 게이머들이 게임을 반복적으로 수행한 과정을 정보화하여 게임로그DB에 저장함으로써 게임로그를 생성하는 단계; (3)상기 게임로그DB에 저장된 개별 테스트 게이머의 게임 스타일을 분석하고 수치화함으로써 스타일벡터DB에 저장하는 단계; (4)복수의 테스트 게이머들의 스타일벡터에 의하여 특정 게임상태에서 특정 출력벡터를 야기하는 가중치벡터를 학습하는 단계; (5)이식 대상 게이머의 게임로그로부터 상기 게이머가 입력조작한 게임출력에 따라 상기 게이머의 스타일벡터를 학습하는 단계; 및 (6)게임 운영시스템으로부터 게임상태를 전달받고, 이식 대상 게이머의 학습된 스타일벡터에 의거하여 출력벡터를 추론하여 결정하고, 상기 출력벡터에 대응하는 출력값을 게임 운영시스템으로 전달하여 특정 게이머의 게임 스타일을 NPC에 이식하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 있어서, 상기 단계(4)는, (4-1)학습 환경 변수에 초기값을 설정하는 단계; (4-2)가중치벡터DB에 임의의 초기값을 설정하는 단계; (4-3)게임로그DB로부터 테스트 게이머의 게임로그정보를 읽어들이는 단계; (4-4)상기 게임로그정보로 부터 게임상태를 획득하는 단계; (4-5)상기 게임상태에 따른 현재 가중치벡터를 상기 가중치벡터DB로부터 읽어들이는 단계; (4-6)상기 단계(3)에서 구축한 상기 게이머스타일DB로부터 상기 게이머의 스타일벡터를 읽어들이는 단계; 및 (4-7)상기 단계(4-5)의 현재 가중치벡터와 단계(4-6)의 스타일벡터로부터 연산을 통해 새로운 가중치벡터를 생성하여 다시 상기 가중치벡터DB에 저장하여 학습하는 단계를 포함하여 이루어져, 상기 게임로그DB로부터 읽어들인 테스트 게이머들의 게임정보에 의거하여 연산을 통해 상기 가중치벡터를 반복적으로 학습하는 것을 특징으로 한다.
본 발명에 있어서, 상기 단계(5)는, (5-1)학습 환경 변수에 초기값을 설정하는 단계; (5-2)스타일벡터DB에 이식 대상 게이머의 게임 스타일벡터를 초기값으로 설정하는 단계; (5-3)게임로그DB로부터 테스트 게이머의 게임로그정보를 읽어들이는 단계; (5-4)상기 게임로그정보로부터 게임상태를 획득하는 단계; (5-5)상기 게임상태에 따른 가중치벡터를 상기 가중치벡터DB로부터 읽어들이는 단계; (5-6)상기 단계(5-2)에서 구축한 상기 게이머스타일DB로부터 상기 게이머의 현재 스타일벡터를 읽어들이는 단계; 및 (5-7)상기 단계(5-5)의 가중치벡터와 단계(5-6)의 현재 스타일벡터로부터 연산을 통해 새로운 스타일벡터를 생성하여 다시 상기 스타일벡터DB에 저장하여 학습하는 단계를 포함하여 이루어져, 상기 게임로그DB로부터 읽어들인 이식 대상 게이머의 게임정보에 의거하여 연산을 통해 상기 스타일벡터를 반복적으로 학습하는 것을 특징으로 한다.
본 발명에 있어서, 상기 단계(6)는, (6-1)게임 운영시스템에서의 NPC가 처한 게임상태를 전달받는 단계; (6-2)상기 단계(5)에서 학습한 이식 대상 게이머의 스 타일벡터를 상기 스타일벡터DB로부터 읽어들이는 단계; (6-3)상기 단계(4)에서 학습한 가중치벡터DB로부터 상기 단계(6-1)의 게임상태에 따른 가중치벡터를 읽어들이는 단계; (6-4)상기 단계(6-2)의 스타일벡터와 상기 단계(6-3)의 가중치벡터를 연산하여 출력벡터를 생성하는 단계; 및 (6-5)상기 출력벡터 중에서 제일 높은값에 해당하는 벡터값에 대응하는 게임출력을 상기 게임 운영시스템으로 전달하는 단계를 포함하여 이루어져, 이식 대상 게이머의 스타일을 학습한 상기 스타일벡터와 테스트 게이머들의 게임로그로부터 학습한 가중치벡터와의 연산을 통해 출력을 예측하여 상기 게임 운영시스템으로 전달하여 NPC에 이식하는 것을 특징으로 한다.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명에 따른 기술 구성에 있어서, 게이머의 게임 운영을 모델로 하는 학습 환경의 개념을 도시한다. 본 발명에서는 이식 대상 게이머의 게임 운영 스타일에 따라 그 스타일이 이식된 NPC를 구현하고자 한 것이다. 이를 위해 휴먼 월드에서의 게이머의 게임 운영 방식을 학습 및 예측의 모델로 하고, 인공지능 기술을 이용하여 컴퓨터 환경의 모델로 전환하여 게임의 운영을 분석한다.
본 발명의 구성 및 실시예에서는 설명의 편의상 게이머와 컴퓨터가 조작하는 NPC(non player character) 사이의 액션 대련 게임(예, 스트리트 파이터)을 대상으로 설명한다. NPC는 게이머가 직접 조작할 수 없고 컴퓨터(게임 운영시스템)가 조작하는 캐릭터이다. 예를 들면, 컴퓨터가 조작하는 게이머의 상대방 또는 게이머가 자신을 대리하여 지정하여 컴퓨터가 조작하는 에이전트 NPC 등을 예로 들 수 있다.
휴먼 월드에서는 게이머가 특정 게임상태에서 키보드 또는 마우스 조작을 통해 게임조작을 한다. 각 사용자는 자신만의 독특한 게임 스타일을 가지고 있다. 이와 같은 게임 스타일은 게이머의 게임 조작에 영향을 미치는 요소이다. 컴퓨터 월드에서 게이머의 게임 스타일은 마치 인간의 유전적 정보로 해석하여 세부적으로 구분된 스타일 항목으로 나눈 후 값을 부여하여 스타일벡터(S)로 표현한다.
또한, 휴먼 월드에서 사용자가 게임을 운영하는 과정은 시간의 흐름에 따른 게임상태의 변화이다. 컴퓨터월드에서 이와 같은 게임상태는 상태 구성요소 및 각 상태 구성요소의 분할개수로 정의되고 게임상태별로 가중치벡터(W)들이 할당된다. 즉, 가중치백터(w)는 전체 게임상태에서 그 개별 게임상태의 게임 패턴 정보이다.
또한, 휴먼 월드에서 게이머가 자신의 게임 스타일에 맞추어 특정 게임상태에서 입력한 명령은 컴퓨터 월드에서 게임출력으로 나타나고 각각의 게임출력 항목을 출력벡터(O)로 표현한다.
도 2는 도 1에 도시한 컴퓨터 월드에서 변환된 스타일벡터(S), 게임상태별 게임 패턴을 나타내는 가중치벡터(W) 및 출력벡터(O)의 구성예를 도시한다.
스타일벡터(S)는 게이머의 게임습관 또는 성향 등을 나타내는 것으로서, 예를 들면, 공격성, 방어성, 입력빈도, 안정성, 기타 등등을 예로 들 수 있다. 스타일벡터(S)는 사용자의 게임 스타일을 구분하는 항목수가 늘어날수록 보다 상세하고 지능화된 게이머의 게임 스타일을 알아낼 수 있다는 특징이 있다.
가중치벡터(W)는 각각의 게임상태별 게임 패턴을 정의하는 것으로서, 각 게임상태는 나의 액션(Action1), 상대방의 액션(Action2), 나의 체력(Power1), 상대방의 체력(Power2) 및 나와 상대방의 거리(Distance)로 구성된 5차원 항목의 구성요소로 정의한다. 또한 각각의 구성요소는 15, 15, 3, 3, 10 단계의 분할 개수를 갖는다고 가정한다. 게이머가 수행하는 대련게임은 시간의 흐름 또는 게이머의 입력조작에 따라 전술한 5개의 게임 구성요소가 변화되면서 게임상태가 결정된다. 각각의 구성요소가 분할 개수에 의해 구분될 경우, 나의 액션(Action1)은 15개 범위로 구분되고, 나머지 구성요소도 분할 개수에 의해 구분되어 마지막으로 나와 상대방의 거리(Distance)는 10개의 범위로 구분된다. 따라서, 5차원의 구성요소가 각각 분할되어 생성하는 전체 게임상태는 15*15*3*3*10 = 20,250으로 총 20,250개의 게임상태를 갖는다.
출력벡터(O)는 특정 게임상태에서 다음 게임상태로의 변이를 발생시키는 게임출력들의 집합이다. 이것은 게이머가 특정 게임상태에서 가능한 입력 조작 중에서 최선의 명령을 입력장치를 통해 입력함으로써 발생한다.
본 발명에 따른 게임 스타일 이식시스템(1)에서는 게임의 진행을 전술한 스타일벡터(S), 가중치벡터(W) 및 출력벡터(O)의 관계로 정의하였다. 이것은 실제 게 이머가 게임 진행을 하는 경험적 정보를 기반으로 모델화하였기 때문에 전술한 종래 기술(특2003-72640)에 비해 복잡도를 크게 낮추었다. 왜냐하면 전술한 종래 기술에서는 순수한 게이머의 입력 빈도 및 확률에 근거하여 맹목적인 탐색 공간을 형성하였기 때문이다.
그러나, 본 발명에서는 스타일벡터(S), 가중치벡터(W) 및 출력벡터(O)로 구성되는 제한된 정의 영역에서 소정의 알고리즘을 통해 복잡도를 낮추어 시스템의 부하를 줄인다. 다만, 출력벡터(O)의 항목수(m)는 게임에 의해 미리 정해졌기 때문에 스타일벡터(S)의 항목수 n, 가중치벡터(W)의 상태공간수 c 등을 세분화할수록 더욱 지능적이며 실제 게이머의 게임방식에 근접할 수 있으나 이것은 전술한 종래 기술과 같이 복잡도의 폭발적인 증가를 형성하는 요인이 된다.
도 3은 도 1 및 도 2를 통해 정의되고, 본 발명에 따른 기술 구성에서 사용되는 스타일벡터(S), 가중치벡터(W) 및 출력벡터(O) 사이의 함수 관계를 도시한다.
스타일벡터(S)는 게이머의 게임 진행 방식을 세부 항목으로 분류하고 수치화한 정보이다. 이것은 마치 인간의 유전적 정보로서 게임의 출력을 결정짓는 사용자의 고유 스타일값의 집합에 해당한다. 스타일벡터(S)는 특정 게임상태에서의 가중치벡터(W)와 연산을 통해 특정 출력벡터(O)로 매핑된다. 이것을 휴먼월드 상에서의 용어로 표현하면, 게이머는 자신의 게임 스타일(VS. 스타일벡터)에 따라 특정 게임 상태(VS. 가중치벡터)에 종속하는 게임 조작 중에서 특정 조작을 선택하면 게임공간으로 임의의 한 가지 게임출력(VS. 출력벡터)을 생성시키는 것이다.
전체 20,250개의 게임상태는 스타일벡터(S)를 임의의 출력벡터(O)로 매핑시 키는 2차원의 가중치벡터(W) 행렬로 구성된다. 가중치백터(W)에서의 k열은 특정 출력벡터(Ok)를 야기시킨다. 즉, 가중치벡터는 특정 게임상태에서 스타일벡터(S)와 출력벡터(O) 사이의 관계(연관성)를 정의하는 정보이다.
출력벡터(O)는 스타일벡터(S)와 특정 게임상태의 가중치벡터(W)의 연산을 통해 얻어지는 가능 출력의 집합이다. 그 가능 출력의 연산값은 해당 출력이 실제 게임에서 발생할 확률과 연관되어 있다. 따라서, 가장 높은값을 가지는 가능 출력의 출력벡터값은 발생 확률이 제일 높은 것으로 정의할 수 있다. 이와 같은 함수관계를 수식으로 표현하면 다음과 같다.
Figure 112004016668678-pat00001
스타일벡터(S) : Vector S(n)
출력벡터(O) : Vector O(m)
가중치벡터(W) : Vector W(n * m)
1<=k<=n, 1<=j<=m,
정의된 n, m에 따라 가중치벡터(W)는 n*m의 2차원 행렬로 전체 상태 공간수(20,250)만큼 존재하게 된다. 따라서, 가중치벡터(W)의 j열은 스타일벡터(S)에 대하여 특정 출력벡터(Oj)를 결정짓는 연관성 정보를 저장하고 있다.
도 4는 본 발명에 따른 기술 구성에서 각 벡터들 간의 관계를 통한 학습 및 예측 환경의 개념을 도시한다.
먼저, 게임 스타일 이식시스템(1)은 테스트 게이머들이 수행한 게임로그정보를 대상으로 가중치벡터(W)를 학습시킨다. 가중치벡터(W)의 학습을 위해서는 사전에 테스트 게이머의 개인별 스타일벡터(S)가 설정되어야만 한다. 가중치벡터(W)의 학습이 끝나면, 가중치벡터(W)는 다양한 테스트 게이머들의 스타일벡터(S)로부터 출력벡터(O)를 생성시키는 일반화된 연관성 정보를 보유하게 된다. 즉, 테스트 게이머들의 게임로그에 따른 게임 진행방식을 각 스타일별로 일반화시켜 게임 스타일 이식시스템(1)에 구축한 것이다(테스트 게이머들로부터 가중치벡터 학습).
다음으로, 이식 대상 게이머의 게임로그정보를 분석하여, 그 게임로그정보에 포함된 게임출력과 일치하는 출력벡터(O)로부터 역으로 스타일벡터(S)의 학습을 수행한다.(이식 대상 게이머로부터 스타일벡터 학습).
마지막으로, 스타일벡터(S)가 수렴값에 도달하여 학습을 끝마치고, 학습된 이식 대상 게이머의 스타일벡터(S)와 일반화로 학습된 가중치벡터(W)와의 연산을 통해 출력벡터(O)를 생성한다. 그리고, 출력벡터에서의 제일 높은값에 일치하는 게임출력을 NPC로 전달하면, NPC는 이식 대상 게이머의 게임 스타일이 반영된 게임을 수행하게 된다(NPC로의 이식 대상 게이머의 스타일 이식).
도 5는 본 발명의 일 실시예에 따른 게임 스타일 이식시스템의 구성을 도시한다. 게임 스타일 이식시스템(1)은 벡터 정의모듈(10), 게임로그 생성모듈(20), 스타일벡터 수치화모듈(30), 가중치벡터 학습모듈(40), 개별 게이머 스타일벡터 학습모듈(50), 게임출력 추론모듈(60), 및 게임 어댑터모듈(70)을 포함하여 구성된 다.
벡터 정의모듈(10)은 스타일벡터(S), 가중치벡터(W), 출력벡터(O)의 항목수 및 행렬정보 등을 정의하여 벡터 정의DB(11)에 저장한다. 스타일벡터(S)는 게이머가 게임을 진행할 때의 심리적 정보, 습관, 능력을 수치화한 정보이다. 가중치벡터(W)는 특정 게임상태마다 게이머의 스타일벡터(S)에 의해 특정 출력벡터(O)가 야기되는 연관성 관계를 수치화한 정보이다. 그리고, 출력벡터(O)는 게이머가 특정 게임상황에서 입력장치의 조작을 통해 게임 행동으로 출력할 수 있는 게임출력을 수치화한 정보이다.
본 발명에 따른 게임 스타일 이식시스템(1)은 특정 게임에 종속되지 않고 다양한 게임에 있어서 적용할 수 있는 확장성을 갖는다. 따라서, 벡터 정의모듈(10)에서 각 벡터의 항목수를 특정 게임에 맞도록 설정하여 특정 게임에 적용할 수 있다. 예를 들면, 대전 액션 게임, 롤 플레잉 게임(RPG), 전략 시뮬레이션 게임에 있어서, 사용자의 게임 스타일을 항목화하여 스타일벡터(S)를 정의하고, 게임상태를 항목 구성요소 및 분할개수를 통해 전체 게임상태 공간을 정의하고, 특정 게임상태에서 출력 가능한 출력벡터(O)를 정의하면 전체 게임상태의 가중치벡터(W)를 정의할 수 있다. 이와 같은 확장성 때문에 본 발명에 따른 게임 스타일 이식시스템(1)은 특정 게임의 종류와 상관없이 독립적으로 다양한 게임에 적용할 수 있다는 장점이 있다.
본 발명에 따른 기술의 구현은 3가지 단계로 구분된다. 1단계는 테스트 게이머들의 스타일벡터(S)를 설정한 후 가중치벡터(W)를 학습시킴으로써 게임 스타일 이식시스템(1)을 구축하는 단계이다(테스트 게이머들로부터 가중치벡터 학습). 2단계는 이미 구축된 게임 스타일 이식시스템(1)을 통해 이식 대상 게이머의 게임출력(O)으로부터 역으로 사용자의 스타일벡터(S)를 학습시키는 것이다(이식 대상 게이머로부터 스타일벡터 학습). 그리고 3단계는 2단계에서의 스타일벡터(S)와 1단계에서의 가중치벡터(W)와의 연산을 통해 게임출력을 추론(예측)하여 NPC로 특정 게이머의 스타일을 이식시키는 것이다(NPC로의 이식 대상 게이머의 스타일 이식).
1단계의 구조는 테스트 게이머들의 게임로그를 통해 테스트 게이머의 스타일벡터(S)가 출력벡터(O)로 연관될 수 있도록 가중치벡터(W)를 학습시킴으로써 게임로그의 과정과 유사한 게임 진행을 하도록 게임 스타일 이식시스템(1)을 구축하는 구조이다.
게임로그 생성모듈(20)은 게임 운영시스템(100)에서 수행되는 테스트 게이머들의 게임 정보를 게임어댑터모듈(70)을 통해 전달받고 게임로그DB(21)에 저장한다.
스타일벡터 수치화모듈(30)은 게임로그DB(21)의 개인별 스타일벡터(S)를 수치화하여 스타일벡터DB(31)에 저장한다. 수치화 과정에는 다음의 2가지 모듈 중에서 어느 하나가 선택적으로 수행한다. 설문조사 수치화모듈은 테스트 게이머들을 대상으로 설문조사를 하고, 설문조사 결과를 SOFM 기법을 통해 클러스터링하여 스타일벡터(S)로 수치화하는 전통적인 기법을 사용한다. 나머지 다른 하나는 게임로그 수치화 모듈로서 게임로그DB(21)에 저장된 게임로그를 분석하여 게임 스타일항 목별로 스타일벡터(S)를 수치화하는 것이다.
가중치벡터 학습모듈(40)은 수치화된 개인별 테스트 게이머의 스타일벡터(S)와 출력벡터(O) 사이에서 반복적인 학습을 통해 가중치벡터(W)를 학습시킨다.
2단계 구조는 이식 대상 게이머의 게임로그에서 발생된 게임출력(O)으로부터 출력벡터(O)를 구하고, 역으로 출력벡터(O)로부터 1단계에서 학습된 가중치벡터(W)를 통해 이식 대상 게이머의 스타일벡터(S)를 학습시키는 것이다.
개별 게이머 스타일벡터 학습모듈(50)은 게임로그DB(21)로부터 획득한 이식 대상 게이머의 게임출력과 일치하는 출력벡터(O)에 기반하여 현재 스타일벡터와(S)와 가중치벡터(W)와 연산을 통해 반복적으로 특정 게이머의 스타일벡터(S)를 학습한다. 반복 학습에 따라 스타일벡터(S)의 값은 수렴치에 도달하게 된다.
또한, 개별 게이머 스타일벡터 학습모듈(50)은 전술한 연산기능과 더불어 스타일벡터 수치화모듈(30)의 게임로그 수치화모듈에 의하여, 이식 대상 게이머의 게임로그를 분석하여 게임 스타일항목별로 스타일벡터를 수치화하는 것도 가능하다. 양자는 이용자가 선택하여 학습 스타일을 결정할 수 있다.
3단계 구조는 게임 운영시스템의 NPC로 게임출력을 전달하여 이식 대상 게이머의 스타일에 따른 게임 행동을 NPC에 이식시키는 것이다.
게임출력 추론모듈(60)은 학습된 2단계의 스타일벡터(S)와 학습된 1단계의 가중치벡터(W)와의 행렬 연산을 통해 출력벡터(O)를 추론하고, 출력벡터(O)에 일치하는 게임출력을 게임어댑터모듈(70)을 통해 게임 운영시스템(100)의 NPC에 이식한 다.
이하, 본 발명에 따른 게임 스타일 이식시스템(1)에서의 학습에 대해서 상세히 설명한다.
특히, 본 발명에 따른 게임 스타일 이식시스템(1)의 학습에서는 가중치 벡터값(W)과 스타일 벡터값(S)의 학습 속도와 결과에 영향을 미치고자 아래의 수학식 2와 같이 지수적으로 감소하는 함수에 의해 구해지는 학습계수(A)를 통해 새롭게 학습된 벡터값을 구한다. 하기 수학식 2는 지수적 감소 함수의 일 예로서 반드시 이에 한정하는 것은 아니다. 여기서, 지수적으로 감소한다는 것은 한 번의 학습이 완료된 후 지수적 감소 함수의 연산에 의하여 새롭게 감소된 학습계수 A를 구하는 것을 말한다. 보다 상세한 설명은 학습계수(A)를 이용하는 하기 수학식 3을 통하여 설명한다.
A = a + ((A - a) * d)
A : 학습계수,
a : 최소값
d : 감소율
위의 함수는 처음 학습계수(A)를 설정한 값에서 출발해서 지수적으로 감소하는 특성을 가지고 있으며 감소율(d)을 조절함으로써 감소 속도를 조정하기에 용이하다. 예를 들어, 감소율(d)을 크게 설정하면, 학습계수(A)가 최소값(a)에 빨리 도달하기 때문에 반복 학습의 횟수가 짧아지므로 학습 속도는 빨라진다. 반복 학습의 횟수가 적어지는 것은 한편으로 학습값의 불안정(신뢰도가 낮음)을 의미할 수 있다. 따라서, 수학식 2는 경험적 정보에 따른 실험식이기 때문에 학습과정을 통해 얻어진 경험을 토대로 실험식을 구성하는 학습환경변수(A, a, d)를 조절하여 더욱 효과적인 학습을 수행할 수 있게 한다.
도 6은 본 발명의 일 실시예에 따른 가중치벡터 학습모듈(40)의 상세한 구성을 도시한다. 가중치벡터 학습모듈(40)은, 게임상태 획득모듈(42), 게임출력 획득 모듈(44), 스타일벡터 획득모듈(46), 가중치 연산처리모듈(47) 및 이들 모듈에 의해 참조되는 다수의 DB를 포함하여 구성된다.
게임상태 획득모듈(42)은 게임로그DB(21)로부터 읽어들인 테스트 게이머의 게임상태에 해당하는 게임상태 식별코드를 상기 게임상태정의DB(43)로부터 획득한다. 게임상태정의DB(43)는 상태 구성요소별 분할개수에 의해 정의되는 게임상태와 매칭되는 게임상태 식별코드를 저장한다.
게임출력 획득모듈(44)은 게임로그DB(21)로부터 읽어들인 테스트 게이머의 게임출력에 해당하는 게임출력 식별코드를 상기 게임출력정의DB(45)로부터 획득한다. 게임출력정의DB(45)는 특정 게임상태에서 사용자의 입력조작에 의하여 가능한 게임출력과 매칭되는 게임출력 식별코드를 저장한다.
스타일벡터 획득모듈(46)은 스타일벡터 수치화모듈(30)이 구축한 스타일벡터DB(31)로부터 개인별 테스트 게이머의 스타일벡터(S)를 획득한다.
가중치 연산처리모듈(47)은 게임상태 획득모듈(42)이 얻은 게임상태에 해당하는 현재 가중치벡터(W(t))를 가중치벡터DB(41)로부터 얻어내고, 현재 가중치벡터(W(t))와 스타일벡터 획득모듈(46)이 획득한 스타일벡터(S)를 연산을 통해 새로운 가중치벡터(W(t+1))로 생성하여 다시 가중치벡터DB(41)에 저장하여 전체 게이머의 일반화된 가중치 학습을 반복한다.
특히, 가중치 연산처리모듈은 게임로그로부터 추출한 실제 게임출력 O(t)와 연산 후 최대값을 가진 출력벡터 O(t)j가 일치하도록 가중치벡터(W)를 학습시키며, 그 수학식은 다음과 같다.
Figure 112004016668678-pat00002
t : 현재 시점
t+1 : 현재 시점으로부터 새롭게 학습한 시점
A : 학습계수
수학식 3에서는 전술한 수학식 2에서 설명한 학습계수(A)를 이용한다. 학습되는 가중치 벡터값(W)은 실제 게임출력 O(t)과 연산된 게임출력O(t)j의 차이값으로부터 구해지는데, 여기서 전체 게임로그를 통하여 한 번의 학습이 이루어지면, 학습계수(A)를 수학식 2를 통하여 새롭게 연산(감소됨)하여 다시 반복 학습을 한다. 반복 학습 과정에서는 출력벡터(O)의 차이값을 학습계수 A를 통하여 그 차이에 대한 반영율(보정율)을 줄임으로써 가중치 벡터값(W)을 더욱 안정된 값으로 수렴시키는 것이다. 따라서, 수학식 3을 통한 반복 학습은 연산된 게임출력O(t)j이 실제 게임출력 O(t)에 가까워지도록 가중치 벡터값(W)을 학습시키는 것이다.
도 7은 본 발명의 일 실시예에 따른 개별 게이머 스타일벡터 학습모듈(50)의 구성을 도시한다. 개별 게이머 스타일벡터 학습모듈(50)은, 게임상태 획득모듈(42), 게임출력 획득모듈(44), 스타일벡터 획득모듈(46), 스타일 연산처리모듈(51) 및 가중치벡터DB(41)를 포함하여 구성된다. 도 6에서의 가중치 학습모듈(40)과 공통된 설명 부분은 생략한다.
게임상태 획득모듈(42)은 게임로그DB(21)로부터 읽어들인 테스트 게이머의 게임상태에 해당하는 게임상태 식별코드를 상기 게임상태정의DB(43)로부터 획득한다.
게임출력 획득모듈(44)은 게임로그DB(21)로부터 읽어들인 테스트 게이머의 게임출력에 해당하는 게임출력 식별코드를 상기 게임출력정의DB로부터 획득한다.
스타일벡터 획득모듈(46)은 스타일벡터 수치화모듈(30)이 구축한 스타일벡터DB(31)로부터 개인별 테스트 게이머의 스타일벡터(S)를 획득한다.
삭제
스타일 연산처리모듈(51)은 게임상태 획득모듈(42)이 얻은 게임상태에 해당하는 가중치벡터(W)를 가중치벡터DB(41)로부터 얻어내고, 가중치벡터(W)와 스타일벡터 획득모듈(46)이 획득한 이식 대상 게이머의 현재 스타일벡터(S(t))를 연산을 통해 새로운 스타일벡터(S(t+1))로 생성하여 다시 상기 스타일벡터DB(31)에 저장하여 게이머의 개인별 스타일 학습을 반복한다.
특히, 스타일 연산처리모듈(51)은 게임로그로부터 추출한 실제 게임출력 O(t)와 연산후 최대값을 가진 출력벡터 O(t)j가 일치하도록 스타일벡터(S)를 학습시키며, 그 수학식은 다음과 같다.
Figure 112006029318339-pat00003

수학식 4에서는 수학식 3과 같이 전술한 수학식 2에서 설명한 학습계수(A)를 이용한다. 한 번의 학습이 이루어진 후 새로운 학습계수(A)를 이용한 스타일 벡터값(S)의 학습 개념은 이미 수학식 3을 통하여 설명하였기에 그 설명은 생략한다.
도 8은 본 발명의 일 실시예에 따른 게임 스타일 이식방법의 순서를 도시한다. 전술한 게임 스타일 이식시스템(1)에서와 같이 이식방법에 있어서도 3가지 단계로 구분된다. 1단계는 단계(S20) ~ 단계(S40)의 가중치벡터 학습과정, 2단계는 단계(S50)의 스타일벡터 학습과정, 3단계는 단계(S60)의 스타일 이식과정이다.
벡터정의 및 저장단계(S10)는 스타일벡터(S), 게임상태별 가중치벡터(W), 출력벡터(O)의 항목을 정의하여 벡터정의DB(11)에 저장한다. 이 단계는 게임의 종류에 따라 각각의 스타일 항목수, 게임 상태수, 출력수를 정의함으로써 범용적인 게임에 있어서 사용자의 스타일을 이식할 수 있도록 지원하는 역할을 한다.
다음, 단계(S20) 내지 단계(S40)는 테스트 게이머들의 게임로그로부터 게임 스타일 이식시스템(1)을 구축하는 단계이다. 이 과정을 통해 다수의 게이머들이 각각의 스타일에 따른 게임출력을 모델로 하여 스타일벡터(S)와 출력벡터(O) 사이의 함수 역할을 하는 가중치벡터(W)가 학습을 거쳐 일반화된 정보를 보유하게 된다.
게임로그 생성단계(S20)는 복수의 테스트 게이머들이 게임을 반복적으로 수행한 과정을 정보화하여 게임로그DB(21)에 저장함으로써 게임로그를 생성한다. 이 과정에서, 게이머는 실제 게임을 수행하고, 게이머의 아이디, 게임시간, 게이머의 게임상태정보, 게이머의 입력조작에 따른 게임출력을 포함하는 게임정보가 저장된다.
테스트 게이머 스타일벡터 설정단계(S30)에서는 게임로그로부터 개별 테스트 게이머의 게임 스타일을 분석하여 스타일벡터를 수치화하여 스타일벡터DB(31)에 저장한다.
가중치벡터 학습단계(S40)에서는 복수의 테스트 게이머들의 스타일벡터(S)에 의하여 특정 게임상태에서 특정 출력벡터(O)를 야기하는 가중치벡터(W)를 학습한다. 이것은 테스트 게이머들의 스타일벡터(S)가 게임로그로부터 구한 출력벡터(O)와 일치하도록 가중치벡터(W)를 학습시킨다. 학습된 가중치벡터(W)는 사용자의 스 타일벡터(S)와 출력벡터(O) 사이를 매핑하는 연관성 함수로서 일반화되고 정형적인 매핑 정보를 갖게된다.
위 단계를 마치면 게임 스타일 이식시스템(1)이 구축되고, 구축된 이식시스템은 특정 게이머의 게임 스타일을 추론할 수 있게된다. 스타일벡터 학습단계(S50)에서는 이식 대상 게이머의 게임로그로부터 상기 게이머가 입력조작한 게임출력에 따라 역으로 게이머의 스타일벡터(S)를 학습한다.
특히, 스타일벡터 학습단계(S50)는 현재 게이머를 이식 대상으로 삼고, 실시간 로그 파일을 생성하면서 게임이 진행하는 동안 게이머의 입력조작에 따른 게임 스타일을 실시간 학습하도록 구현하는 것이 바람직하다.
다음으로, 게이머 스타일 이식단계(S60)에서는 게임 운영시스템(100)으로부터 게임상태를 전달받고, 이식 대상 게이머의 학습된 스타일벡터(S)에 의거하여 출력벡터(O)를 추론하여 결정하고, 상기 출력벡터(O)에 일치하는 게임출력을 게임 운영시스템(100)으로 전달하여 특정 게이머의 게임 스타일을 NPC에 이식한다.
도 9는 본 발명의 일 실시예에 따른 벡터 정의 및 저장단계(S10)의 상세 단계를 도시한다.
스타일벡터 정의단계(S11)는 게이머가 게임을 진행할 때의 심리적 정보, 습관, 능력을 정의하는 스타일항목을 스타일벡터로 정의한다.
가중치벡터 정의단계(S12)는 특정 게임상태마다 게이머의 스타일벡터에 의해 특정 출력벡터가 야기되는 연관성 관계를 나타내는 가중치로 구성된 가중치벡터를 정의한다.
출력벡터 정의단계(S13)는 게이머가 특정 게임상황에서 입력장치의 조작을 통해 게임 행동으로 출력할 수 있는 게임출력 항목을 출력벡터로 정의한다.
도 10은 본 발명의 일 실시예에 따른 테스트 게이머 스타일벡터 설정단계(S30)의 상세 순서를 도시한다.
설문조사 수치화단계(S31)는 설문조사를 통해 사용자 스타일을 분석하고 그 결과는 SOFM(Self-Organizing Feature Map) 기법을 통해 클러스터링하여 스타일벡터로 수치화한다.
또한 선택적으로 게임로그 수치화단계(S32)를 채택하여 게임로그DB(21)에 저장된 게임로그를 분석하여 게임 스타일항목별로 스타일벡터를 수치화하는 것도 가능하다.
도 11은 본 발명의 일 실시예에 따른 가중치벡터 학습단계(S40)의 상세 순서를 도시한다.
학습환경변수 초기값 설정단계(S41)에서는 학습의 속도와 품질에 영향을 미지는 학습환경변수(A, a, d)를 초기화한다. 가중치벡터 초기값 설정단계(S42)에서는 학습의 준비를 위해 임의의 초기값을 설정한다.
다음, 게임로그정보 읽기단계(S43)에서 테스트 게이머의 게임로그를 하나씩 읽어들인다. 게임상태 획득단계(S44)에서는 읽어들인 게임로그로부터 게임상태를 획득한다. 현재 가중치벡터 읽기단계(S45)에서는 획득한 현재 게임상태의 가중치벡터(W)를 읽어들인다. 새로운 가중치벡터 생성 및 저장단계(S47)에서는 전술한 수학식 3, 4에 따라 반복적으로 가중치벡터(W)를 학습한다.
한 번의 학습이 끝나면 다음번 게임로그를 읽어들임에 따라 동일한 테스트 게이머의 게임로그에 따라 게임상태가 바뀌고, 다음으로는 다음번 테스트 게이머로 넘어가게 된다. 반복된 학습에 따라 최대반복횟수에 도달하거나 수렴치에 도달하게 될 경우 학습은 종료되고, 그렇지 않은 경우에는 학습계수 조정단계(S48)에서 수학식 2를 통해 학습계수(A)를 조절한 후 게임로그DB(21)의 재읽기를 수행한다.
도 12는 본 발명의 일 실시예에 따른 가중치벡터 생성 및 저장단계(S47)의 상세 순서를 도시한다.
출력벡터 획득단계(S471)에서는 테스트 게이머들의 게임로그로부터 게임출력을 추출한다. 출력벡터 차이 연산단계(S472)는 실제 게임출력과 일치하는 출력벡터(O)와 연산에 의해 추론된 출력벡터의 차이를 구한다. 출력벡터 차이 및 스타일벡터의 연산단계(S473)는 단계(S472)에서 구한 차이에 스타일벡터를 곱한다. 단계(S471) 내지 단계(S473) 사이의 과정에서는 수학식 3이 사용된다.
도 13은 본 발명의 일 실시예에 따른 스타일벡터 학습단계(S50)의 상세 순서를 도시한다.
학습환경변수 초기값 설정단계(S51)에서는 학습의 속도와 품질에 영향을 미지는 학습환경변수(A, a, d)를 초기화한다. 스타일벡터 초기값 설정단계(S52)에서는 학습의 준비를 위해 임의의 초기값을 설정한다.
다음, 게임로그정보 읽기단계(S53)에서 이식 대상 게이머의 게임로그를 하나씩 읽어들인다. 게임상태 획득단계(S54)에서는 읽어들인 게임로그로부터 게임상태를 획득한다. 가중치벡터 읽기단계(S55)에서는 이미 학습된 게임상태의 가중치벡터(W)를 읽어들인다. 새로운 스타일벡터 생성 및 저장단계(S57)에서는 전술한 수학식 5, 6에 따라 반복적으로 스타일벡터(S)를 학습한다.
반복된 학습에 따라 최대반복횟수에 도달하거나 수렴치에 도달하게 될 경우 학습은 종료되고, 그렇지 않은 경우에는 학습계수 조정단계(S48)에서 수학식 2를 통해 학습계수(A)를 조절한 후 게임로그DB(21)의 재읽기를 수행한다.
도 14는 본 발명의 일 실시예에 따른 새로운 스타일벡터 생성 및 저장단계(S57)의 상세 순서를 도시한다. 출력벡터 획득단계(S571)에서는 이식 대상 게이머들의 게임로그로부터 게임출력을 추출한다. 출력벡터 차이 연산단계(S572)는 실제 게임출력과 일치하는 출력벡터와 연산에 의해 추론된 출력벡터와 차이를 구한다. 출력벡터 차이 및 가중치벡터의 연산단계(S573)는 단계(S572)에서 구한 차이에 가중치벡터를 곱한다. 단계(S571) 내지 단계(S573) 사이의 과정에서는 수학식 4가 사용된다.
특히, 이식 대상 게이머의 게임 스타일 학습단계에서는 게임로그의 게임출력으로부터 역으로 연산하는 방법도 가능하며, 도 10에 도시한 테스트 게이머 스타일벡터 설정단계(S30)의 게임로그 수치화단계(S32)를 채택하여 게임로그DB(21)에 저장된 게임로그를 분석하여 게임 스타일항목별로 스타일벡터를 수치화하는 것도 가능하다. 양자는 선택적이다.
도 15는 본 발명의 일 실시예에 따른 게이머 스타일 이식단계(S60)의 상세 순서를 도시한다.
게임상태 수신단계(S61)에서는 게임 운영시스템(1)으로부터 이식 대상 게이 머의 게임상태를 전달받는다. 스타일벡터 읽기단계(S62))에서는 이식 대상 게이머의 스타일벡터(S)를 읽어들인다. 가중치벡터 읽기단계(S63)에서는 테스트 게이머들의 게임로그를 통해 이미 학습된 가중치벡터(W)를 읽어들인다.
출력벡터 생성단계(S64)에서는 수학식 1을 이용하여 읽어들인 스타일벡터(S)와 가중치벡터(W)로부터 출력벡터(O)를 생성한다. 게임출력 송신단계(S65)에서는 생성된 출력벡터(O)의 가장 높은값과 일치하는 게임출력을 게임 운영시스템(1)으로 전달한다.
게임 운영시스템(1)은 전달받은 게임출력에 의해 NPC를 동작시키기 때문에 NPC는 이식 대상 게이머의 게임 스타일에 따라 게임 행동을 하게 된다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
도 16은 본 발명의 일 실시예에 따른 게이머 스타일 이식시스템 및 방법에 의하여 스타일 이식 결과를 분석한 그래프를 도시한다.
학습 및 이식의 대상이 되는 게이머의 행동과 NPC 이식 결과는 다음과 같다.
A)게임에서 아무런 이벤트 발생이 없을 경우, 게이머도 정지하고 있는 상황에 대한 학습
=> NPC도 게임진행과정에서 가만히 서 있음.
B)게임 진행 과정에서 게이머의 전후 방향으로 이동하는 게임 행동을 학습
=> NPC도 게임 진행 동안 전후 방향으로 이동함.
C)게이머가 상대방에 대하여 펀치 및 발차기 공격을 하는 게임 행동을 학습
=> NPC도 상대방 캐릭터에게 주먹/발 공격 행위를 함.
D)게임 진행 동안 상대방 캐릭터의 공격에 대하여 방어만을 하도록 학습
=> NPC도 상대방에 대하여 방어 행위만을 함.
E)게임 진행 동안 게이머의 스타일에 따른 이동/공격/방어의 액션을 학습
=>NPC는 게임 진행 동안 상황에 따라 이동/공격/방어 행위를 함
도 16에 도시한 그래프는 위에서의 A, B, C, D, E 시나리오에 의한 학습 및 이식을 통해 나타난 결과를 보여준다. 가중치벡터(W) 학습의 조건으로는 최대 반복 회수를 100으로 하였다. 또한, 게임상태는 나의 액션(Action1), 상대방의 액션(Action2), 나와 상대방의 거리(Distance)로 제한하였다. 그리고 학습율은 이식 대상 게이머의 게임로그에 기록된 게임출력과 이식된 NPC의 게임출력의 일치성을 퍼센티지로 표시하였다.
결과를 볼 때 시나리오 A에 대한 학습은 100%의 일치율을 나타냈고, 각 시나리오에 대한 일치율은 평균 85% 이상으로 나타났다.
도 17a 및 도 17b는 다른 종류의 게임에 본 발명의 기술을 적용할 때 게임상태를 구성하는 구성요소의 예를 도시한다. 도 17a는 롤플레잉 게임(RPG)을 대상으로 할 때 상태 분할 요소의 예를 도시하며, 도 17b는 전략 시뮬레이션 게임을 대상으로 할 때 상태 분할 요소의 예를 도시한다.
이용자는 게임의 종류에 따라서 게임상태를 구성하는 구성요소 및 분할개수를 정의하여 게임상태를 정의하고, 사용자의 스타일을 분석하는 항목수를 정의함으로써 다양한 종류의 게임에 본 발명의 기술을 적용하는 것이 가능하다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의하여 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등법위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명의 일 측면에 따르면, 게이머의 게임 스타일을 게임 스타일벡터와 가중치벡터로 분석함으로써 한정된 정의영역에서 제한된 벡터 연산을 통해 게임시스템의 프로세스에 부하를 적게 주는 게임시스템을 구축할 수 있다.
본 발명의 다른 측면에 따르면, 특정 게이머의 게임 스타일을 이식시킨 인공지능이 활동하는 게임 시스템을 제공함으로써, 게이머 부재시 상기 인공지능을 대신하여 게임하도록 할 수 있다.
본 발명의 또 다른 측면에 따르면, 유명 프로게이머의 게임 스타일을 이식시킨 인공지능을 일반 게이머와 겨룰 수 있게 함으로써 보다 역동적인 게임 서비스를 제공할 수 있다.

Claims (21)

  1. 이식 대상 게이머의 게임 스타일을 학습하여 NPC로 이식하는 게임 스타일 이식시스템에 있어서,
    스타일벡터, 게임상태별 가중치벡터, 출력벡터의 항목을 벡터정의DB에 저장하는 벡터 정의모듈;
    복수의 테스트 게이머들이 게임을 수행한 과정을 정보화하여 게임로그DB에 저장함으로써 게임로그를 생성하는 게임로그 생성모듈;
    상기 게임로그DB에 저장된 개별 테스트 게이머의 게임 스타일을 분석하고 수치화함으로써 스타일벡터DB에 저장하는 스타일벡터 수치화모듈;
    상기 게임로그DB에 저장된 테스트 게이머들의 게임출력에 의거하여 현재 가중치벡터로부터 학습된 가중치벡터를 가중치벡터DB에 저장함으로써 일반화된 게임상태별 가중치벡터를 학습하는 가중치벡터 학습모듈;
    이식 대상 게이머의 게임로그에 의거하여 유도된 스타일벡터를 스타일벡터DB에 저장함으로써 추론화된 스타일벡터를 학습하는 개별 게이머 스타일벡터 학습모듈;
    이식 대상 게이머에 대하여 상기 개별 게이머 스타일벡터 학습모듈이 학습한 스타일벡터와 현재 게임상태의 가중치벡터로부터 출력벡터를 예측하여 결정하는 게임출력 추론모듈; 및
    특정 게임 운영시스템에 종속되고, 상기 게임 운영시스템의 NPC에 특정 게이 머의 게임스타일을 이식하기 위하여, 상기 게임 운영시스템으로부터 현재 게임상태를 전달받고, 상기 게임출력 추론모듈이 생성한 출력벡터와 일치하는 게임출력을 상기 게임 운영시스템으로 전달하는 게임 어댑터모듈
    을 포함하여 이루어지는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  2. 제 1 항에 있어서,
    상기 벡터정의모듈은,
    게이머가 게임을 진행할 때의 심리적 정보, 습관, 능력을 정의하는 스타일항목을 스타일벡터로 정의하고,
    특정 게임상태마다 게이머의 스타일벡터에 의해 특정 출력벡터가 야기되는 연관성 관계를 나타내는 가중치로 구성된 가중치벡터를 정의하고,
    게이머가 특정 게임상황에서 입력장치의 조작을 통해 게임 행동으로 출력할 수 있는 게임출력 항목을 출력벡터로 정의함으로써,
    특정 게임의 종류와 독립적으로 다양한 게임에 적용할 수 있는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 게임상태는,
    게임이 진행되는 상황을 정의하는 상태구성요소와 상기 상태구성요소 단위당 부여된 분할개수에 따라 전체 게임상태의 개수가 정해짐으로써,
    상기 상태구성요소 및 상기 분할개수가 많아질수록 세분화된 게임상태를 형성하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  4. 제 1 항에 있어서,
    상기 스타일벡터 수치화모듈은,
    테스트 게이머들을 대상으로 설문조사를 하고, 설문조사 결과를 SOFM 기법을 통해 클러스터링하여 스타일벡터로 수치화하는 설문조사 수치화모듈; 및
    상기 게임로그DB에 저장된 게임로그를 분석하여 게임 스타일항목별로 스타일벡터를 수치화하는 게임로그 수치화모듈
    중에서 어느 하나를 선택하여 각 테스트 게이머별로 수치화된 데이터를 상기 스타일벡터DB에 저장하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  5. 제 1 항에 있어서,
    상기 가중치벡터 학습모듈은,
    상태 구성요소별 분할개수에 의해 정의되는 게임상태와 매칭되는 게임상태 식별코드가 수록되어 있는 게임상태정의DB;
    상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임상태에 해당하는 게임 상태 식별코드를 상기 게임상태정의DB로부터 획득해내는 게임상태 획득모듈;
    특정 게임상태에서 사용자의 입력조작에 의한 게임출력과 매칭되는 게임출력 식별코드가 수록되어 있는 게임출력정의DB;
    상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임출력에 해당하는 게임출력 식별코드를 상기 게임출력정의DB로부터 획득해내는 게임출력 획득모듈;
    상기 스타일벡터 수치화모듈이 분석한 개인별 테스트 게이머의 스타일벡터를 저장하는 스타일벡터DB;
    상기 스타일벡터DB로부터 스타일벡터를 획득해내는 스타일벡터 획득모듈;
    특정 게임상태별로 상기 스타일벡터를 출력벡터로 매핑시키는 게임상태별 가중치벡터를 저장하는 가중치벡터DB; 및
    상기 게임상태 획득모듈이 얻은 게임상태에 해당하는 현재 가중치벡터를 상기 가중치벡터DB로부터 얻어내고, 상기 현재 가중치벡터와 상기 스타일벡터 획득모듈이 획득한 상기 스타일벡터를 연산을 통해 새로운 가중치벡터로 생성하여 다시 상기 가중치벡터DB에 저장하여 학습을 반복하는 가중치 연산처리모듈
    을 포함하여 이루어지고,
    상기 게임로그DB로부터 읽어들인 테스트 게이머들의 게임정보에 의거하여 상기 가중치 연산처리모듈의 연산을 통해 가중치벡터를 반복적으로 학습하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  6. 제 5 항에 있어서,
    상기 가중치 연산처리모듈은,
    상기 스타일벡터 획득모듈이 획득한 스타일벡터;
    상기 게임상태 획득모듈이 얻은 게임상태에 대하여 상기 가중치벡터DB로부터 얻어낸 현재 가중치벡터; 및
    상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임상태에 따른 게임출력으로부터 얻어낸 출력벡터
    로부터 새로운 가중치 벡터값을 생성하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  7. 제 1 항에 있어서,
    상기 개별 게이머 스타일벡터 학습모듈은,
    상태 구성요소별 분할개수에 의해 정의되는 게임상태와 매칭되는 게임상태 식별코드가 수록되어 있는 게임상태정의DB;
    상기 게임로그DB로부터 읽어들인 이식 대상 게이머의 게임상태에 해당하는 게임상태 식별코드를 상기 게임상태정의DB로부터 획득해내는 게임상태 획득모듈;
    특정 게임상태에서 사용자의 입력조작에 의한 게임출력과 매칭되는 게임출력 식별코드가 수록되어 있는 게임출력정의DB;
    상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임출력에 해당하는 게임출력 식별코드를 상기 게임출력정의DB로부터 획득해내는 게임출력 획득모듈;
    이식 대상 게이머의 스타일벡터를 저장하는 스타일벡터DB;
    상기 스타일벡터DB로부터 현재 스타일벡터를 획득해내는 스타일벡터 획득모듈;
    특정 게임상태별로 상기 스타일벡터를 출력벡터로 매핑시키는 게임상태별 가중치벡터를 저장하는 가중치벡터DB; 및
    상기 게임상태 획득모듈이 얻은 게임상태에 해당하는 가중치벡터를 상기 가중치벡터DB로부터 얻어내고, 상기 가중치벡터와 상기 스타일벡터 획득모듈이 획득한 이식 대상 게이머의 상기 현재 스타일벡터를 연산을 통해 새로운 스타일벡터로 생성하여 다시 상기 스타일벡터DB에 저장하여 학습을 반복하는 스타일 연산처리모듈
    을 포함하여 이루어지고,
    상기 게임로그DB로부터 읽어들인 이식 대상 게이머의 게임정보에 의거하여 상기 스타일 연산처리모듈의 연산을 통해 스타일벡터를 반복적으로 수행하고, 패턴화된 상기 가중치벡터값으로부터 역으로 이식 대상 게이머의 스타일벡터값을 수렴시킴으로써 학습하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  8. 제 1 항에 있어서,
    상기 개별 게이머 스타일벡터 학습모듈은,
    상기 스타일벡터 수치화모듈이 포함하는 게임로그 수치화모듈에 의하여, 이식 대상 게이머의 게임로그를 분석하여 게임 스타일항목별로 스타일벡터를 수치화 하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 개별 게이머 스타일벡터 학습모듈은,
    실시간으로 이식 대상의 게이머가 진행하는 게임로그를 생성하여 상기 이식 대상 게이머의 게임 스타일벡터를 실시간 학습시키는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  10. 제 7 항에 있어서,
    상기 스타일 연산처리모듈은,
    상기 스타일벡터 획득모듈이 획득한 스타일벡터;
    상기 가중치벡터 학습모듈이 테스트 게이머들로부터 학습한 가중치벡터; 및
    상기 게임로그DB로부터 읽어들인 테스트 게이머의 게임상태에 따른 게임출력으로부터 얻어낸 출력벡터
    로부터 새로운 스타일 벡터값을 생성하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  11. 제 6 항 또는 제 10 항에 있어서,
    상기 인공지능 학습은,
    상기 벡터값의 학습 속도와 결과에 영향을 미치고자 지수적으로 감소하는 함수(예 : 수학식 2참조)에 의해 구해지는 학습계수(A)를 이용하고, 상기 게임로그DB의 모든 로그를 통해 한 번의 학습이 이루어질 때마다 감소된 상기 학습계수로 재학습이 이루어지도록 하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템.
  12. 이식 대상 게이머의 게임 스타일을 학습하여 NPC로 이식하는 게임 스타일 이식방법에 있어서,
    (1)스타일벡터, 게임상태별 가중치벡터, 출력벡터의 항목을 정의하여 벡터정의DB에 저장하는 단계;
    (2)복수의 테스트 게이머들이 게임을 반복적으로 수행한 과정을 정보화하여 게임로그DB에 저장함으로써 게임로그를 생성하는 단계;
    (3)상기 게임로그DB에 저장된 개별 테스트 게이머의 게임 스타일을 분석하고 수치화함으로써 스타일벡터DB에 저장하는 단계;
    (4)복수의 테스트 게이머들의 스타일벡터에 의하여 특정 게임상태에서 특정 출력벡터를 야기하는 가중치벡터를 학습하는 단계;
    (5)이식 대상 게이머의 게임로그로부터 상기 게이머가 입력조작한 게임출력에 따라 상기 게이머의 스타일벡터를 학습하는 단계; 및
    (6)게임 운영시스템으로부터 게임상태를 전달받고, 이식 대상 게이머의 학습된 스타일벡터에 의거하여 출력벡터를 추론하여 결정하고, 상기 출력벡터에 대응하는 출력값을 게임 운영시스템으로 전달하여 특정 게이머의 게임 스타일을 NPC에 이식하는 단계
    를 포함하여 이루어지는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  13. 제 12 항에 있어서,
    상기 단계(1)는,
    (1-1)게이머가 게임을 진행할 때의 심리적 정보, 습관, 능력을 정의하는 스타일항목을 스타일벡터로 정의하는 단계;
    (1-2)특정 게임상태마다 게이머의 스타일벡터에 의해 특정 출력벡터가 야기되는 연관성 관계를 나타내는 가중치로 구성된 가중치벡터를 정의하는 단계; 및
    (1-3)게이머가 특정 게임상황에서 입력장치의 조작을 통해 게임 행동으로 출력할 수 있는 게임출력 항목을 출력벡터로 정의하는 단계
    를 포함하여 이루어져,
    특정 게임의 종류와 독립적으로 다양한 게임에 적용할 수 있는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  14. 제 12 항에 있어서,
    상기 단계(2)는,
    게이머의 아이디, 게임시간, 게이머의 게임상태정보, 게이머의 입력조작에 따른 게임출력정보를 포함하는 게임로그를 상기 게임로그DB에 저장하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  15. 제 12 항에 있어서,
    상기 단계(3)는,
    (3-1)테스트 게이머들을 대상으로 설문조사를 하고, 설문조사 결과를 SOFM 기법을 통해 클러스터링하여 스타일벡터로 수치화하는 단계; 및
    (3-2)상기 게임로그DB에 저장된 게임로그를 분석하여 게임 스타일항목별로 스타일벡터를 수치화하는 단계
    중에서 어느 하나의 단계를 선택하여 각 테스트 게이머별로 수치화된 스타일벡터를 상기 스타일벡터DB에 저장하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  16. 제 12 항에 있어서,
    상기 단계(4)는,
    (4-1)학습 환경 변수에 초기값을 설정하는 단계;
    (4-2)가중치벡터DB에 임의의 초기값을 설정하는 단계;
    (4-3)게임로그DB로부터 테스트 게이머의 게임로그정보를 읽어들이는 단계;
    (4-4)상기 게임로그정보로부터 게임상태를 획득하는 단계;
    (4-5)상기 게임상태에 따른 현재 가중치벡터를 상기 가중치벡터DB로부터 읽어들이는 단계;
    (4-6)상기 단계(3)에서 구축한 상기 게이머스타일DB로부터 상기 게이머의 스타일벡터를 읽어들이는 단계; 및
    (4-7)상기 단계(4-5)의 현재 가중치벡터와 단계(4-6)의 스타일벡터로부터 연 산을 통해 새로운 가중치벡터를 생성하여 다시 상기 가중치벡터DB에 저장하여 학습하는 단계
    를 포함하여 이루어져,
    상기 게임로그DB로부터 읽어들인 테스트 게이머들의 게임정보에 의거하여 연산을 통해 상기 가중치벡터를 반복적으로 학습하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  17. 제 16 항에 있어서,
    상기 단계(4-7)는,
    (4-7-1)상기 게임로그DB로부터 게이머의 게임출력과 일치하는 출력벡터를 획득하는 단계;
    (4-7-2)상기 단계(4-7-1)의 출력벡터와 현재 추론한 출력벡터와의 차이를 구하는 단계;
    (4-7-3)상기 단계(4-7-2)에서 구한 차이에 게이머의 스타일벡터를 곱함으로써 새로운 학습값을 구하는 단계
    를 포함하여 이루어지는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  18. 제 12 항에 있어서,
    상기 단계(5)는,
    (5-1)학습 환경 변수에 초기값을 설정하는 단계;
    (5-2)스타일벡터DB에 이식 대상 게이머의 게임 스타일벡터를 초기값으로 설정하는 단계;
    (5-3)게임로그DB로부터 테스트 게이머의 게임로그정보를 읽어들이는 단계;
    (5-4)상기 게임로그정보로부터 게임상태를 획득하는 단계;
    (5-5)상기 게임상태에 따른 가중치벡터를 상기 가중치벡터DB로부터 읽어들이는 단계;
    (5-6)상기 단계(5-2)에서 구축한 상기 게이머스타일DB로부터 상기 게이머의 현재 스타일벡터를 읽어들이는 단계; 및
    (5-7)상기 단계(5-5)의 가중치벡터와 단계(5-6)의 현재 스타일벡터로부터 연산을 통해 새로운 스타일벡터를 생성하여 다시 상기 스타일벡터DB에 저장하여 학습하는 단계
    를 포함하여 이루어져,
    상기 게임로그DB로부터 읽어들인 이식 대상 게이머의 게임정보에 의거하여 연산을 통해 상기 스타일벡터를 반복적으로 학습하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  19. 제 18 항에 있어서,
    상기 단계(5-7)는,
    (5-7-1)상기 게임로그DB로부터 게이머의 게임출력과 일치하는 출력벡터를 획 득하는 단계;
    (5-7-2)상기 단계(5-7-1)의 출력벡터와 현재 추론한 출력벡터와의 차이를 구하는 단계;
    (5-7-3)상기 단계(5-7-2)에서 구한 차이에 일반화된 가중치벡터를 곱함으로써 새로운 학습값을 구하는 단계
    를 포함하여 이루어져 상기 스타일벡터를 반복적으로 학습하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  20. 제 16 항 또는 제 18 항에 있어서,
    상기 학습 환경 변수는,
    학습의 속도와 결과에 영향을 미치고자 지수적으로 감소하는 함수(예 : 수학식 2 참조)에 의하여 학습계수(A)로 구해지고, 상기 게임로그DB의 모든 로그를 통해 한 번의 학습이 이루어질 때마다 감소된 상기 학습계수로 재학습이 이루어지도록 하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
  21. 제 12 항에 있어서,
    상기 단계(6)는,
    (6-1)게임 운영시스템에서의 NPC가 처한 게임상태를 전달받는 단계;
    (6-2)상기 단계(5)에서 학습한 이식 대상 게이머의 스타일벡터를 상기 스타일벡터DB로부터 읽어들이는 단계;
    (6-3)상기 단계(4)에서 학습한 가중치벡터DB로부터 상기 단계(6-1)의 게임상태에 따른 가중치벡터를 읽어들이는 단계;
    (6-4)상기 단계(6-2)의 스타일벡터와 상기 단계(6-3)의 가중치벡터를 연산하여 출력벡터를 생성하는 단계; 및
    (6-5)상기 출력벡터 중에서 제일 높은값에 해당하는 벡터값에 대응하는 게임출력을 상기 게임 운영시스템으로 전달하는 단계
    를 포함하여 이루어져, 이식 대상 게이머의 스타일을 학습한 상기 스타일벡터와 테스트 게이머들의 게임로그로부터 학습한 가중치벡터와의 연산을 통해 출력을 예측하여 상기 게임 운영시스템으로 전달하여 NPC에 이식하는 것을 특징으로 하는 인공지능 학습을 통한 게이머의 게임 스타일 이식방법.
KR1020040027918A 2004-03-31 2004-04-22 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법 KR100621559B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040022382 2004-03-31
KR1020040022382 2004-03-31

Publications (2)

Publication Number Publication Date
KR20050096791A KR20050096791A (ko) 2005-10-06
KR100621559B1 true KR100621559B1 (ko) 2006-09-18

Family

ID=37276801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040027918A KR100621559B1 (ko) 2004-03-31 2004-04-22 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법

Country Status (1)

Country Link
KR (1) KR100621559B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220071B1 (ko) * 2008-03-26 2013-01-08 인텔 코오퍼레이션 추론적 피직스 모델링과 목적-기반 인공 지능의 결합
KR20210085894A (ko) 2019-12-31 2021-07-08 한국전자통신연구원 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템
US11484788B2 (en) 2019-12-31 2022-11-01 Electronics And Telecommunications Research Institute Apparatus and method for predicting result of the computer game

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101108987B1 (ko) * 2009-03-05 2012-01-31 한국전자통신연구원 공간 분할을 이용한 게임 캐릭터의 패턴 학습 장치 및 방법
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
KR20200006792A (ko) 2018-07-11 2020-01-21 한림대학교 산학협력단 다른 장치로 인식기를 이식하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR102318854B1 (ko) * 2019-09-16 2021-10-28 넷마블 주식회사 인공지능을 활용한 게임 밸런스 조절 방법 및 장치
KR102271717B1 (ko) * 2019-09-20 2021-06-30 넷마블 주식회사 게임 대전 제공 방법
KR102431050B1 (ko) * 2020-08-18 2022-08-10 주식회사 이산기술 인공지능 방식의 두뇌 기능 향상을 위한 게임 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010001072A (ko) * 1999-06-01 2001-01-05 부원영 네트웍을 이용한 온라인 축구 게임 및 그 방법
JP2002269589A (ja) 2001-03-12 2002-09-20 Zero Staff:Kk オンデマンドマイクローンシステム
KR20030021762A (ko) * 2001-09-07 2003-03-15 (주)오디티디 인터넷을 이용한 게임 제공방법
KR20030040739A (ko) * 2001-11-15 2003-05-23 주식회사 훈 넷 가상 게이머를 이용한 인터넷 게임 시스템 및 그 방법
KR20050082860A (ko) * 2004-02-20 2005-08-24 주식회사 배틀겜 유전자 알고리즘과 역동학 애니메이션을 적용한 캐릭터성장시스템 및 이를 이용한 캐릭터 성장방법
KR20050085457A (ko) * 2005-06-09 2005-08-29 노키아 코포레이션 다중 플레이어 게임의 플레이어가 부재중인 경우, 전자다중 플레이어 게임을 계속하는 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010001072A (ko) * 1999-06-01 2001-01-05 부원영 네트웍을 이용한 온라인 축구 게임 및 그 방법
JP2002269589A (ja) 2001-03-12 2002-09-20 Zero Staff:Kk オンデマンドマイクローンシステム
KR20030021762A (ko) * 2001-09-07 2003-03-15 (주)오디티디 인터넷을 이용한 게임 제공방법
KR20030040739A (ko) * 2001-11-15 2003-05-23 주식회사 훈 넷 가상 게이머를 이용한 인터넷 게임 시스템 및 그 방법
KR20050082860A (ko) * 2004-02-20 2005-08-24 주식회사 배틀겜 유전자 알고리즘과 역동학 애니메이션을 적용한 캐릭터성장시스템 및 이를 이용한 캐릭터 성장방법
KR20050085457A (ko) * 2005-06-09 2005-08-29 노키아 코포레이션 다중 플레이어 게임의 플레이어가 부재중인 경우, 전자다중 플레이어 게임을 계속하는 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220071B1 (ko) * 2008-03-26 2013-01-08 인텔 코오퍼레이션 추론적 피직스 모델링과 목적-기반 인공 지능의 결합
KR20210085894A (ko) 2019-12-31 2021-07-08 한국전자통신연구원 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템
US11484788B2 (en) 2019-12-31 2022-11-01 Electronics And Telecommunications Research Institute Apparatus and method for predicting result of the computer game

Also Published As

Publication number Publication date
KR20050096791A (ko) 2005-10-06

Similar Documents

Publication Publication Date Title
Torrado et al. Deep reinforcement learning for general video game ai
Weber et al. A data mining approach to strategy prediction
CN111282267B (zh) 信息处理方法、装置、介质及电子设备
Knegt et al. Opponent modelling in the game of Tron using reinforcement learning
Sironi et al. Self-adaptive mcts for general video game playing
Othman et al. Simulation-based optimization of StarCraft tactical AI through evolutionary computation
CN113688977A (zh) 面向对抗任务的人机共生强化学习方法、装置、计算设备及存储介质
KR100621559B1 (ko) 인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법
Pérez-Liébana et al. Analyzing the robustness of general video game playing agents
Tang et al. A review of computational intelligence for StarCraft AI
Perez-Liebana et al. Generating diverse and competitive play-styles for strategy games
Nam et al. Generation of diverse stages in turn-based role-playing game using reinforcement learning
CN116090549A (zh) 一种基于知识驱动的多智能体强化学习决策方法、系统及存储介质
Nakashima et al. Performance evaluation of an evolutionary method for robocup soccer strategies
KR100850913B1 (ko) 게임 캐릭터 형성방법
Chia et al. Designing card game strategies with genetic programming and monte-carlo tree search: A case study of hearthstone
Bangay et al. Generating an attribute space for analyzing balance in single unit RTS game combat
Mora et al. Creating autonomous agents for playing Super Mario Bros game by means of evolutionary finite state machines
Mandai et al. Alternative multitask training for evaluation functions in game of Go
CN117648585B (zh) 基于任务相似度的智能决策模型泛化方法和装置
KR20030072640A (ko) 싸이버클론이 활동하는 게임시스템 및 게임방법
Vaccaro et al. Planning an endgame move set for the game RISK: a comparison of search algorithms
Fangasadha et al. Literature Review of OpenAI Five’s Mechanisms in Dota 2’s Bot Player
Yamagishi et al. Hardware-oriented deep reinforcement learning for edge computing
KR100586088B1 (ko) 특정 게이머의 게임 스타일이 이식된 에이전트 npc의능력 개선시스템 및 그 능력 개선방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee