11.07.2026 20:24

Silnik gier: szukanie drogi — wrogowie omijają ściany

⏱️ 2 min czytania
Udostępnij:

Silnik gier 2D Moonlight Studio dostał szukanie drogi po siatce kafli. Wróg nie musi już biec na ślepo w stronę gracza i zderzać się ze ścianą — teraz potrafi znaleźć trasę dookoła i sprytnie do niego dojść.

Jedna linijka, gotowa trasa

Wystarczy podać mapę oraz komórkę startową i docelową:

local trasa = mp.find_path(mapa, wrog_x, wrog_y, gracz_x, gracz_y)

W odpowiedzi gra dostaje listę komórek prowadzącą dookoła solidnych kafli — dokładnie tych samych, które zatrzymują postać. Wróg idzie po kolejnych punktach tej listy i omija ściany, filary czy wąskie korytarze. Jeśli lista jest pusta, cel jest po prostu nieosiągalny (np. zamknięty w osobnym pomieszczeniu) — i gra może wtedy zrobić coś innego.

Znaleziona trasa jest zawsze najkrótsza — silnik używa sprawdzonego algorytmu przeszukiwania siatki.

Licz mądrze

Szukanie drogi warto uruchamiać z głową: raz, gdy wróg się pojawia albo gdy gracz przemieści się w nowe miejsce — a nie w każdej klatce. Policzoną trasę wystarczy zapamiętać i prowadzić po niej wroga; to trzyma grę lekką nawet przy wielu przeciwnikach.

Co dalej

Nadchodzą: ruch po skosie, wygładzanie trasy (płynne przejścia zamiast schodkowego zygzaka po komórkach) oraz wagi terenu — żeby wróg wolał suchą ścieżkę od błota.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.