13.07.2026 23:47

Silnik gier 2D: ruch po siatce, zajętość pól i inteligentne szukanie drogi

⏱️ 2 min czytania
Udostępnij:

Kolejny krok w budowie silnika gier 2D wewnątrz Moonlight Animate: dodaliśmy ruch po siatce — mechanikę znaną z klasycznych gier RPG i taktycznych, w których postać nie chodzi płynnie w dowolnym kierunku, tylko przeskakuje z pola na pole podzielonej na kratki planszy.

Krok po kratce

Nowy element ruchu doczepiasz do postaci albo NPC i wskazujesz mapę kafli. Od tej pory jeden „krok" to dokładnie jedna kratka: postać płynnie przesuwa się do środka sąsiedniego pola i się zatrzymuje. To ten charakterystyczny, planszowy rytm ruchu, który definiuje cały gatunek.

Możesz sterować z klawiatury (jeden klawisz = jeden krok) albo po prostu kazać postaci „idź do tego pola", a resztę policzy silnik. Opcjonalnie włączasz ruch na skos.

Nikt nie wejdzie na zajęte pole

Silnik pilnuje zajętości pól — pamięta, która postać stoi na którym polu. Dzięki temu dwie postaci nigdy nie wejdą na tę samą kratkę: gdy postać rusza, rezerwuje pole docelowe, a poprzednie zwalnia dopiero po dojściu. To niewidzialna szachownica z pionkami, która trzyma porządek nawet przy wielu NPC-ach jednocześnie.

Inteligentne szukanie drogi (opcja)

Zaznaczasz jedną opcję — smart-pathfinding — i postać sama znajduje drogę do celu, omijając ściany oraz zajęte pola. Jeśli przejście jest chwilowo zablokowane, poczeka i przeliczy trasę. Bez tej opcji postać idzie prosto i po prostu staje przed przeszkodą (klasyczne zachowanie, gdy chcesz pełnej kontroli nad każdym krokiem).

Dla twórców gier

To fundament pod gry RPG, taktyczne i przygodowe budowane w Moonlight Animate: rozstawianie NPC-ów na mapie, ruch bohatera po kratkach, patrole i pościgi, które same omijają przeszkody. Wszystko sterowalne ze skryptów oraz z wizualnego edytora węzłów — bez pisania od zera logiki ruchu czy wyszukiwania drogi.

Ruch po siatce to czysta logika gry (nie korzysta z silnika fizyki), więc jest lekki i w pełni deterministyczny — ta sama plansza zachowa się tak samo za każdym razem, także po wczytaniu zapisu gry. Ustawienie postaci w dowolnym miejscu „przyciąga" ją do najbliższej kratki, więc rozstawianie jednostek jest bezbolesne.

Następny przystanek: gotowy szablon mapy widzianej „z góry" oraz system dialogów.

📚 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.