11.07.2026 09:43

Silnik gier: logika gry — graf zdarzeń i skrypty (Faza 4)

⏱️ 2 min czytania
Udostępnij:

Silnik gier Moonlight ma już oczy (viewport), ręce (sterowanie) i ciało (fizykę). Faza 4 daje mu mózg: pełną warstwę logiki gry — programowanie wizualne grafem zdarzeń i skrypty Lua, zbudowane na jednym wspólnym API.

Graf zdarzeń: logika bez pisania kodu

Dla twórców wizualnych — a to oni są sercem Moonlight — najważniejsza wiadomość: logikę gry można składać z klocków.

  • Zdarzenia uruchamiają przepływ: „przy starcie", „co klatkę", „przy sygnale" (np. kolizji albo wejściu w strefę).
  • Klocki przepływu — gałąź (jeśli/inaczej), pętla, sekwencja.
  • Klocki działania — zmienne i matematyka, odczyt i zapis właściwości obiektów, pozycje, tworzenie i usuwanie obiektów, emitowanie sygnałów.
  • Wykonanie płynie od zdarzenia po połączeniach zawsze w tej samej kolejności — przewidywalność jest częścią kontraktu, potwierdzoną testem.

Skrypty Lua: pełna moc, przeładowanie na gorąco

Kto woli pisać kod, dostaje pełne API silnika w Lua — łącznie z hot-reloadem: edytujesz skrypt, a gra działa dalej ze swoim stanem, bez restartu sceny.

Jedno API — dowód, nie obietnica

Graf i skrypty nie są dwoma silnikami: oba wołają dokładnie te same funkcje. Zapisaliśmy tę samą mini-grę — zbierz monety, licznik punktów, warunek wygranej, nowa runda — raz w Lua i raz w grafie. Test potwierdza identyczny wynik obu wersji. Obie warstwy współpracują też na żywo: graf potrafi wywołać kod Lua, skrypt reaguje na sygnały emitowane przez graf, a obie strony dzielą tablicę zmiennych obiektów.

Drobiazgi, które robią grę

  • Grupy obiektów — „monety", „wrogowie": jedno zapytanie zamiast ręcznych list.
  • Maszyna stanów — obiekt trzyma nazwany stan, każda zmiana emituje sygnały wyjścia/wejścia. Idle → bieg → skok bez spaghetti.
  • Minutnik (z poprzedniej fazy) dopełnia zestaw podstawowych klocków logiki.

Demo: pierwsza grywalna pętla

W oknie Play silnika biega już postać sterowana WASD lub padem, zbiera pięć monet (strefy-sensory z fizyki), licznik rośnie, a po skompletowaniu zaczyna się nowa runda. Mała rzecz — ale to pierwsza kompletna pętla rozgrywki wykonana w całości przez silnik: wejście → fizyka → logika → obraz.

Co dalej?

Faza 5: dźwięk, interfejs gry i animacja — w tym odtwarzanie scen Moonlight Animate bezpośrednio wewnątrz gier. Rysujesz i animujesz w tym samym programie, w którym powstaje gra.

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