11.07.2026 09:19

Silnik gier: fizyka 2D (Faza 3)

⏱️ 2 min read
Share:

Silnik gier Moonlight nauczył się grawitacji. Faza 3 dodaje pełną fizykę 2D: ciała sztywne, kolizje i strefy wyzwalaczy — wszystko spięte z systemem sygnałów, którym gra już mówi.

Co potrafi fizyka

  • Trzy rodzaje ciałstatyczne (podłogi, ściany), kinematyczne (poruszane przez grę, np. ruchome platformy) i dynamiczne (spadają, obracają się, zderzają — pełna symulacja brył sztywnych na sprawdzonym, otwartym silniku fizycznym).
  • Kolidery do wyboru — prostokąt, koło albo wypukły wielokąt, każdy z gęstością, tarciem i sprężystością; kształt można dowolnie przesunąć i obrócić względem ciała.
  • Strefy (sensory) — obszary, które niczego nie odpychają, ale zgłaszają każde wejście i wyjście obiektu. Checkpointy, pułapki, zbieranie monet — wszystko na jednym mechanizmie.
  • Kolizje jako sygnały — zderzenie emituje sygnał na obu ciałach, strefa na sobie, z identyfikatorem drugiego obiektu w argumencie. Skrypt Lua i graf zdarzeń reagują na fizykę dokładnie tak samo, jak na wszystko inne w silniku — zero specjalnych przypadków.

Wygoda: myślisz w pikselach

Silniki fizyczne liczą w metrach — twórca nie musi o tym wiedzieć. W Moonlight grawitację, prędkości i rozmiary podaje się w pikselach (domyślna grawitacja: 980 px/s² w dół), a przeliczenia dzieją się wewnątrz, na granicy symulacji.

Stabilność: stały krok + płynny obraz

Fizyka liczy się stałym krokiem czasu — ta sama scena zachowuje się tak samo niezależnie od mocy komputera, bez tunelowania przy skokach klatek. Obraz pozostaje idealnie płynny, bo renderer interpoluje pozycje między krokami symulacji (fundament z poprzednich faz — tu po prostu zaczął działać dla ciał fizycznych automatycznie).

Demo w oknie Play

Skrzynki spadają z góry ekranu, koziołkują, lądują na podłodze i układają się w stos. Strefa w połowie ekranu loguje każdy przelot. Jeden klawisz dosypuje kolejne skrzynki na wierzch stosu. Wszystko w kilkudziesięciu linijkach kodu sceny — reszta to silnik.

Co dalej?

Przed nami serce rozgrywki: pełny graf zdarzeń (programowanie wizualne) i komponenty skryptowe z prawdziwą pętlą gry — zbieranie, licznik punktów, restart. Potem dźwięk i UI.

📚 Related posts

23.07.2026 19:40

Moonlight Animate: zapis, który mówi, i eksport, który pokazuje

Ctrl+S wreszcie zapisuje po cichu, każdy zapis potwierdza nazwę i wagę pliku, a nowy dialog „Eksportuj jako” pokazuje zakodowany wynik i dokładny rozm...
Continue reading →
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...
Continue reading →
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...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.