답변:
일반적으로 길 찾기에 대해 연구하고 배우려면 하나 이상의 알고리즘을 배우는 것이 좋습니다. 전반적인 개념을 이해하고 있지만 현재 작업중인 모든 개념에 적용 할 수 있습니다. 알려진 길잡이에 기반을두고 있지만, 모든 길 찾기는 요구 사항이 다르지만 심각한 길 찾기를해야하는 대부분의 게임 개발자는 자신 만의 맞춤형 알고리즘을 작성하게됩니다.
A *, Dijkstra 's Algorithm, Depth 및 Breadth-First 검색과 같이 잘 알려진 몇 가지 방법을 읽어 보면서 시작하겠습니다. 인터넷에는 좋은 정보가 많이 있습니다. ( http://en.wikipedia.org/wiki/Pathfinding )
그것들을 읽는 동안 알고리즘이 작동 할 수있는 데이터 유형뿐만 아니라 각각의 접근법에 대한 단점과 단점이 무엇인지주의하십시오. 3 차원 경로에 적용 할 수 있습니까? 지도에서 지뢰를 피하려는 인간 AI를 설명하도록 수정할 수 있습니까?
길 찾기와 관련하여 A *는 모두가 사용하는 황금 티켓과 거의 같습니다. 작동 방식을 반드시 알아야합니다. ( http://en.wikipedia.org/wiki/A*_search_algorithm )
다음은 다른 크기의 엔티티를 고려해야하는 RTS 게임에 적용되는 A *의 좋은 예입니다. http://aigamedev.com/open/tutorials/clearance-based-pathfinding/
행운을 빕니다!
경로 찾기 알고리즘은 기본적으로 그래프 검색 문제 해결 알고리즘입니다.
http://en.wikipedia.org/wiki/Pathfinding#Algorithms
가장 알려진 Djikstra의 알고리즘 : http://en.wikipedia.org/wiki/Dijkstra's_algorithm
및 변형 A * 검색 알고리즘 : http://en.wikipedia.org/wiki/A*
이것은 매우 쉬운 다이제스트 접근법에서 경로 찾기의 모든 측면을 살펴 보는 훌륭한 시작 리소스입니다.
... 길 찾기는 장애물을 피하고 적을 피하며 비용 (연료, 시간, 거리, 장비, 돈 등)을 최소화하는 출발점에서 목표까지 좋은 길을 찾는 문제를 해결합니다. 운동은 경로를 따라 이동하는 문제를 해결합니다. 이 중 하나에 만 노력을 기울일 수 있습니다. 한 가지 극단적 인 점은, 정교한 이동 알고리즘과 사소한 이동 알고리즘이 결합 된 것입니다.
Wikipedia : Pathfinding 에 좋은 목록이 있습니다.
내가 아는 한, A *와 D *는 꽤 인기가 있습니다.
몇 가지 경로 찾기 알고리즘이 있습니다.
가장 인기있는 것 중 하나는 아마도 A * ( A-Star ) 일 것입니다. 목표에 도달하기위한 예상 비용을 제공 할 수있는 휴리스틱 함수가있는 경우 매우 유용한 알고리즘입니다 (예 : 목표까지의 가시 거리). A *는 시작점에서 끝점까지의 최단 경로를 찾는 데 매우 유용합니다.
그 외에도 Dijkstra의 알고리즘 도 있습니다. 이 알고리즘 은 여러 항목 중 가장 가까운 항목을 찾는 데 매우 유용합니다. 예 : 게임 캐릭터에 가장 가까운 파워 업 (또는 유사한)을 찾으려면.
몇 가지 다른 알고리즘이 있지만 A *가 가장 인기있는 알고리즘이라고 생각합니다. Mat Buckland는 Example by Book Programming Game AI 에서 Path-Finding에 대한 훌륭한 장을 가지고 있습니다. 나는 당신이 그것의 사본을 얻을 것을 강력히 권장합니다. 그렇지 않으면 "별 검색"을 검색하여 많은 정보를 온라인에서 찾을 수 있습니다.
다음 은 경로 찾기에 Dijkstra의 알고리즘을 사용하는 방법에 대한 자습서입니다 .
다음은 의사 코드가있는 게임에서 사용되는 A *의 좋은 예입니다. http://www.anotherearlymorning.com/2009/02/pathfinding-with-a-star/
이것은 입문서가 아니지만 2009 년 가을 알고리즘 클래스에서 그래프 알고리즘에 대해 광범위하게 논의했습니다.이 책을 사용했습니다.
알고리즘 소개, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest 및 Clifford Stein의 제 3 판
http://mitpress.mit.edu/algorithms/
또한 MIT 수업에서 수강하는 YouTube 강의도 있습니다.
17, 18, 19 장은 가장 짧은 길을 다루었습니다.
Wikipedia 1의 [그래프 및 트리 검색 알고리즘]을 참조하십시오 . 그것들은 상태 공간 검색의 변형 일뿐입니다. 당신은이 모든 것들을 통과하여 그들이 다른 곳을 찾아야합니다.
Collaborative Diffusion 도 있는데 , 이는 이전에 언급 한 알고리즘 중 흥미로운 방식 중 하나입니다.
이것은 흥미있어 보인다 :
http://www.codeproject.com/Articles/455 A *보다 나은지 궁금합니다.