행동 트리는 인공지능의 행동을 표현하는 트리로 FSM(Finite State Machine)보다 상태 전이가 용이하고 행동의 진행을 쉽게 알 수 있는 특징을 갖고 있다. 때문에 최근 FSM보다 널리 쓰이고 있는 추세이다. 본 논문은 이러한 배경에서 게임 엔진의 행동 트리의 장단점을 분석하고 이를 바탕으로 개선된 행동 트리를 제안하기 위한 것이다. 이를 위해 본 논문에서는 첫째, 유니티 엔진과 언리얼 엔진의 행동 트리 구조와 노드들의 역할을 먼저 살펴본다. 둘째, 살펴본 행동 트리의 구조와 노드들을 바탕으로 장점과 단점을 논한다. 셋째, 이 행동 트리들의 단점인 트리의 깊이와 실행 노드 검색 시간을 개선한 행동 트리를 제안한다. 본 논문은 추후 행동 트리를 사용해 게임 개발을 하려는 개발자들에게 도움을 줄 수 있다.
행동 트리는 인공지능의 행동을 표현하는 트리로 FSM(Finite State Machine)보다 상태 전이가 용이하고 행동의 진행을 쉽게 알 수 있는 특징을 갖고 있다. 때문에 최근 FSM보다 널리 쓰이고 있는 추세이다. 본 논문은 이러한 배경에서 게임 엔진의 행동 트리의 장단점을 분석하고 이를 바탕으로 개선된 행동 트리를 제안하기 위한 것이다. 이를 위해 본 논문에서는 첫째, 유니티 엔진과 언리얼 엔진의 행동 트리 구조와 노드들의 역할을 먼저 살펴본다. 둘째, 살펴본 행동 트리의 구조와 노드들을 바탕으로 장점과 단점을 논한다. 셋째, 이 행동 트리들의 단점인 트리의 깊이와 실행 노드 검색 시간을 개선한 행동 트리를 제안한다. 본 논문은 추후 행동 트리를 사용해 게임 개발을 하려는 개발자들에게 도움을 줄 수 있다.
A behavior tree is to express the behavior of artificial intelligence. The behavior tree has a characteristic that is easy to change state transitions than FSM(Finite State Machine), see the progress of the action. For these reasons, the behavior tree is widely used in more than FSM. This paper is t...
A behavior tree is to express the behavior of artificial intelligence. The behavior tree has a characteristic that is easy to change state transitions than FSM(Finite State Machine), see the progress of the action. For these reasons, the behavior tree is widely used in more than FSM. This paper is to analyze the advantages and disadvantages on behavior trees of game engines, proposes the improved behavior tree based on analyzed them. To achieve this, in this paper, first, examines the role of node and the behavior tree structure of the unity engine, unreal engine. Second, discusses the advantages and disadvantages based on it. Third, proposes the behavior tree to improve the disadvantages of behavior tree of unity engine and unreal engine, depth of behavior tree and search time required to select the execution node. This paper can help developers using the tree to develop the game.
A behavior tree is to express the behavior of artificial intelligence. The behavior tree has a characteristic that is easy to change state transitions than FSM(Finite State Machine), see the progress of the action. For these reasons, the behavior tree is widely used in more than FSM. This paper is to analyze the advantages and disadvantages on behavior trees of game engines, proposes the improved behavior tree based on analyzed them. To achieve this, in this paper, first, examines the role of node and the behavior tree structure of the unity engine, unreal engine. Second, discusses the advantages and disadvantages based on it. Third, proposes the behavior tree to improve the disadvantages of behavior tree of unity engine and unreal engine, depth of behavior tree and search time required to select the execution node. This paper can help developers using the tree to develop the game.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 이 두 엔진의 장점, 언리얼 엔진의 데코 레이터 노드와 유니티 엔진의 우선순위 셀렉터 노드가 포함된 행동 트리를 제안하고 이에 대한 우수성을 보여주기 위한 연구이다.
본 논문은 상용 게임 엔진에서 사용하고 있는 행동 트리의 구성 요소와 해당 행동 트리의 장단점을 비교 분석하고. 이들의 장점을 조합한 행동 트리를 제안하는 것을 목표로 하고 있다.
본 연구에서는 상용 엔진인 유니티 엔진과 언리얼 엔진의 행동 트리의 구성 요소를 살펴보고 이 구성 요소들을 중심으로 장단점을 비교 분석하고 이를 개선한 행동 트리를 제안하였다.
본 절에서는 두 가지 엔진으로 만든 동일한 행동에 대한 행동 트리를 예시로 장점과 단점에 대해 기술한다.
본 논문은 상용 게임 엔진에서 사용하고 있는 행동 트리의 구성 요소와 해당 행동 트리의 장단점을 비교 분석하고. 이들의 장점을 조합한 행동 트리를 제안하는 것을 목표로 하고 있다.
추후에는 각각의 단점들을 보완할 수 있는 방법뿐만 아니라, 보다 좋은 기능을 가진 노드들을 제안하여 게임 엔진의 행동 트리에 이바지될 수 있게 하는 것이 이 연구의 최종 목표이다.
제안 방법
3장에서는 첫째, 2장에서 논했던 단점들을 개선한 행동 트리를 제안한다. 둘째, 제안된 행동 트리를 유니티 게임 엔진의 행동 트리와 언리얼 게임 엔진의 행동트리와 논리적으로 비교 분석한다. 4장에서는 결론 및 추후 연구방향에 대해 기술한다.
이를 위해 첫째, 유니티 엔진과 언리얼 엔진에서의 행동 트리에 대한 구성 요소를 설명한다. 둘째, 특정 캐릭터의 AI를 유니티 엔진과 언리얼 엔진에서 제공하는 행동 트리로 제작하여 각 엔진의 행동 트리의 장점과 단점에 대해 기술한다.
본 논문에서 사용한 행동 AI는 캐릭터 현재 위치를 중심으로 일정 범위 내에 기지가 없는 경우 기지를 찾기 위해 이동 전진하고. 전진 도중에 적(enemy)을 만나는 경우 적을 공격하고, 체력이 50 미만일 경우 아이템을 사용하고, 그렇지 않을 경우에는 상대의 기지를 찾는 것을 계속한다.
본 장에서는 유니티 엔진과 언리얼 엔진에서의 행동 트리의 단점들을 보완할 수 있는 행동 트리를 제안하고 트리의 깊이와 실행 노드를 결정하는데 소요되는 검색 시간을 중심으로 비교 분석한다.
각 동물의 상태에 따라 행동이 달라지기 때문에 각 동물들에 대한 상태 유지와 생성에 많은 자원이 필요하다는 문제가 생길 수 있다. 이 문제점을 개선하기 위해 동물들을 무리로 묶는 무리 AI를 만들었다. 무리 AI는 어미 AI가 무리의 행동을 결정하고 야생에서 발생할 수 있는 다양한 상황에 따라 특정 행동을 어미가 선택하면 이를 무리를 구성하는 다른 동물들이 따라 할 수 있도록 행동 트리가 구성되었다[16].
이를 위해 본 연구에서는 캐릭터 AI가 동일한 상황에서 유니티 엔진과 언리얼 엔진에서의 행동 트리, 그리고 제안된 행동 트리를 트리의 깊이와 실행 노드 검색 시간면에서 논리적으로 비교하였다.
본 장에서는 유니티 엔진과 언리얼 엔진의 행동 트리에 대해 장점과 단점을 기술한다. 이를 위해 첫째, 유니티 엔진과 언리얼 엔진에서의 행동 트리에 대한 구성 요소를 설명한다. 둘째, 특정 캐릭터의 AI를 유니티 엔진과 언리얼 엔진에서 제공하는 행동 트리로 제작하여 각 엔진의 행동 트리의 장점과 단점에 대해 기술한다.
제안된 행동 트리의 비교 분석을 위해 실지 실행시간과 메모리양을 비교하려고 하였으나 행동 트리를 스크립트 언어를 이용하여 자동적으로 생성하는 방법이 제공되지 않아서 논리적으로 그림을 통해 트리의 깊이와 실행 노드 결정시간을 비교한다. 트리의 깊이가 길어질수록 리프 노드까지 도달하는 시간이 오래 소요되고 실행 노드를 결정하기 위한 검색 시간이 커질수록 최종 행동을 실행하는데 소요되는 시간이 늦어질 수 있기 때문에 이 2가지 요소를 중심으로 비교한다.
제안된 행동 트리의 비교 분석을 위해 실지 실행시간과 메모리양을 비교하려고 하였으나 행동 트리를 스크립트 언어를 이용하여 자동적으로 생성하는 방법이 제공되지 않아서 논리적으로 그림을 통해 트리의 깊이와 실행 노드 결정시간을 비교한다. 트리의 깊이가 길어질수록 리프 노드까지 도달하는 시간이 오래 소요되고 실행 노드를 결정하기 위한 검색 시간이 커질수록 최종 행동을 실행하는데 소요되는 시간이 늦어질 수 있기 때문에 이 2가지 요소를 중심으로 비교한다.
대상 데이터
본 연구에서 제안한 행동 트리는 2장에서 설명했던 두 엔진의 행동 트리의 장점을 조합하는 행동 트리이다. 즉 유니티 엔진의 우선순위 셀렉터 노드와, 언리얼 엔진에서 노드에 직접 붙어 조건을 비교하는 데코레이터 노드를 동시에 사용하는 행동 트리이다.
성능/효과
이로 인해 트리의 깊이가 커지고 복잡해지는 단점을 보완할 수 있다. 결과적으로 언리얼 엔진에서는 행동 트리 깊이가 4([Fig .3])이었는데, 3으로 감소되었다.
두 엔진의 행동 트리에서 보이는 가장 큰 차이점은 노드의 우선순위를 결정하는 우선순위 셀렉터 노드가 유니티 엔진에서는 제공되지만 언리얼 엔진에서는 제공되지 않는다는 점이다.
비교 결과, 언리얼 엔진은 노드에 직접 붙어 조건을 비교하는 데코레이터 노드로 인해 실행될 노드를 결정하는 시간이 짧아질 수 있지만 유니티 엔진에서의 우선순위 셀 럭터 노드가 제공되지 않기 때문에 매번 순차적으로 실행될 노드를 결정해야 하는 단점이 있었다. 이와 비교하여 유니티 엔진에서는 데코레이터 노드에 조건을 적용해서 실행할 노드가 붙어 있지 않기 때문에 언리얼 엔진에서보다 트리의 깊이가 깊어질 수 있지만 우선순위 셀렉터가 있어서 현재 상황에 적합한 실행 노드를 빠른 시간에 결정할 수 있는 장점을 갖고 있다.
비교 결과, 트리 깊이 비교에서 제안 행동 트리는 언리얼 엔진에서의 트리 깊이보다 우수하였고, 실행 노드 검색시간 비교에서는 유니티 엔진에서의 실행 노드 검색 시간보다 우수함을 보였다.
질의응답
핵심어
질문
논문에서 추출한 답변
행동 트리는 무엇인가?
행동 트리는 캐릭터 행동에 대한 AI를 트리로 정의하는 방법으로 캐릭터 행동에 대한 조건과 인과 관계, 우선 순위 등에 해당하는 노드들을 연결함으로써 완성된다. [Table 1]은 유니티 엔진과 언리얼 엔진의 행동 트리에서 제공하는 노드들을 보여준다.
인공지능 설계에 사용되는 방법은 무엇인가?
RPG의 경우 스토리 진행에 도움을 주는 게임내의 캐릭터들이나 초보자들을 안내해 주는 NPC, 격투게임에서는 직접 플레이어의 상대가 되는 캐릭터들이 이에 포함된다. 인공지능 설계는 규칙 기반 시스템(RBS), Planning, 유한 상태 기계(FSM), 동물의 행동패턴[2] 등 다양한 방법이 사용 된다[1]. 인공지능은 군중 시뮬레이션[3], 컴퓨터 통신[4], 생활환경[5], 지능형 캐릭터 구현[6,7], 지능형 교육 시스템[8], 지능형 침입탐지 시스템[9],얼굴인식[10], 상태 기계[17], 군중 시뮬레이션[18], 네트워크[19]등에 사용된다.
FSM의 문제점은 무엇인가?
이중 FSM은 현재 가장 많이 사용되는 기법으로, 유한한 여러 개의 상태(행동)들을 정의하고, 상태들 사이의 인과 관계를 그래프로 표현한다. 상태의 구성과 전이에 대한 이해가 쉽지만, 상태와 전이가 많아질수록 관리가 어려워진다는 문제점이 있다[2]. [Fig.
참고문헌 (19)
Lee ManJae, “Artfical Intelligence in Game,” Journal of KIPS, Vol. 9, No. 3, pp. 69-76, 2002.
MuounJae Lee, "Implementation of NPC Artificial Intelligence Using Agonistic Behavior of Animals," Journal of Digital Convergence, Vol. 12, No. 1, 2014.
Yong-Gwan Kim, "Study on the Principle of Crowd Simulation Applying Artificial Intelligence," The Korean Journal of Animation, Vol. 5, No. 3, 2009.
YoungIm Cho, "A Study on Application of Artificial Intelligence in Computer Networks," PYONGTAEK REVIEW, Vol. 11, 1998.
Mee Kyung Nam, "A Study on Present Condition of Development and Market of Artificial Intelligence Robot In and Out of Country," Journal of KSDC, Vol. 16, No. 2, 2010.
Byeong Heon Cho, Sung Hoon Jung, et.al, "Artificial Intelligence : An Implementation of Intelligent Game Characters using Neural Networks", The KIPS Transactions : Part B., Vol. 11, No. 7, 2004.
Myun Sub Lee, Byeong Heon Cho, et.al, "An Intelligent Characters for Fighting Action Games Using Genetic Algorithms," The KIPS Transactions : Part B, Vol. 12, No. 3, 2005.
Yong Beom Kim, Yung Sik Kim, "Artificial Intelligence : Development of a Adaptive Knowledge Base Object Model for Intelligent Tutoring System," The KIPS Transactions : Part B, Vol. 14, No3. 2006.
Hyeon-Uk Le, Ji-Hun Kim, Hyunchul Ahn, "An Integrated Model based on Genetic Algorithms for Implementing Cost-Effective Intelligent Intrusion Detection Systems," Journal of Kiiss, Vol. 18, No. 1, 2012.
Kyungul Bae, "Implementation and Design of Artificial Intelligence Face Recognition in Distributed Environment," Journal of Kiiss, Vol. 10, No. 1, 2004.6.
Aung Situ, Cliford Peters, "Unity game AI programming to implement a variety of artificial intelligence technology to Unity," Acon press, 2015.
MyounJae Lee, Implementation of NPC Artificial Intelligence Using Agonistic Behavior of Animals, Journal of Digital Policy Society, Vol. 15, No. 1, pp. 555-561, 2014.
MyounJae Lee, "An Artificial Intelligence Evaluation on FSM-Based Game NPC, Journal of KCGS, vol.14, No. 5, pp. 127-136, 2014.
JinSeok Seo, “HSM(Hierarchical State Machine) based LOD AI for Computer Games,” Journal of Digital Policy Society, Vol. 14, No. 2, pp. 143-169, 2013.
SunJun Yoo, “A Study on Types and Limitations of Control Systems in Computer Game Artificial Intelligence,” Journal of Digital Policy Society, Vol. 7, No. 1, pp. 35-40, 2006.
KI-Dom Lee, “A Exploration of Neural Network Development Methodologies,” Journal of Digital Policy Society, Vol. 9, No. 4, pp. 91-101, 2011.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.