NPC 인공지능 아키텍처 비교: BT vs GOAP vs HTN
1. 세 가지 구조의 개념
게임 개발에서 NPC(Non-Player Character) 인공지능을 설계할 때 흔히 사용되는 아키텍처는 **Behavior Tree(BT), Goal-Oriented Action Planning(GOAP), Hierarchical Task Network(HTN)**입니다. 각각은 NPC의 행동을 결정하고 환경에 적응하게 만드는 구조적 접근 방식입니다.
-
Behavior Tree (BT)
BT는 트리 구조를 기반으로 하여 조건과 행동을 계층적으로 정의합니다.-
루트 노드에서 시작하여 조건 분기를 통해 하위 행동 노드로 진행
-
성공(Success), 실패(Failure), 진행(Running) 상태를 반환하며 동작 결정
-
장점: 시각적 디버깅 용이, 행동 조합과 재사용이 간편
-
-
Goal-Oriented Action Planning (GOAP)
GOAP는 NPC가 **목표(goal)를 달성하기 위한 행동 계획(action sequence)**을 스스로 생성하는 방식입니다.-
현재 상태와 목표 상태를 정의하고, 행동 가능한 액션들을 조합하여 최적 경로를 탐색
-
행동 우선순위와 필요 조건을 자동으로 판단
-
장점: 동적 환경에 강하며, 복잡한 시나리오 자동 대응 가능
-
-
Hierarchical Task Network (HTN)
HTN은 목표를 달성하기 위한 작업(Task)을 계층적으로 분해하는 계획 기반 방식입니다.-
상위 목표를 하위 태스크로 분해하며 순차적으로 실행
-
전통적인 계획 알고리즘(Planning)을 기반으로 하며 복잡한 임무 수행 가능
-
장점: 구조적 계획 수립, 다단계 목표 처리 용이
-
2. 설계 난이도와 효율성
-
BT 설계 난이도
-
구조가 단순하고 시각화 가능
-
작은 규모의 게임이나 단순 NPC 행동에 적합
-
단점: 행동 조합이 복잡해지면 트리 깊이가 커져 유지보수 어려움
-
-
GOAP 설계 난이도
-
환경 변화에 따라 자동으로 행동 계획을 생성
-
동적 게임 환경에서 유연하게 대응 가능
-
단점: 초기 설계 복잡, 계획 탐색 알고리즘 최적화 필요
-
-
HTN 설계 난이도
-
목표와 하위 태스크를 명확히 정의해야 함
-
다단계 임무 수행 NPC에 강점
-
단점: 트리 분해 과정이 복잡하며, 계획 실패 시 대체 루틴 필요
-
3. 실제 적용 사례 분석
-
Behavior Tree 적용 사례
-
예: Halo 5, Dragon Age
-
단순 AI 행동을 계층적으로 구성하여 전투, 이동, 대화 등 명확한 상태 전환 처리
-
장점: 시각적 디버깅과 행동 수정 용이
-
-
GOAP 적용 사례
-
예: F.E.A.R., S.T.A.L.K.E.R.
-
목표 중심 설계로 NPC가 동적으로 환경을 판단하고 계획 실행
-
복잡한 임무 수행과 자유도 높은 행동 구현 가능
-
-
HTN 적용 사례
-
예: Total War 시리즈, Civilization
-
다단계 전략 목표를 계획하고 실행하는 NPC 행동에 최적화
-
장점: 상위 전략 목표와 하위 단위 행동 간 구조적 연계 가능
-
4. AI 선택 기준 정리
NPC AI를 설계할 때는 게임 장르, NPC 수, 동적 환경 여부, 행동 복잡성을 기준으로 아키텍처를 선택해야 합니다.
| 기준 | BT | GOAP | HTN |
|---|---|---|---|
| 동적 환경 대응 | 중 | 높음 | 높음 |
| 구현 난이도 | 낮음 | 중상 | 중상~높음 |
| 유지보수 용이성 | 높음 | 중 | 중 |
| 복잡한 임무 수행 | 낮음 | 중 | 높음 |
| 대규모 NPC 처리 | 단순 가능 | 최적화 필요 | 최적화 필요 |
-
작은 규모 액션 게임: BT 추천
-
자유도 높은 오픈월드 게임: GOAP 추천
-
전략/시뮬레이션 게임: HTN 추천
결론
BT, GOAP, HTN은 각각 장점과 한계가 명확합니다.
-
BT: 단순 구조, 빠른 디버깅, 작은 규모 NPC 적합
-
GOAP: 목표 중심, 동적 환경 대응, 오픈월드 NPC 적합
-
HTN: 계층적 계획, 전략적 행동, 시뮬레이션 게임 적합
개발자는 게임 장르와 NPC 행동 복잡성을 고려하여 적합한 AI 아키텍처를 선택하고, 필요 시 **혼합 사용(Hybrid)**으로 최적화할 수도 있습니다. 이러한 구조적 이해가 NPC 설계의 핵심이며, 실제 프로젝트에서 프레임 안정성과 게임 몰입도를 높이는 결정적 요인이 됩니다.
댓글
댓글 쓰기