Harrrry Opublikowano 28 Lipca 2008 Udostępnij Opublikowano 28 Lipca 2008 Witam. Mam wam do zaprezentowania mój własny system pathfindingu GMDijkstra. Wiem, że jest juz takich dużo na GMC, ale mój ma coś czego nie mają inne ;> Jak to obsłużyć? Cały system jest zawarty w kilkunastu skryptach w pliku GM6, aby wrzucić te skrypty do swojej gry, trzeba mergnąć swoją grę z tym plikiem. Przed wykonaniem jakichkolwiek funkcji należy wywołac funkcję gmd_init(). Następnie dodajemy mapy funkcją gmd_map_create(), blokujemy komórki w miejscach przeszkód za pomocą gmd_map_block_position(), lub uzywamy gmd_map_autoblock() (nie polecam - za wolno działa), na koniec uzywamy gmd_instantsearch() do znalezienia patha. (to tak w dużym skrócie) Dodatkowo za pomocą gmd_set_algorithm() mozna zmienic sposob obliczania patha. Jak to działa? Do szukania patha skrypt wykorzystuje algorytm Dijkstry. Działa on następująco: Zaczynając od komórki startowej skrypt najpierw sprawdza wszystkie sąsiednie komórki i zapisuje w nich odleglosc od startu i pozycje komórki która była jej poprzednikiem. Kiedy cel zostanie odnaleziony, zostanie odtworzona droga od celu do startu za pomoca zapisanych poprzednikow i zostanie utworzony path. Za pomocą gmd_set_algorithm() można przełączyć się na Best-first algorithm, aby pierwszeństwo miały komórki które są bliżej celu. Wtedy cel może być wyszukany szybciej na otwartych przestrzeniach, ale droga nie zawsze jest najkrótsza. Więcej info w komentarzach do każdego skryptu. (sorry że po ingliszu ale miałem trudności z wyjaśnieniem tych skryptów po polsku :boxed: ) Co w tym takiego niezwykłego? Mój system jako jedyny obsługuje mapki złożone z hexów! :D Ponadto istnieją funkcje pozwalające na rozłożenie szukania na kolejne stepy, aby nie przycinać gry za każdym razem. Są też funkcje przydatne w debugowaniu rysujące zblokowane pola i postęp szukania patha. Download: Link Mam nadzieję, że teraz gmclan zaleje fala gier opierających się na hexach. Raportujcie bugi, jeśli jakieś są. Własne sugestie mile widziane. No i nacieszcie się tym bo teraz mnie nie będzie przez 10 dni. Byebye Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pental Stary Opublikowano 29 Lipca 2008 Udostępnij Opublikowano 29 Lipca 2008 Na prawdę cacy - lepiej przyjrzę się temu potem, tymczasem zainspirowałeś mnie tym i mam zamiar przepisać do GMa algorytmy sortujące liczby (bubble sort, quick sort) :) . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 29 Lipca 2008 Udostępnij Opublikowano 29 Lipca 2008 Może się nie znam, ale jak dla mnie to jest za wolne... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę