
< Programming >/DesignPattern
Behavior Tree
트리구조로 되어있고, 게임개발 혹은 인공지능 시스템에서 사용되는 디자인 패턴 중 하나이다. 게임 서버내에 npc의 경우 위에 해당되는 경우라서, FSM 혹은 Behavior Tree 방식이 주로 활용된다. 일전에 봤던 코드는 FSM(유한 상태 머신) 에 가까운 코드였는데, 이번에 접하게 된 코드는 Behavior Tree 를 이용해 AI 가 구성되어 있었고, 새로 공부하면서 글을 작성한다. 아래는 간단한 예제. #include #include // 동작 트리 노드 클래스 class BTNode { public: virtual ~BTNode() {} // 동작 실행 메서드 virtual bool run() = 0; }; // 동작 트리 내부 노드 클래스 class BTComposite : public BT..