Obecnie tworzę grę obrony wieży 2d ze statyczną, z góry określoną ścieżką, którą podążają wrogowie (tzn. Wieże nie mogą blokować ścieżki, a znalezienie ścieżki nie jest problemem, który próbuję rozwiązać).
Próbuję wymyślić, jak dokładnie sprawić, by jednostki płynnie podążały tą ścieżką . Mam dwa ogólne pomysły na to, jak to zrobić, ale chciałbym mieć pewien wkład, który może być łatwiejszy do wdrożenia / bardziej standardową technikę. Lub oczywiście, jeśli istnieje jakiś zupełnie inny sposób, którego nie brałem pod uwagę, chętnie się o tym dowiem.
Punkty trasy: Moim pierwszym pomysłem było zdefiniowanie ścieżki jako szeregu zakodowanych punktów trasy. Następnie jednostki wykorzystywałyby podstawowy algorytm „wyszukiwania” (taki jak ten ), aby przemieszczać się kolejno do każdego punktu na drodze. Zastanawiałem się jednak, czy może być trudno powstrzymać jednostki przed zbyt dużym odchyleniem się od linii, którą chcę podążać. Zastanawiam się, czy niemożność gwałtownego skrętu może spowodować, że „ześlizgną się” z pożądanej linii. Podejrzewam jednak, że mógłbym temu zapobiec, pozwalając na zastosowanie stosunkowo silnej siły kierującej?
Krzywe Béziera: Drugim rozważanym przeze mnie rozwiązaniem jest zdefiniowanie ścieżki za pomocą krzywej Béziera i za każdym razem obliczenie punktu wzdłuż krzywej za pomocą (dt * prędkości) od aktualnej lokalizacji urządzenia. Podejrzewam, że ta technika znacznie ułatwiłaby precyzyjne określenie ścieżki, którą podążą jednostki, ale nie wiem, jak dokładnie to zrobić. Jakieś sugestie?
Też nie zmieni to niczyich odpowiedzi, ale jednostki również muszą być w stanie podróżować ze stałą prędkością wzdłuż ścieżki. Dodatkowo programuję tę grę w Pythonie przy użyciu frameworka.
Jeśli coś jest niejasne, daj mi znać.
Edycja: Również za wszelką cenę próbuję odtworzyć zachowanie ruchowe wrogów w Szarży Królestwa .