Dans un jeu que je développe pour un client, un concept de jeu clé consiste à se déplacer sur une carte. Dans ce cas, les tailles et les formes et celles des différents pays ne sont pas pertinentes: passer d'un pays à un pays adjacent compte comme une seule étape.
J'essaie de trouver la meilleure structure de données pour représenter en interne les connexions entre les pays. Pour un pays donné, le jeu doit savoir quels pays sont adjacents, à la fois pour savoir de quelle manière les joueurs peuvent se déplacer et pour permettre à l'IA du jeu de tracer des itinéraires, en déterminant les chemins possibles d'un pays à l'autre. L'IA doit également évaluer dans quelle mesure un pays est bien connecté, non seulement à ses voisins immédiatement adjacents, mais aussi aux voisins de ces pays, etc.
J'ai trouvé quelques possibilités mais elles semblent disgracieuses et inefficaces. Parce que l'IA devra calculer un tas d'itinéraires possibles afin de prendre de bonnes décisions concernant son mouvement, "inefficace" est très problématique.
Je soupçonne qu'il s'agit d'un casse-tête CS quelque peu courant et qu'il existe une solution commune, mais je n'ai pas pu trouver grand-chose en cherchant. Toutes suggestions sont les bienvenues.