지도에서 국가 간 연결을 나타내는 데이터 구조


9

게임에서 클라이언트를 위해 개발하고있는 주요 게임 개념은 맵에서 움직입니다. 이 경우 다양한 국가의 크기와 모양 및 관련은 무의미합니다. 한 국가에서 인접한 국가로 이동하는 것은 단일 단계로 간주됩니다.

국가 간 연결을 내부적으로 나타내는 데 가장 적합한 데이터 구조를 찾으려고합니다. 특정 국가의 경우, 게임은 플레이어가 이동할 수있는 방법을 알 수있을뿐만 아니라 게임 AI가 경로를 표시하여 한 국가에서 다른 국가로 가능한 경로를 결정하기 위해 어느 국가가 인접 해 있는지 알아야합니다. AI는 또한 인접 국가뿐만 아니라 해당 국가의 이웃들과 국가가 얼마나 잘 연결되어 있는지 평가해야합니다.

나는 두 가지 가능성을 알아 냈지만 그들은 비효율적이고 비효율적 인 것처럼 보입니다. AI는 이동에 대한 올바른 결정을 내리기 위해 가능한 많은 경로를 계산해야하기 때문에 "비효율적"은 매우 문제가됩니다.

나는 이것이 다소 일반적인 CS 퍼즐이며 일반적인 해결책이 있다고 생각하지만 검색으로는 많이 찾을 수 없었습니다. 어떤 제안이라도 환영합니다.


GameDev.StackExchange에서 이것을 요청 해야하는 경우 알려주십시오. 나는 이런 종류의 개발이 모든 종류의 개발 문제에 필요하다는 것을 확신하고 여기에서 "게임"측면, 그 자체로는 경로 계획 부분에 대한 도움이 필요하지 않기 때문에 여기에서 묻습니다.
Matthew Frederick

그래프 또는 연결 매트릭스가 필요합니다 (클로저를 계산하기 쉽기 때문에 편리함). 아마도 둘 다 필요합니다. 찾아 봐

2
그래프 데이터 구조 및 알고리즘을 살펴보십시오. en.wikipedia.org/wiki/Graph_%28data_structure%29

1
이것은 나에게 주제가 아닌 것 같습니다. 여기에는 너무 객관적인 주제이므로 GameDev 또는 Stack Overflow에 있어야합니다.

답변:



6

확실히 그래프. Graph Theory 에서 확인하십시오 . 기본적으로 노드와 가장자리가 있습니다. 노드는 다른 노드에 대해 0 개 이상의 에지를 포함 할 수 있습니다.

최단 경로 (홉 또는 거리)를 계산하고, 고름을 확인 (하나의 자기 자신에 도달하는 여러 가지 방법 등)하는 알고리즘이 많이 있습니다.

이제 효율적인 솔루션을 구현하려면 조금 더 복잡하지만 항상 그렇듯이 방법이 있습니다.


훌륭 해요, 고맙습니다. 그러한 알고리즘을 찾을 수있는 곳에 대한 제안이 있습니까? 가장 짧은 경로는 필요하지 않지만 서클 확인 등과 같은 것이 매우 편리합니다.
Matthew Frederick

2

이미 언급했듯이 국가 간 가능한 모든 연결을 나타내는 그래프가 필요합니다. 각 연결마다 두 국가 간의 거리가 유지됩니다.

그런 다음 A *와 같은 경로 찾기 알고리즘을 사용하여 두 국가 간의 최단 경로를 결정할 수 있습니다.

Mat Buckland의 http://www.ai-junkie.com/books/toc_pgaibe.html과 같은 게임 AI : 게임 AI에 관한 좋은 책들도 있습니다

또는 AI Game Programming Wisdom 시리즈. http://www.aiwisdom.com/ 첫 번째 책에는 길 찾기에 대한 여러 장이 있습니다.


훌륭합니다. 책을 읽어 주셔서 감사합니다. 많은 AI 책들이있는 것 같고 개인적인 추천은 내가 검색에서 얻은 광범위한 결과보다 훨씬 낫습니다.
Matthew Frederick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.