Skocz do zawartości

Pathfinding - algorytm Dijkstry


SimianVirus7

Rekomendowane odpowiedzi

Dzień Dobry,

Robiąc prototyp użyłem wbudowanego w gm algorytmu a* i działa świetnie ale chciałbym dodać do gry drogi, które przyspieszają poruszanie się. Wyczytałem, że do tego najlepiej wykorzystać algorytm dijkstry ale nie potrafię nic z tego zrozumieć. Znaczy, zamysł i ogólną mechanikę tak, ale jak już zakodować to średnio. Jestem na samym początku, czyli tworzę grid (16x16) i przypisuje w komórki wartości. Wartości są minusowe, bo ma wybierać drogę o najmniejszej ilości ruchu (punktów).
Trawa: -1
Droga: -3
Kamień: 100

Generalnie ma to wyglądać tak, że ma wybierać, czy iść drogą, czy szybciej będzie "na szage" przez trawę, czy może kawałek przez trawę, żeby dojść do drogi i po niej kontynuować do celu. Wiem tyle, że każda kratka ma porównywać punkty z kratką sąsiednią i wybierać najmniejszą wagę.
Nie studiowałem, więc takie algorytmy są mi kompletnie obce, a w technikum mieliśmy tylko graf który łączył kilka punktów, a nie cały macierz. 


1.thumb.PNG.18a63046933f9b9d130f5c7a35135c12.PNG

(Wiem, że na necie jest kilka poradników, ale też nie bardzo się w nich odnajduje) 

Odnośnik do komentarza
Udostępnij na innych stronach

Polecam https://www.youtube.com/playlist?list=PLFt_AvWsXl0cq5Umv3pMC9SPnKjfp9eGW

Co prawda pan Sebastian robi to pod Unity, ale opisuje problem od podstaw. Bardzo rzadki przypadek gdy polecam komuś tutorial na YT

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...