Pracuję nad przeniesieniem dwuwymiarowej, odgórnej gry, nad którą pracowałem, do odpowiedniego silnika fizyki sztywnego ciała, takiego jak Farseer. Do tej pory właśnie zhakowałem swój własny kod fizyki w razie potrzeby.
Próbuję nauczyć się tutaj właściwego sposobu robienia rzeczy.
Jaki jest właściwy sposób, aby twoja sztuczna inteligencja podążała ustaloną ścieżką, gdy zrobisz je sztywnymi ciałami w silniku fizyki?
Jeśli mam na mapie ścieżkę węzłów nawigacyjnych, które muszę śledzić przez AI, wcześniej po prostu ręcznie przesuwałem je wzdłuż ścieżki, obliczając kolejną pozycję, w której powinny się znajdować na następnym etapie, i ręcznie ustawiając je w tej pozycji .
Ale teraz są sztywnymi ciałami i podlegają zderzeniom oraz wszelkim siłom, które mogą je uderzyć i zrzucić z drogi.
Więc aby wykonać ruch AI, uważam, że powinienem teraz zastosować do nich impulsy / siły? Nie powinienem już ręcznie ustawiać ich pozycji dla każdej klatki.
Więc myślę, że muszę przejść od deterministycznego świata, w którym zmuszam SI do podążania ścieżką do niedeterministycznego świata, w którym mogą zostać powaleni w dowolnym kierunku, jeśli trafią, i po prostu popycham ich w kierunku następnego węzła na ścieżce aby je poruszyć.
Czy to prawda? Czy tak robią to inni ludzie?
Rodzi to kilka pytań na temat tego, jak uniknąć sytuacji, w której sztuczna inteligencja utknie w narożnikach scenerii, skoro nie idą precyzyjną ścieżką. Jak sobie radzicie z tego rodzaju rzeczami?
A może lepiej jest w jakiś sposób wymieszać te dwa elementy i nadal mieć swoją sztuczną inteligencję podążającą ustaloną ścieżką poprzez ręczne ustawienie ich pozycji i reagować tylko na inne siły w pewnych okolicznościach, które można łatwo kontrolować?
Dzięki za wszelkie porady chłopaki.