AI 프로그래밍 2008. 12. 11. 00:55

PathManager Diagram

Blood Summoner 프로젝트에서 사용한 길찾기 엔진의 클래스 다이어그램 간략화 버전






AI 프로그래밍 2008. 12. 2. 22:09

Pathfinding

                                           사진은 네비게이션 메쉬가 적용된 디버그 화면


길 찾기 알고리즘에는 여러 종류가 있지만 Blood Summoner 에서 사용한 방법은 네비게이션 메쉬를 이용한 테이블 참조 방식이다.

RTS의 특성상 월드에 200개의 Actor 들이 각자의 AI 로직을 처리했기 때문에 길 찾기 방법을 개발하는 시점에서는 가장 비용이 적게 들고 검증된 알고리즘이 필요 했다.

그래서 결정한게 네비게이션 메쉬를 이용한 테이블 참조 방식었는데 결론부터 이야기하면 나쁘지 않은 선택이었다.

네비게이션 메쉬를 이용해서 응용 할 수 있는 점들을 나열해보면
 - 길 찾기
 - 충돌맵
 - 특정 모션으로만 지나가는 영역 판정 ( 점프로 건너는 도랑)
등을 비교적 단순하게 처리할 수 있다.

길 찾기 개념을 단순하게 표현해보면




객체가 2번 셀에서 1번 셀로 이동시 경로는 smile - > B Potal -> A Potal -> Heart 이나 이런식으로만 움직인다면 경로가 매우 딱딱하다.
때문에 끈 당기기 알고리즘을 적용하여 경로를 최대한 자연스럽게 만든다.