1291.29 Halo 시리즈에서의 행동 트리 도입
1. Halo 시리즈의 AI 개발 맥락
Bungie Studios가 개발한 Halo 시리즈는 1인칭 슈팅(First-Person Shooter, FPS) 장르에서NPC(Non-Player Character) 행동의 질적 수준을 획기적으로 끌어올린 게임으로 평가되며, 동시에 행동 트리(Behavior Tree, BT)가 대규모 상용 게임에서 최초로 체계적으로 도입된 산업적 사례로서 게임 AI 역사에서 결정적 위상을 차지한다.
Halo 시리즈의 NPC—특히 적 전투원(Covenant), 아군 병사(UNSC Marine)—에게 요구된 행동 복잡도는 기존 FSM(Finite State Machine) 기반 게임 AI의 설계 한계를 시험하는 수준이었다. NPC는 전투 상황에서 엄폐, 측면 기동, 수류탄 투척, 차량 탑승/하차, 아군과의 협업, 사기에 따른 도주 등 다양한 전술 행동을 문맥에 따라 유연하게 수행하여야 하였다.
2. Halo 2의 FSM 기반 AI와 한계 인식
2.1 FSM 기반 NPC 행동 제어의 구현
Halo: Combat Evolved(2001)에서 NPC 행동 제어는 FSM 기반으로 구현되었다. NPC 유형별로 고유한 상태 집합과 전이 규칙이 정의되었으며, 상대적으로 적은 수의 상태(10~15개)로 인상적인 전투 행동을 생성하는 데 성공하였다.
그러나 후속작 Halo 2(2004)의 개발 과정에서 NPC 행동의 정교화 요구가 급격히 증가하면서, FSM 기반 설계의 구조적 한계가 명확히 노출되었다. Isla(2005)는 이 경험을 다음과 같이 보고하였다.
2.2 Isla의 GDC 2005 보고
Damián Isla는 2005년 Game Developers Conference(GDC)에서 발표한 “Handling Complexity in the Halo 2 AI“에서, Halo 2 개발 중 직면한 FSM 기반 AI의 구체적 문제를 체계적으로 기술하였다.
상태 전이의 조합적 폭증. NPC의 행동 상태가 15개에서 25개 이상으로 확장되면서, 새로운 행동 추가 시 기존 모든 상태와의 전이 관계를 검토하여야 하는 부담이 개발 일정에 실질적 지장을 초래하였다. 행동 하나를 추가하는 데 수일의 전이 규칙 검토와 테스트가 소요되는 상황이 빈번하였다.
전이 미정의에 의한 행동 오류. 상태 수가 증가함에 따라, 특정 상태에서 특정 이벤트에 대한 전이 규칙이 누락되는 사례가 빈번하게 발생하였다. 이는 NPC가 예기치 않은 상황에서 부적절한 상태에 머무르는 행동 오류(behavioral bug)를 유발하였으며, 이러한 오류의 원인 추적이 극히 어려웠다.
행동 재사용의 불가. 적 유형(Elite, Grunt, Jackal 등)별로 FSM을 독립적으로 설계하여야 하였으며, “엄폐 후 사격” 등의 공통 전술 패턴을 유형 간에 재사용할 수 있는 구조적 메커니즘이 부재하였다.
3. Halo 3에서의 행동 트리 도입
3.1 설계 동기와 목표
Halo 2의 FSM 기반 AI에서 경험한 문제점을 해소하기 위하여, Bungie Studios의 AI 팀은 Halo 3(2007) 개발에서 FSM을 대체하는 새로운 행동 제어 아키텍처를 설계하였다. 이 아키텍처의 설계 목표는 다음과 같았다:
- 행동 추가의 국소성: 새로운 행동의 추가가 기존 행동에 비국소적 파급 효과를 미치지 않을 것
- 행동의 모듈적 재사용: 동일 행동 모듈을 다수의 NPC 유형에서 재사용 가능할 것
- 우선순위 기반 반응성: 긴급 이벤트에 대한 즉각적 반응이 구조적으로 보장될 것
- 디자이너 가독성: 비프로그래머 인력이 행동 구조를 시각적으로 이해하고 수정할 수 있을 것
3.2 Halo의 행동 트리 아키텍처
Halo 3에서 도입된 행동 제어 아키텍처는 현대적 BT의 핵심 구성 요소를 상당 부분 포함하고 있었다. 비록 당시에 “Behavior Tree“라는 용어가 공식적으로 확립되기 이전이었으나, 이 아키텍처는 사실상 BT의 초기 구현에 해당한다.
트리 구조의 행동 조직. NPC의 행동을 트리 자료 구조로 조직하여, 줄기(root)에서 잎(leaf)으로 향하는 하향식(top-down) 탐색에 의하여 행동을 선택하였다. 상위 노드는 추상적 행동 범주(전투, 이동, 상호작용)를, 하위 노드는 구체적 행동(엄폐, 측면 접근, 수류탄 투척)을 표현하였다.
우선순위 선택 메커니즘. 트리의 내부 노드는 자식 노드를 좌측에서 우측으로 순차 평가하되, 성공한 첫 자식의 행동을 선택하는 우선순위 선택(priority selection) 메커니즘을 구현하였다. 이는 현대 BT의 Fallback(Selector) 노드에 해당하며, 좌측에 높은 우선순위의 행동을 배치함으로써 긴급 상황에 대한 구조적 반응성을 확보하였다.
성공/실패 반환값. 각 노드는 실행 결과를 성공(success) 또는 실패(failure)로 부모 노드에 반환하며, 부모 노드는 자식의 반환값에 기반하여 다음 행동을 결정하였다. 이 메커니즘에 의하여 행동 선택이 명시적 전이 규칙 없이 트리 구조와 반환값만으로 결정되었다.
서브트리 기반 행동 재사용. 특정 전술 패턴(예: “엄폐-사격-이동” 시퀀스)을 서브트리(subtree)로 정의하고, 이를 다수의 NPC 유형의 행동 트리에서 참조하는 재사용 메커니즘을 구현하였다. 이에 의하여 공통 전술 패턴의 수정이 단일 서브트리의 변경으로 모든 참조 NPC에 일괄 적용되었다.
4. NPC 전술 행동의 구현 사례
4.1 Covenant Elite의 전투 행동 트리
Halo 3의 Covenant Elite NPC 행동 트리는 다음과 같은 구조적 특성을 보였다:
- 최상위 우선순위 분기: 생존 위협(피격 반응, 저체력 회피) → 전투 행동 → 비전투 행동의 우선순위 순서로 구성
- 전투 서브트리: 사격 위치 선정 → 엄폐 가용성 평가 → 공격 방식 선택(원거리 사격, 근접 전투, 수류탄)의 순차적 평가
- 사기 체계 통합: NPC의 사기(morale) 수치가 행동 트리의 조건 노드에 통합되어, 사기 저하 시 공격적 행동 서브트리가 실패하고 후퇴 서브트리가 활성화되는 구조
4.2 Grunt의 행동 트리와 재사용성
Grunt NPC는 Elite 대비 단순한 행동 트리를 보유하되, 기본 전투 행동(엄폐-사격 시퀀스)은 Elite와 동일한 서브트리를 공유하였다. 다만, Grunt 고유의 행동—Elite 지휘관의 사망 시 공황 상태로 진입하여 비명을 지르며 도주하는 행동—이 별도의 서브트리로 추가되었다. 이는 서브트리 기반 재사용과 유형별 특수화(specialization)의 공존을 보여주는 사례이다.
5. FSM 대비 달성된 공학적 이점
5.1 행동 추가의 비용 절감
FSM에서 새로운 행동 추가 시 O(n)개의 전이 규칙 검토가 필요하였던 반면, BT에서는 트리의 적절한 위치에 노드 또는 서브트리를 삽입하는 것으로 충분하였다. Isla는 Halo 3 개발에서 행동 추가의 소요 시간이 Halo 2 대비 현저히 단축되었다고 보고하였다.
5.2 자동 반응성 보장
FSM에서 모든 상태에 대하여 개별적으로 정의하여야 하였던 긴급 반응(예: 피격 반응)이, BT에서는 트리 최상위에 우선순위가 높은 조건-행동 쌍을 배치하는 것만으로 전역적으로 보장되었다. 매 tick마다 루트에서부터 탐색이 재시작되므로, 우선순위가 높은 조건이 충족되면 현재 실행 중인 행동이 자동으로 중단되고 긴급 행동이 활성화되었다.
5.3 행동 재사용에 의한 개발 효율 향상
서브트리의 공유에 의하여 복수의 NPC 유형 간 공통 전술 패턴이 단일 정의로 관리되었으며, 전술 패턴의 수정이 모든 참조 NPC에 일괄 적용되어 일관성 유지 비용이 대폭 감소하였다.
5.4 디버깅 효율 향상
BT의 하향식 탐색 경로가 NPC의 행동 선택 과정을 명시적으로 추적 가능하게 함으로써, 특정 시점에서 NPC가 특정 행동을 선택한 이유를 트리 탐색 경로의 역추적을 통하여 체계적으로 분석할 수 있었다. Bungie Studios는 BT 탐색 경로를 실시간으로 시각화하는 디버깅 도구를 개발하여, 개발 과정에서의 행동 오류 진단 효율을 향상시켰다.
6. Halo 시리즈 이후의 발전
6.1 Halo: Reach (2010)와 Halo 4 (2012)
Halo: Reach(2010)에서 BT 아키텍처가 더욱 정교화되었으며, 대규모 전투 시나리오에서 다수의 NPC가 분대 단위로 조율된 전술 행동을 수행하는 데 BT가 활용되었다. Halo 4(2012, 343 Industries 개발)에서도 BT 기반 행동 제어가 계승·발전되어, NPC 행동의 다양성과 전술적 깊이가 한층 증진되었다.
6.2 Halo AI의 산업적 영향
Halo 시리즈에서의 BT 성공 사례는 게임 AI 커뮤니티에 광범위한 영향을 미쳤다. Isla(2005)의 GDC 발표는 게임 개발자 커뮤니티에서 트리 기반 행동 제어에 대한 관심을 촉발하였으며, 이 관심이 Champandard(2007)에 의한 BT의 체계적 정리, Unreal Engine에서의 공식 채택 등 후속 발전으로 이어지는 촉매가 되었다.
7. Halo AI의 로봇공학적 의의
Halo 시리즈에서의 BT 도입은 로봇공학의 관점에서 다음의 의의를 가진다.
첫째, 동적 환경에서 실시간으로 동작하는 자율 에이전트의 행동 제어 문제에 대하여, BT가 실용적 해결책이 될 수 있음을 대규모 시스템에서 실증적으로 입증하였다. 게임 NPC와 자율 로봇은 “동적 환경에서의 실시간 의사 결정“이라는 공통 문제를 공유하며, 게임에서의 검증이 로봇공학으로의 기술 이전에 대한 신뢰도를 제공하였다.
둘째, tick 기반의 주기적 트리 탐색이라는 BT의 실행 모델이 로봇 시스템의 주기적 센서 판독-의사 결정-제어 루프(sense-decide-act loop)와 구조적으로 부합함을 시사하였다. 이 구조적 유사성은 게임에서 로봇공학으로의 기술 이전을 자연스럽게 만든 핵심 요인이다.
8. 참고 문헌
- Isla, D. (2005). “Handling Complexity in the Halo 2 AI.” Proceedings of the Game Developers Conference (GDC).
- Champandard, A. J. (2007). “Understanding Behavior Trees.” AiGameDev.com.
- Colledanchise, M., & Ögren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
- Millington, I., & Funge, J. (2009). Artificial Intelligence for Games (2nd ed.). Morgan Kaufmann.
v0.2.0