Abstract
This paper proposes a method to provide intelligence for characters in fighting action games by using a neural network. Each action takes several time units in general fighting action games. Thus the results of a character's action are not exposed immediately but some time units later. To design a suitable neural network for such characters, it is very important to decide when the neural network is taught and which values are used to teach the neural network. The fitness of a character's action is determined according to the scores. For learning, the decision causing the score is identified, and then the neural network is taught by using the score change, the previous input and output values which were applied when the decision was fixed. To evaluate the performance of the proposed algorithm, many experiments are executed on a simple action game (but very similar to the actual fighting action games) environment. The results show that the intelligent character trained by the proposed algorithm outperforms random characters by 3.6 times at most. Thus we can conclude that the intelligent character properly reacts against the action of the opponent. The proposed method can be applied to various games in which characters confront each other, e.g. massively multiple online games.
본 논문에서는 신경망을 이용하여 대전 액션 게임의 캐릭터들을 지능화하는 방법을 제안한다. 일반적인 대전 액션 게임에서 어떤 행동은 여러 개의 시간 단위에 걸쳐 이루어진다. 그러므로 캐릭터의 어떤 행동에 대한 결과는 곧바로 나타나지 않고 몇 개의 시간 단위가 지난 후에 나타난다. 이러한 캐릭터들에 적합한 신경망을 설계하기 위해서는 신경망을 학습시키는 시점을 결정하는 것과 더불어 학습 시에 사용되는 입력과 출력 값을 선정하는 것이 매우 중요하다. 본 논문에서는 캐릭터의 행동의 적합도를 게임 점수의 변화로 평가한다. 그러므로 게임 점수의 변화가 생길 때마다 신경망은 학습된다. 학습을 위해서는 우선 그 변화를 야기한 이전의 결정을 파악하고, 그 당시의 입력값, 출력값, 그리고 현재의 점수의 변화를 이용하여 신경망을 학습시킨다. 제안된 알고리즘의 성능을 평가하기 위하여 여러 실험을 간단한 (하지만 실제 게임과 매우 유사한) 게임 환경에서 수행하였다. 실험 결과 학습 초기에는 무작위의 캐릭터에 대해 점수를 획득하지 못하던 지능 캐릭터가 제안된 알고리즘으로 학습하면 최대 3.6 배의 점수를 획득하는 성능을 보였다. 그러므로 제안된 지능 캐릭터가 게임의 규칙과 기술을 학습하는 능력이 있는 것으로 결론지을 수 있다. 제안된 알고리즘은 온라인 게임과 같이 캐릭터들이 서로 대결하는 게임들에 적용할 수 있다.