Bardzo mało wiem o tworzeniu gier i staram się owijać w głowie algorytmy wyszukiwania ścieżek.
Rozważ tę konfigurację: agent znajduje się na mapie 2D i musi znaleźć najkrótszą drogę do znanego na całym świecie obiektu, ale ma tylko informacje o przeszkodach w swoim zasięgu widzenia lokalnego (tzn. Znane są tylko przeszkody bezpośrednie, ogólny układ mapy jest nieznany ).
Ponadto każdy ruch do sąsiedniego kwadratu jest kosztowny, a algorytm wyszukiwania ścieżki powinien minimalizować liczbę ruchów.
Wydajność obliczeniowa jest również niezwykle ważna i ważniejsza niż dokładność.
Czy A * jest odpowiednie dla tego przypadku użycia?
źródło
Wiele implementacji sztucznej inteligencji w tej sytuacji decyduje się oszukiwać i zapewnia sobie pełną wiedzę na temat mapy, na której ich przeciwnik nie ma. Następnie możesz po prostu zastosować A * do pełnej mapy.
To, jak rozsądne będzie to wyglądanie jednostek sterowanych komputerowo, będzie zależeć od takich rzeczy, jak labirynt, taki jak mapy, oraz od tego, czy gracz prawdopodobnie nauczy się układów map z czasem.
Jeśli dotyczy to jednostek kontrolowanych przez gracza, możesz również uniemożliwić graczowi wybranie miejsca docelowego, którego jeszcze nie zbadali, aby zmusić je do ręcznej eksploracji.
źródło