패스트캠퍼스 환급챌린지 31일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 언리얼 엔진의 AI 시스템 중 하나인 Behavior Tree의 개념을 학습했다. 기존에는 단순히 조건문과 상태 머신을 이용해 적의 행동을 제어했지만, 이번 강의를 통해 비헤이비어 트리를 사용하면 더 구조적이고 확장성 높은 AI 로직을 만들 수 있다는 점을 체감했다.
Behavior Tree는 루트 노드부터 시작해서 여러 하위 노드들로 구성된 트리 구조를 갖고 있으며, 이 노드들이 순차적 혹은 선택적으로 실행되며 AI의 행동을 결정짓는 방식이다. 처음에는 다소 복잡해 보였지만, 구성 요소들을 하나하나 익히며 점점 이해가 되기 시작했다. Composite Node에서는 대표적으로 Selector와 Sequence가 있고, 이들을 통해 AI가 어떤 우선순위로 행동을 선택하거나 순서를 따를 수 있다는 점이 흥미로웠다. 예를 들어, Selector는 여러 행동 중 성공할 수 있는 첫 번째 행동을 실행하는 반면, Sequence는 모든 행동이 순서대로 성공해야 다음 단계로 넘어간다. 이렇게 행동을 유연하게 설계할 수 있다는 점에서 코드보다 훨씬 직관적으로 느껴졌다.
또한, Decorator와 Service, Task 같은 노드들의 역할도 공부했다. Decorator는 조건을 붙이는 데 사용되며, 특정 상황에서만 행동을 실행할 수 있게 해준다. 예를 들어, ‘플레이어가 일정 거리 이내에 있을 때만 공격’ 같은 조건이 그것이다. Task는 실제로 캐릭터가 수행하는 행동이며, MoveTo, Attack, Wait 같은 행동들을 정의할 수 있었다.
특히 인상 깊었던 부분은 Blackboard 시스템과의 연동이다. Blackboard는 AI가 기억하고 참조할 수 있는 데이터 저장소 같은 느낌인데, 이를 통해 AI가 ‘플레이어 위치’, ‘목표 지점’, ‘상태 여부’ 등을 기억하면서 보다 지능적인 행동 흐름을 구성할 수 있었다.
앞으로는 Behavior Tree를 기반으로 추적, 순찰, 공격 등 다양한 AI 행동을 구현해보고, Decorator와 Blackboard 조건들을 다양하게 실험해보며 실제 게임에서 유용하게 쓸 수 있는 AI 시스템을 만들어보고 싶다. 이번 강의를 통해 AI 설계에 대한 자신감이 생겼고, 언리얼의 강력한 도구들을 체계적으로 활용할 수 있는 기반을 쌓은 느낌이다.
Abit.ly 다운받기
abit.ly