Je sais très peu de choses sur le développement de jeux et j'essaie de comprendre les algorithmes de recherche de chemin.
Considérez cette configuration: un agent est sur une carte 2D et doit trouver le chemin le plus court vers un objet connu mondialement mais ne dispose que d'informations sur les obstacles dans son champ de vision local (c'est-à-dire que seuls les obstacles immédiats sont connus, la disposition générale de la carte est inconnue ).
De plus, chaque déplacement vers un carré adjacent coûte cher et l'algorithme de recherche de chemin devrait minimiser le nombre de déplacements.
L'efficacité informatique est également de la plus haute importance et plus importante que la précision.
A * est-il approprié pour ce cas d'utilisation?
la source
De nombreuses implémentations d'IA de jeu dans cette situation choisiront de tricher et se donneront une connaissance complète de la carte, où leur adversaire humain n'a pas cela. Vous pouvez ensuite simplement appliquer A * à la carte complète.
La mesure dans laquelle cela semble judicieux pour les unités contrôlées par ordinateur dépendra de choses comme le labyrinthe comme les cartes et si le joueur est susceptible d'apprendre les dispositions de la carte au fil du temps.
S'il s'agit d'unités contrôlées par les joueurs, vous pouvez également empêcher le joueur de sélectionner une destination qu'ils n'ont pas encore explorée, pour les forcer à explorer manuellement.
la source