KR100850913B1 - 게임 캐릭터 형성방법 - Google Patents

게임 캐릭터 형성방법 Download PDF

Info

Publication number
KR100850913B1
KR100850913B1 KR1020060122190A KR20060122190A KR100850913B1 KR 100850913 B1 KR100850913 B1 KR 100850913B1 KR 1020060122190 A KR1020060122190 A KR 1020060122190A KR 20060122190 A KR20060122190 A KR 20060122190A KR 100850913 B1 KR100850913 B1 KR 100850913B1
Authority
KR
South Korea
Prior art keywords
character
game
intelligent
pool
opponent
Prior art date
Application number
KR1020060122190A
Other languages
English (en)
Other versions
KR20080051328A (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 KR1020060122190A priority Critical patent/KR100850913B1/ko
Publication of KR20080051328A publication Critical patent/KR20080051328A/ko
Application granted granted Critical
Publication of KR100850913B1 publication Critical patent/KR100850913B1/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/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

Abstract

본 발명은 게임 캐릭터의 형성방법에 관한 것이다.
본 발명은 지능 캐릭터 풀을 준비하는 단계; 상대 캐릭터 풀을 준비하는 단계; 및 상기 지능 캐릭터와 상기 상대 캐릭터를 게임에서 처리하여, 상기 지능 캐릭터를 업그레이드하는 단계를 포함하여 이루어지는 것을 특징으로 하는 게임 캐릭터 형성 방법을 제공한다.
따라서, 본 발명에 의하면 게임 캐릭터의 형성 시간과 노력을 줄이고, 다양한 유형의 캐릭터를 제공할 수 있으며, 대전 게임에서 사용자가 게임을 진행할수록 게임의 난이도를 높여서, 사용자가 계속해서 게임에 흥미를 가지게 할 수 있다.
대전 게임, 캐릭터

Description

게임 캐릭터 형성방법{method for configuring game character}
도 1은 본 발명에 따른 게임 캐릭터 형성방법의 일실시예의 흐름도이고,
도 2는 본 발명에 따른 게임 캐릭터 형성방법의 일실시예의 개념을 개략적으로 나타낸 도면이고,
도 3은 지능 캐릭터의 적합도 평가에서 반영되는 가중치를 나타낸 그래프이고,
도 4는 다층 퍼셉트론 형태의 신경회로망을 사용하는 지능 캐릭터의 유전자 알고리즘을 개략적으로 나타낸 도면이고,
도 5는 유저가 원하는 수준의 지능 캐릭터를 생성하기 위해 교배 및 돌연변이 확률을 조절하는 방법을 나타낸 그래프이고,
도 6은 본 발명에 따른 게임 캐릭터 형성시스템의 일실시예의 블럭도이다.
<도면의 주요 부분에 대한 부호의 설명>
600 : 지능 캐릭터 풀 610 : 상대 캐릭터 풀
620 : 전장 630 : 업그레이드부
본 발명은 게임 캐릭터의 형성방법에 관한 것으로서, 보다 상세하게는 대전 액션 게임용 지능 캐릭터의 진화 학습방법에 관한 것이다.
복수의 게임 캐릭터 사이에서 대전이 진행되어 실행되는 비디오 게임을 대전 게임이라 하며, 상술한 게임 캐릭터 사이의 액션에 의하여 진행되는 게임을 대전 액션 게임이라 한다. 그리고, 게임 캐릭터는 비디오게임의 유저(user)들의 대표로서 비디오 게임에 참여하고, 각각 다른 캐릭터와 대전한다. 통상적으로, 대전 게임에서는 복수 개의 캐릭터가 등장하는데, 이하에서는 유저(user)가 조정하는 캐릭터를 지능 캐릭터라 하고, 컴퓨터의 중앙처리장치(CPU) 등으로 조정되는 캐릭터를 상대 캐릭터라고 한다.
상술한 대전 게임에서는, 대전에 참여하는 각각의 독립 캐릭터 데이터를 준비하여 게임을 진행한다. 예컨대, 인간 대 인간 경쟁에서는 각각의 유저는 그 자신의 캐릭터를 위한 데이터를 미리 준비하여 캐릭터를 설정한다. 그리고, 유저가 스스로 자신의 캐릭터 데이터를 준비할 수 없다면, 대전 게임 프로그램 내에 미리 준비된 캐릭터가 사용된다. 그런데, 프로그램 내에 미리 준비된 캐릭터는 한정되어 있을 뿐더러, 게임의 변화를 거의 반영하지 못한다는 문제점이 있었다. 이러한, 문제점들을 해결하기 위하여 대전 게임의 캐릭터 형성에, 인공지능의 기법을 접목하려는 시도가 있었다. 그동안의 시도에서는 인공지능 기법으로서 주로 유한 상태 기계(Finite State Machine:FSM), 퍼지 상태 기계(Fuzzy State Machine:FuSM) 및 인공생명 등을 사용하였다.
먼저, 인공생명이란 생명체가 나타내는 현상을 컴퓨터, 로봇 등과 같은 인공 매체 상에 재현함으로써 생명의 일반적인 특성에 대해 연구하는 학문이다. 생물학이 생물 현상에 대해 분석적인 방법으로 접근하였다면, 인공생명은 종합적인 방법으로 접근한다. 게임 개발자들은 인공생명 기법을 게임에 적용하려고 오래 전부터 시도를 해왔다. 여기서, 인공생명의 예측 불가능한 특성 때문에 게임 분야에는 제한적으로 사용되어 왔으나, 최근 들어 다시 인공생명을 게임에 적용하려는 시도가 이루어지고 있다. 즉, 인공생명의 기본적인 특성인 적응성, 창의성 등을 게임에 적용하게 되면, 복잡한 환경이나 사용자의 조작에 적응하거나 전혀 예상치 못한 창의적인 행동으로 인하여 게임의 흥미를 높일 수 있기 때문이다. 그러나 지금까지 연구의 초점은 주로 캐릭터들이 군집을 형성하는 게임에서 전체적인 전략을 결정하는 것에 중점을 둔 연구로서 아직 기초적인 단계에 머물고 있다.
그리고, FSM은 상태들 간의 전이에 의해 통제되는 그래프 내에 유한 개의 상태들이 연결되어 있는 규칙 기반 시스템으로서, 현재 가장 널리 사용되는 인공 지능 기법이다. FSM은 단순히 if-else나 switch-case 문장만으로 구현할 수 있기 때문에 이해하기 쉽고 프로그램으로 구현하기 쉬워 널리 사용된다. 예를 들어 캐릭터가 이동 중에 적을 발견하게 되면, 이동 상태에서 추적 상태로 바뀌어 발견한 적을 쫓아간다. 그리고 적이 일정한 거리 내에 들어오면, 공격 상태로 바뀌어 적을 공격한다. 이와 같이 FSM을 이용하면 구현이 쉽고 행동이 정확히 정의되는 장점이 있으나 게임의 진행이 미리 정의된 방식으로만 동작하는 단점이 있다. 즉 게임의 상대방이 FSM으로 구현된 경우 상대방의 행동 양식이 일정하기 때문에 일정시간 게임을 한 후에는 쉽게 예측될 수 있다는 것이다. 상대방의 행동을 예측할 수 있다는 것은 게임의 흥미를 반감시키는 요인으로 작용한다. 이러한 단점을 보완하기 위해 FuSM이 사용되고 있다.
FSM에 퍼지 이론을 접목한 FuSM의 경우에는 입력과 출력에 퍼지 함수를 적용하여 어느 정도 무작위적으로 동작할 수 있도록 한다. 무작위 요소가 포함되어 있기 때문에 게임에서의 상대방이 동일한 상황에서 다른 행동을 할 가능성이 있어서 상대방의 행동을 예측하기가 어렵게 된다. 그러나, FSM과 FuSM은 캐릭터의 상태의 수가 적을 때는 간단하게 구현할 수 있지만, 상태의 수가 많아지게 되면, 상태 다이어그램을 정리하기도 어렵고, 프로그램이 급격하게 복잡해지는 단점이 있다. 또한 FSM 과 FuSM 모두 새로운 행동 양식을 추가하기 위해서는 새롭게 프로그램을 해야만 하는 단점이 있다.
상술한 바와 같이, 종래의 인공지능 기법은 대부분이 보드 게임 등과 같이 게임 전체의 상황을 인식하여 대처하는 게임을 위한 것으로, 게임 설계자가 모든 상황을 미리 규정해 설계하고 일일이 코딩해야 하는 단점이 있다. 또한 이렇게 제작된 게임이라고 할지라도 스스로 환경을 인식하여 적응하는 능력이 없어 상황이나 게임의 규칙이 변화하면 다시 코딩을 해야 한다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 대전 액션 게임에서 지능 캐릭터가 상대 캐릭터의 행동 양식에 대한 대응을 게임 개발자의 코딩 없이 빠르게 학습할 수 있도록 하는 게임 캐릭터 형성방법을 제공하는 것이다. 즉, 대전 게임에서는 일반적으로 게이머에 따라 행동 양식이 달라지게 되는데, 게임 개발자는 게이머의 행동을 가능한 많이 예측하여 미리 코딩해야 하고 이 작업은 시간과 노력이 굉장히 많이 드는 작업이다. 따라서, 본 발명에서 제안하는 게임 캐릭터 형성방법에서는 이러한 시간과 노력을 절약하고자 한다.
본 발명의 다른 목적은, 컴퓨터에 의해 조정되는 캐릭터의 행동 양식을 결정하는데 있어서, 다양한 유형의 캐릭터를 만드는 방법을 제공하는 것이다. 다양한 유형이란 효과적인 공격 및 방어를 하기 위해 캐릭터가 취할 수 있는 전략을 여러 가지로 준비하여 사용자가 다른 개성을 갖는 캐릭터로 느끼게끔 하는 것을 말하며, 이러한 방법은 사용자가 게임에 보다 더 흥미를 느끼도록 해준다.
본 발명의 또 다른 목적은 대전 게임에서 사용자가 게임을 진행할수록 게임의 난이도를 높여서, 사용자가 계속해서 게임에 흥미를 가질 수 있게 하는 것이다. 그리하여 대전 게임에서 지능 캐릭터의 학습 정도를 조절하고 이를 통하여 손쉽게 다양한 난이도의 게임 캐릭터를 제공하고자 하는 것이다.
상술한 목적을 달성하기 위하여, 본 발명은 지능 캐릭터 풀을 준비하는 단계; 상대 캐릭터 풀을 준비하는 단계; 및 상기 지능 캐릭터와 상기 상대 캐릭터를 게임에서 처리하여, 상기 지능 캐릭터를 업그레이드하는 단계를 포함하여 이루어지는 것을 특징으로 하는 게임 캐릭터 형성 방법을 제공한다.
본 발명의 다른 실시 형태에 따르면, 유저가 사용하는 지능 캐릭터의 풀; 상기 지능 캐릭터와 대결하는 상대 캐릭터의 풀; 및 상기 지능 캐릭터와 상기 상대 캐릭터가 대전하는 전장을 포함하여 이루어지는 것을 특징으로 하는 게임 캐릭터 형성시스템을 제공한다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다.
종래와 동일한 구성 요소는 설명의 편의상 동일 명칭 및 동일 부호를 부여하며 이에 대한 상세한 설명은 생략한다.
본 발명에 따른 게임 캐릭터 형성방법 및 시스템은, 신경회로망의 원리를 사용하는 것을 특징으로 한다. 여기서 신경회로망은 인간의 신경 체제를 모사한 것으로서, 수많은 간단한 요소(component)들이 연결된 구조를 가지고, 입력되는 데이터의 패턴 인식에 기반하여 출력을 산출한다. 신경회로망이 게임에 적용되었을 때의 가장 큰 장점으로는, 신경회로망은 학습 능력을 가지고 있기 때문에 게임을 진행하면서 계속적으로 지능이 향상될 수 있다는 점이다. 만일, 오목, Tic-Tac-Toe 등의 보드 게임에 신경회로망을 사용하면, 보드 상에서 움직이는 말들의 전체적인 상황을 인지하여 개개의 말들의 움직임을 결정하게 된다. 그러나, 본 발명과 같은 대전 액션 게임은, 게임의 전체적인 상황이 아니라 주로 상대방 캐릭터의 행동에 대하여 적절한 자신의 행동을 결정해야 하는 특성이 있다.
본 발명에서는 지능 캐릭터를 구현하기 위하여, 학습 능력이 있는 신경회로망을 이용하며 게임 규칙의 학습을 위해서는 강화 학습을 수행한다. 즉, 지능 캐릭터는 초기에는 게임의 규칙을 전혀 모르기 때문에 무작위로 행동하는 캐릭터(상대 캐릭터)와의 대전을 통하여 스스로 게임 규칙을 학습하도록 하였다. 이러한 방법은 특히 대전 액션 게임이나 전략 게임 등에서 지능을 갖는 캐릭터를 구현하는데 유용 하며, 또한 온라인 게임 등 다양한 종류의 게임으로도 확장할 수 있는 장점을 갖고 있다. 그리고, 새로운 지식을 습득하기 위해서는 장시간의 학습이 필요할 수 있으므로, 지능 캐릭터가 새로운 지식을 빠르게 습득하기 위한 방법으로 유전자 알고리즘을 이용한 진화 학습 방법을 제시한다.
도 1은 본 발명에 따른 게임 캐릭터 형성방법의 일실시예의 흐름도이고, 도 2는 본 발명에 따른 게임 캐릭터 형성방법의 일실시예의 개념을 개략적으로 나타낸 도면이다. 도 1을 참조하여 본 발명에 따른 게임 캐릭터 형성방법의 일실시예의 개념을 설명하면 다음과 같다.
먼저, 지능 캐릭터 풀(pool)과 상대 캐릭터 풀을 각각 준비하고(S100, S110), 이어서 지능 캐릭터와 상대 캐릭터를 게임에서 처리하여, 게임 결과를 바탕으로 지능 캐릭터를 업그레이드한다(S120). 여기서, 게임과 캐릭터 풀을 분리하여 캐릭터가 게임에 가능한 한 독립적으로 구현될 수 있는 것을 특징으로 한다. 그리고, 지능 캐릭터 풀은 학습시키고자 하는 캐릭터를 복제해서 생성하고, 상대 캐릭터 풀은 지능 캐릭터가 대응 방법을 학습하고자 하는 상대 캐릭터들을 투입한다. 예컨대, 지능 캐릭터가 세 종류의 상대 캐릭터에 대한 대응 방법을 학습하고자 한다면, 상대 캐릭터 풀에는 세 개의 상대 캐릭터를 투입한다. 캐릭터 풀이 완성되면, 지능 캐릭터 풀에서 하나의 지능 캐릭터를 꺼내와서 상대 캐릭터 풀에 있는 모든 캐릭터들을 차례대로 꺼내 와서 게임을 수행한다.
상술한 바와 같이, 게임에서 지능 캐릭터와 상대 캐릭터를 처리하여 지능 캐릭터를 업그레이드한다. 여기서 '처리'라 함은 게임 내에서 상술한 두 개의 캐릭터를 대결 또는 대전시키는 것을 의미한다. 그리고, 상술한 업그레이드 단계는, 게임의 결과 점수를 지능 캐릭터의 적합도로 평가하여 수행된다. 즉 업그레이드 단계는, 지능 캐릭터가 상대 캐릭터와의 대전결과에서 높은 점수를 받으면 그 때의 지능 캐릭터의 특성 내지 특징을 이후에 생성할 지능 캐릭터에 학습시키는 것이다. 여기서, 적합도 평가라 함은, 다양한 성향의 지능 캐릭터를 생성하기 위하여 필요한 각 행동에 따른 점수의 가중치를 정하는 방법이다. 그리고, 지능 캐릭터의 각각의 특징에는 가중치가 설정되어, 그 가중치에 따라 저장빈도가 상이하다. 즉, 유저 또는 게임의 설계자가 가중치를 높게 설계한 특징은 그러하지 아니한 특징에 비하여 학습되어 업그레이드되는 빈도가 높다.
각 개체의 적합도는 다음 세대로 유전되는 비율에 영향을 미친다. 즉, 업그레이드된 지능 캐릭터를 부모 캐릭터로 하여, 자식 캐릭터를 형성하여 지능 캐릭터 풀이 재구성되는 것이다. 본 발명에서는 기본적으로 지능 캐릭터가 상대 캐릭터와 일정 시간 대결 후, 두 캐릭터가 획득한 점수의 차를 적합도로 사용하며 아래의 수학식으로 구할 수 있다.
Figure 112006090118616-pat00001
위 식에서, F는 각 개체의 적합도, t는 게임의 시작 시각, tend는 게임의 종 료 시각, sagent는 지능 캐릭터가 획득한 점수, sopp는 상대 캐릭터가 획득한 점수, w는 가중치 함수이다. 즉, 지능 캐릭터가 상대 캐릭터와 대결하여 높은 점수를 획득하면, 그 때 지능 캐릭터의 성질을 우수한 인자로 보고 저장 내지 후술하는 바와 같이 유전시키게 된다.
구체적으로 설명하면 다음과 같다. 만일 지능 캐릭터가 특정 상대 캐릭터와 대결하여 50 대 10의 결과가 나왔다면, 그 지능 캐릭터의 적합도는 40(=50-10)으로 평가한다. 이와 같이 점수의 차를 적합도로 평가하면, 상대 캐릭터보다 점수를 많이 획득하여 점수의 차가 큰 지능 캐릭터가 적합도가 높으므로, 다음 세대에 유전될 확률이 높아지고, 세대가 진행될 수록 상대 캐릭터에 대해 적절한 대응을 하는 지능 캐릭터가 많아진다. 이러한 방식으로 학습한 지능 캐릭터는 점수를 적게 획득하는 행동과 점수를 크게 획득하는 행동 모두 같은 정도의 중요도로 학습하게 된다. 그러나 실제 세계에서는 사람마다 성향이 달라서 어떤 사람은 큰 공격은 위험하니까 작은 공격만 한다든가, 아니면 반대로 여러 번의 작은 공격보다는 큰 공격을 위주로 행동하는 사람이 있을 수 있다.
도 3은 지능 캐릭터의 적합도 평가에서 반영되는 가중치를 나타낸 그래프이다. 도 3을 참조하여 지능 캐릭터의 적합도 평가에서 가중치의 반영을 설명하면 다음과 같다.
도 3에 도시된 바와 같이 점수의 차가 양수인 경우, 가중치를 점수에 대해 상수로 정하는 것이 아니라 프로그래머가 원하는 성향에 따라 가중치를 지정한다. 예컨대, 도 3에서 1점 쇄선으로 도시된 큰 공격 중시를 보면 높은 점수를 획득하는 행동의 가중치는 다른 행동보다 상대적으로 가중치가 훨씬 더 크다. 따라서 이러한 가중치로 학습한 지능 캐릭터는 점수를 적게 획득하는 행동도 학습했지만 상대적으로 큰 가중치로 학습한 높은 점수를 획득하는 행동을 주로 하게 된다. 점선으로 도시된 작은 공격을 중시하는 경우는 반대의 경우이다. 이와 같이 가중치를 상수 함수가 아닌 비-상수 함수로 지정하게 되면 프로그래머가 원하는 다양한 성향의 지능 캐릭터를 생성할 수 있게 된다.
상술한 과정을 반복하여, 지능 캐릭터 풀 내의 모든 지능 캐릭터의 적합도가 계산되어, 유저가 원하는 특성을 가진 캐릭터로 업그레이드된다. 그리고, 지능 캐릭터 풀 내에서, 각 지능 캐릭터의 적합도 정보를 이용하여 부모가 선택되고, 그 부모 캐릭터는 자식 캐릭터를 생성하며 지능 캐릭터 풀을 재구성한다. 상술한 적합도 계산 및 자식 캐릭터의 생성을 통하여, 지능 캐릭터 풀에는 유저가 원하는 특성만을 가진 지능 캐릭터가 남게 된다. 즉, 상술한 지능 캐릭터 풀의 재구성 단계는, 자식 캐릭터 풀이 부모 캐릭터의 업그레이드 결과가 유전된 자식 캐릭터로 채워지는 것을 의미한다.
상술한 자식 캐릭터의 생성은 적어도 2개의 부모 캐릭터를 교배하여 형성할 수 있으며, 이 때 유전자 알고리즘을 사용하게 된다. 유전자 알고리즘은 문제에 대한 해의 후보를 개체로 표현하며 일반적으로 이진 스트링으로 표현하는데, 이진 스트링은 지능 캐릭터를 표현하는 데에는 부적합하다.
따라서, 본 발명에서는 기존의 신경 회로망 중 다층 퍼셉트론(MLP: Multi- Layer Perceptron)과 그 학습 방법인 오차 역전파법을 확장 적용하여 게임의 상황을 인식하고 또한 인식된 상황을 바탕으로 게임 내의 캐릭터의 움직임을 제어할 수 있도록 한다. 기존의 신경 회로망과 오차 역전파법은 인간의 인식 방법을 모사하여 패턴을 인식하는 방법에 관한 것으로, 기존에 음성인식이나 영상인식 등의 영역에서 많이 활용되어져 왔으며 게임 분야에서도 캐럭터의 움직임을 제어하기 위하여 제한적으로 활용되어져 왔다.
통상적으로 다층 퍼셉트론은 도 4에 도시되어 있는 바와 같이 입력층과 출력층 사이에 하나 이상의 중간층(은닉층)이 존재하는 층 구조의 신경 회로망으로 몇 개의 단층 퍼셉트론이 직렬로 연결된 형태이다. 그리고, 입력층에 인가된 입력값은 각 입력 뉴런에 연결된 시냅스 가중치가 곱해져 인접한 은닉층의 뉴런 별로 그 합이 계산되고, 이 뉴런의 출력값이 다시 다음 은닉층의 입력이 되는 형태로 차례로 출력층까지 전달된다.
도 4는 다층 퍼셉트론 형태의 신경회로망을 사용하는 지능 캐릭터의 유전자 알고리즘을 개략적으로 나타낸 도면이다. 도 4에서, 신경망 링크의 가중치를 하나의 유전자로 표현하며, 개체는 지능 캐릭터의 모든 링크의 가중치를 계층별로 2차원 배열 형태로 표현한다. 여기서, 도 4는 신경망의 링크가 계층별로 9개씩 있을 경우, 개체가 모든 링크의 가중치를 저장하기 위하여 두 개의 3×3, 2차원 배열로 표현되는 것을 나타낸다.
도 5는 유저가 원하는 수준의 지능 캐릭터를 생성하기 위해 교배 및 돌연변이 확률을 조절하는 방법을 나타낸 그래프이다. 도 5를 참조하여 유저가 원하는 수 준의 지능 캐릭터를 생성하기 위하여 교배 및 돌연변이 확률을 조절하는 방법을 설명하면 다음과 같다.
교배(crossover) 연산자는 선택된 개체들이 교배를 통해 서로의 유전 정보를 교환함으로써 새로운 개체를 생성한다. 이때 개체의 어느 부분을 선택할 것인지는 일반적으로 무작위수에 의해 결정된다. 단, 상술한 가중치가 높게 설정된 부모 캐릭터의 특징이 자식 캐릭터에 더 높은 빈도로 유전되는 것을 당연하다. 또한, 지능 캐릭터가 상대 캐릭터와의 대전을 통하여 획득하기 어려운 특징을 가진 자식 캐릭터의 생성을 위하여, 교배가 아닌 돌연변이가 발생하는 것을 특징으로 한다. 돌연변이(mutation) 연산자는 하나의 개체 중에서 무작위로 선택된 문자열을 임의로 변경하는 것이다. 상술한 교배 연산자에 의해서 개체들 사이의 유전 정보가 서로 교환되지만 모든 해의 공간을 탐색하기 위한 유전 정보가 현재 집단내의 유전자들 속에 들어 있지 않으면 교배 연산자를 아무리 적용시키더라도 더 이상 탐색이 이루어질 수 없다. 이와 같이 부모 해에 존재하지 않는 속성을 도입하여 탐색 영역을 확대시킨다. 본 발명에서는 각 유전자에 대해 돌연변이 확률로, 일정 범위의 무작위 실수를 발생시켜 그 수를 더하거나 뺌으로써, 지능 캐릭터가 새로운 특성을 가질 수 있도록 한다.
본 발명에서는 원하는 수준의 지능 캐릭터를 생성하기 위해 교배 및 돌연변이 확률을 다음의 수학식으로 지정한다.
Pc = ηPc0
Pm = ηPm0
여기서, Pc0는 초기 교배 확률, Pm0는 초기 돌연변이 확률, η는 현재 적합도가 원하는 적합도에 얼마나 접근했는지에 따라 각 확률을 감쇄시키는 값이다. 그리고, Pc 와 Pm 은 각 세대에서 적용되는 교배 및 돌연변이 확률이다. Pc0와 Pm0는 상황에 따라 다르지만, 일반적으로 각각 0.7과 0.01 정도로 설정된다.
도 5에서는 각 확률을 감쇄시키는 세 방법을 보여준다. 실선은 확률을 선형적으로 감쇄시킨다. 1점 쇄선이 선형적으로 감쇄시키는 것에 비해 확률을 크게 감쇄시키는데, 이렇게 하면 원하는 적합도에 비교적 늦게 접근할 수 있으나, 원하는 적합도를 정확히 맞출 가능성이 커진다. 점선은 반대로 선형적으로 감쇄시키는 것에 비해 확률을 작게 감쇄시키는데, 이렇게 하면 원하는 적합도에 비교적 빨리 접근할 수 있으나, 원하는 적합도를 정확히 맞추지 못할 수도 있다.
상술한 본 발명에 따른 게임 캐릭터 형성방법의 작용을 설명하면 다음과 같다.
게임 캐릭터의 진화 학습에 사용되는 적합도 함수를 달리함으로써 다양한 성격을 갖는 인공 지능 캐릭터를 만들 수 있다. 또한 교배 및 돌연변이 확률을 조절함으로써 다양한 수준의 인공 지능 캐릭터의 생성이 쉬워진다. 이러한 방법을 통하 여 게이머의 성향과 수준에 맞추어 캐릭터의 투입이 가능하며 이는 게이머의 흥미를 지속적으로 유지할 수 있게 한다.
또한 상기의 발명에 의한 컴퓨터 캐릭터의 진화 학습 방법은 게임의 규칙이 알려지지 않았거나, 도중에 변화하는 경우에도 자동적인 적응을 통하여 새로운 게임의 규칙에 맞는 인공지능 캐릭터를 만들 수 있으므로, 게임 개발에 소요되는 비용 및 시간을 단축시킬 수 있다.
이어서, 본 발명에 따른 게임 캐릭터 형성 시스템의 일실시예를 설명하면 다음과 같다.
본 실시예에 따른 시스템은, 지능 캐릭터 풀(600)과 상대 캐릭터 풀(610)과 전장(620) 및 업그레이드부(630)을 포함하여 이루어지는 것을 특징으로 한다. 여기서 지능 캐릭터 풀에는 유저가 사용하는 캐릭터가 저장되어 있고, 상대 캐릭터 풀에는 상술한 지능 캐릭터와 대결하는 상대 캐릭터가 저장되어 있으며, 전장은 상술한 지능 캐릭터와 상대 캐릭터가 대전하는 게임 내의 가상의 공간이다. 그리고, 업그레이드부는, 지능 캐릭터와 상대 캐릭터의 대전 결과에 따라 지능 캐릭터를 재구성하는 것을 특징으로 한다. 바람직하게는 업그레이드부는, 지능 캐릭터를 부모로 하여 자식 지능 캐릭터를 형성하여 상기 지능 캐릭터의 풀을 재구성하는 것을 특징으로 한다. 즉, 업그레이드부는 지능 캐릭터가 상대 캐릭터와 대전한 결과에 따라 새로운 지능 캐릭터를 생성하고, 이 때 상술한 바와 같이 교배 또는 돌연변이 등의 유전법칙을 사용하는 것을 특징으로 한다. 본 실시예에서 서술되지 않은 구성은 상술한 게임 캐릭터 형성방법에 기술된 바와 같다.
본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하도 이러한 변형은 본 발명의 범위에 속한다.
상기에서 설명한 본 발명에 따른 게임 캐릭터 형성방법의 효과를 설명하면 다음과 같다.
첫째, 대전 액션 게임에서 지능 캐릭터가 상대 캐릭터의 행동 양식에 대한 대응을 게임 개발자의 코딩 없이 빠르게 학습할 수 있다. 즉, 대전 게임에서는 일반적으로 게이머에 따라 행동 양식이 달라지게 되는데, 종래에는 게임 개발자는 게이머의 행동을 가능한 많이 예측하여 미리 코딩해야 하고 이 작업은 시간과 노력이 많이 필요했으나, 본 발명에서 제안하는 게임 캐릭터 형성방법에서는 신경 회로망의 원리를 이용하여 이러한 시간과 노력을 절약할 수 있다.
둘째, 유저가 게임에서 사용하는 캐릭터의 행동 양식을 결정하는데 있어서, 다양한 유형의 캐릭터를 만드는 방법을 제공하는 것이다. 다양한 유형이란 효과적인 공격 및 방어를 하기 위해 캐릭터가 취할 수 있는 전략을 여러 가지로 준비하여 사용자가 다른 개성을 갖는 캐릭터로 느끼게끔 하는 것을 말하며, 이러한 방법은 사용자가 게임에 보다 더 흥미를 느끼도록 해준다.
셋째, 대전 게임에서 사용자가 게임을 진행할수록 게임의 난이도를 높여서, 사용자가 계속해서 게임에 흥미를 가지게 한다. 그리하여 대전 게임에서 지능 캐릭터의 학습 정도를 조절하고 이를 통하여 손쉽게 다양한 난이도의 게임 캐릭터를 제 공할 수 있다.

Claims (15)

  1. 컴퓨터에 의해 실행되는 게임의 캐릭터를 형성하는 방법에 있어서,
    상기 게임의 실행에 대응하여, 미리 저장된 캐릭터들을 제시하는 지능 캐릭터 풀에서 유저(user)에 의해 선택된 지능 캐릭터를 독출하는 단계;
    상기 유저의 선택에 대응하여 미리 저장된 캐릭터들을 제시하는 상대 캐릭터 풀에서 상기 컴퓨터가 상대 캐릭터를 독출하는 단계;
    상기 지능 캐릭터와 상대 캐릭터의 게임을 통해 상기 지능 캐릭터가 학습되는 단계; 및
    상기 학습된 지능 캐릭터를 부모 캐릭터로 하여 상기 부모 캐릭터간 교배를 통해 새로운 개체의 자식 캐릭터를 형성하여 지능 캐릭터를 재구성하는 단계를 포함하여 이루어지는 것을 특징으로 하는 게임 캐릭터 형성 방법.
  2. 제 1 항에 있어서,
    상기 지능 캐릭터와 상기 상대 캐릭터간 게임은,
    상기 지능 캐릭터에 대응하여 모든 상대 캐릭터를 대전시키는 것을 특징으로 하는 게임 캐릭터 형성방법.
  3. 삭제
  4. 제 2 항에 있어서, 상기 대전의 결과,
    상기 지능 캐릭터가 상기 상대 캐릭터보다 많은 점수를 획득하면, 상기 지능 캐릭터의 학습 결과를 상기 컴퓨터에 저장하는 것을 특징으로 하는 게임 캐릭터 형성방법.
  5. 제 4 항에 있어서, 상기 학습 결과에는,
    상기 지능 캐릭터의 각 행동에 서로 다른 가중치가 적용되는 것을 특징으로 하는 게임 캐릭터 형성방법.
  6. 삭제
  7. 제 1 항에 있어서, 상기 지능 캐릭터를 재구성하는 단계는,
    상기 부모 캐릭터의 학습 결과를 교배시켜 유전된 자식 캐릭터 풀을 형성하는 것을 특징으로 하는 게임 캐릭터 형성방법.
  8. 제 7 항에 있어서,
    상기 부모 캐릭터의 특정 행동에 높게 적용된 가중치보다 상기 자식 캐릭터 풀의 특정 행동에 가중치가 더 높게 적용되는 것을 특징으로 하는 게임 캐릭터 형성방법.
  9. 제 7 항에 있어서, 상기 자식 캐릭터 풀 내의 각각의 자식 캐릭터는,
    적어도 2개의 부모 캐릭터의 학습 결과를 교배하여 형성된 것을 특징으로 하는 게임 캐릭터 형성방법.
  10. 제 9 항에 있어서, 상기 자식 캐릭터는,
    적어도 하나 이상의 중간층을 갖는 다층 퍼셉트론 형태의 신경회로망에서 링크간 가중치가 적용되는 것을 특징으로 하는 게임 캐릭터 형성방법.
  11. 제 10 항에 있어서, 상기 부모 캐릭터간 교배에서,
    개체 중에서 무작위로 선택된 문자열을 임의로 변경하는 돌연변이(mutation) 연산자를 상기 자식 캐릭터에 적용하는 것을 특징으로 하는 게임 캐릭터 형성방법.
  12. 제 10 항 또는 제 11 항에 있어서, 상기 자식 캐릭터는,
    상기 부모 캐릭터의 학습 결과에 대해 일정 범위의 무작위 실수를 발생시켜 그 수를 더하거나 빼는 연산을 통하거나 행동의 가중치에 비례하여 새로운 개체로 생성되는 것을 특징으로 하는 게임 캐릭터 형성방법.
  13. 게임 실행프로그램을 실행시켜 미리 저장된 캐릭터들을 제시하는 지능 캐릭터 풀에서 유저(user)에 의해 선택된 지능 캐릭터 및 상기 유저의 선택에 대응하여 미리 저장된 캐릭터들을 제시하는 상대 캐릭터 풀에서 상대 캐릭터를 독출하는 독출부;
    상기 지능 캐릭터와 상대 캐릭터의 게임을 통해 상기 지능 캐릭터의 학습을 수행하는 학습부; 및
    학습된 지능 캐릭터를 부모 캐릭터로 하여 상기 부모 캐릭터간 교배를 통해 새로운 개체의 자식 캐릭터를 형성하여 지능 캐릭터를 재구성하는 재구성부를 포함하여 이루어지는 것을 특징으로 하는 게임 캐릭터 형성 시스템.
  14. 삭제
  15. 삭제
KR1020060122190A 2006-12-05 2006-12-05 게임 캐릭터 형성방법 KR100850913B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060122190A KR100850913B1 (ko) 2006-12-05 2006-12-05 게임 캐릭터 형성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060122190A KR100850913B1 (ko) 2006-12-05 2006-12-05 게임 캐릭터 형성방법

Publications (2)

Publication Number Publication Date
KR20080051328A KR20080051328A (ko) 2008-06-11
KR100850913B1 true KR100850913B1 (ko) 2008-08-07

Family

ID=39806340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060122190A KR100850913B1 (ko) 2006-12-05 2006-12-05 게임 캐릭터 형성방법

Country Status (1)

Country Link
KR (1) KR100850913B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107019912B (zh) 2017-04-20 2020-12-01 腾讯科技(深圳)有限公司 角色的配置方法和装置
CN110393913A (zh) * 2019-07-26 2019-11-01 成都龙渊网络科技有限公司 一种在触摸终端上执行用户操作的方法及设备
KR102649304B1 (ko) * 2019-12-31 2024-03-19 한국전자통신연구원 대전형 게임 에이전트의 스타일 생성 방법 및 장치, 그리고 이를 이용한 게임 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000068570A (ko) * 1997-10-20 2000-11-25 오사토 유키오 컴퓨터게임에 있어서의 적캐릭터 레벨 파라미터 설정방법 및 장치
KR20010001072A (ko) * 1999-06-01 2001-01-05 부원영 네트웍을 이용한 온라인 축구 게임 및 그 방법
KR20020037390A (ko) * 2000-11-14 2002-05-21 정진영 캐릭터 성장도가 저장되는 아케이드용 게임기의 게임방법및 컴퓨터의 학습 정보 제어 시스템
KR20020089264A (ko) * 2002-11-01 2002-11-29 이창진 유전 정보 기반 사이버 캐릭터의 생리 현상 제공 방법 및장치
KR20030072640A (ko) * 2002-03-06 2003-09-19 주식회사 제타웨이브 싸이버클론이 활동하는 게임시스템 및 게임방법
KR20050114773A (ko) * 2004-04-06 2005-12-07 엔에이치엔(주) 인공지능을 갖는 캐릭터를 이용한 인터넷 게임 서비스시스템 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000068570A (ko) * 1997-10-20 2000-11-25 오사토 유키오 컴퓨터게임에 있어서의 적캐릭터 레벨 파라미터 설정방법 및 장치
KR20010001072A (ko) * 1999-06-01 2001-01-05 부원영 네트웍을 이용한 온라인 축구 게임 및 그 방법
KR20020037390A (ko) * 2000-11-14 2002-05-21 정진영 캐릭터 성장도가 저장되는 아케이드용 게임기의 게임방법및 컴퓨터의 학습 정보 제어 시스템
KR20030072640A (ko) * 2002-03-06 2003-09-19 주식회사 제타웨이브 싸이버클론이 활동하는 게임시스템 및 게임방법
KR20020089264A (ko) * 2002-11-01 2002-11-29 이창진 유전 정보 기반 사이버 캐릭터의 생리 현상 제공 방법 및장치
KR20050114773A (ko) * 2004-04-06 2005-12-07 엔에이치엔(주) 인공지능을 갖는 캐릭터를 이용한 인터넷 게임 서비스시스템 및 그 방법

Also Published As

Publication number Publication date
KR20080051328A (ko) 2008-06-11

Similar Documents

Publication Publication Date Title
Treanor et al. Game-o-matic: Generating videogames that represent ideas
JP7399277B2 (ja) 情報処理方法、装置、コンピュータプログラム及び電子装置
Sweetser et al. Current AI in games: A review
KR20200121616A (ko) 게임 환경 변경 방법
KR100850914B1 (ko) 게임 캐릭터 제어방법
KR100850913B1 (ko) 게임 캐릭터 형성방법
Crespo et al. Reinforcement learning applied to games
Rodríguez et al. Parallel evolutionary approaches for game playing and verification using Intel Xeon Phi
Zhou et al. Discovering of game AIs’ characters using a neural network based AI imitator for AI clustering
Mahlmann Modeling and Generating Strategy Games Mechanics
KR102259786B1 (ko) 게임 데이터 처리 방법
Klein Neural networks for chess
Charity et al. Amorphous Fortress: Observing Emergent Behavior in Multi-Agent FSMs
KR100913030B1 (ko) 단계별 퍼지 로직을 이용한 게임 전략 방법 및 그 시스템
Yannakakis et al. Game AI panorama
KR102271717B1 (ko) 게임 대전 제공 방법
Dias et al. Reinforcement learning in tower defense
Bontrager Learning to Generate Form and Function
Lillerovde AI and Game complexity: Game benchmarking by using reinforcement learning
Kovačević et al. Artificial intelligence in computer games
Askren Survey of Deep Neural Networks Handling Plan Development using Simulations of Real-World Environments
Majumder et al. Case Studies in ML Agents
Eike et al. Mastering DeepRTS with Transformers
Yannakakis et al. Ai methods
Dienstknecht Enhancing Monte Carlo Tree Search by Using Deep Learning Techniques in Video Games

Legal Events

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