Powiedzmy, że masz wyścigową sztuczną inteligencję opartą na splajnie. Załóżmy, że poradzi sobie już z podstawami hamowania i kierowania po torze.
Jak ułożyłbyś strukturę i wdrożyłeś unikanie kolizji, wyprzedzanie, kreślenie, blokowanie i inne zachowania, aby Twoje samochody pozostały konkurencyjne, ale organizowały ciekawe wyścigi?
Odnośniki do dokumentów / wdrożeń byłyby niesamowite.
Odpowiedzi:
Czy widziałeś Zachowania sterujące dla postaci autonomicznych ? Rozważałbym algorytm „ CrowdPathFollowing” , aby pozostać na torze i unikać kolizji. Być może będziesz w stanie wmieszać się w zachowanie „Flow Field Follow ” do rysowania, podania i blokowania - spraw, aby pole przepływu podążało za przeszłością i przewidywaną ścieżką gracza, ale rozdzieliło się wokół jego bieżącej lokalizacji.
To powinno sprawić, że AI będzie podążać bezpośrednio za nim i poruszać się bezpośrednio przed blokiem, a jednocześnie zachęcać do czystych podań.
źródło
Sesja była częściowo poświęcona temu podczas tegorocznej konferencji AI Game Dev w Paryżu. Możesz znaleźć slajdy i podsumowanie tutaj:
http://aigamedev.com/open/coverage/paris10-report/#session9
źródło
Anti-Pattern: Przeciwnicy dostosowujący swoją prędkość
Niestety nie jestem w stanie podać wzorów, ale chciałbym nazwać wzór anty. Nie próbuj dostosowywać prędkości sterowników AI do odtwarzacza ludzkiego. Ideą tego jest stworzenie uczciwych warunków wyścigowych zarówno dla amatorów, jak i zawodowców oraz porzucenie potrzeby wielu poziomów trudności (i ich realizacji).
Jednak to, co na papierze brzmi dobrze, okazuje się okropne w praktyce, a seria MotoGP niestety nie udało się wdrożyć tego zachowania. Skończyło się to na tym, że przeciwnicy jechali z prędkością 5mp / h, kiedy stałeś nieruchomo przez kilka sekund i niemożność stwierdzenia, czy poprawiłeś się w grze (bardzo złe opinie zwrotne)
źródło