11.07.2026 16:55

Silnik gier: cząsteczki — iskry, deszcz i dym z jednego ziarna

⏱️ 2 min czytania
Udostępnij:

Silnik gier 2D Moonlight Studio dostał system cząsteczek: emiter Particles2D do iskier, deszczu, dymu, śniegu i wybuchów.

Co potrafi emiter

  • Emisja: tempo (cząstek na sekundę) i/lub jednorazowy wyrzut N naraz, twardy limit liczby cząstek, kształt źródła — punkt, linia, okrąg albo prostokąt.
  • Ruch: prędkość startowa z wariancją, kierunek z kątem rozrzutu, grawitacja i tłumienie.
  • Wygląd w czasie życia: rozmiar i kolor (z przezroczystością) płynnie przechodzą od wartości startowej do końcowej — iskra rudnieje i gaśnie w locie; do tego wirowanie i opcjonalna tekstura.
  • Rozruch: deszcz może „już padać" na pierwszej klatce — system startuje w połowie cyklu, bez pustego rozbiegu.

Ziarno zamiast losowości

Każdy emiter ma ziarno (seed): ten sam seed daje dokładnie te same cząstki w każdej powtórce i na każdej maszynie. Stan dowolnej chwili liczony jest wprost z wzoru — bez symulacji krok po kroku i bez losowania w czasie rzeczywistym. To ważne dwa razy: nagrania i powtórki wyglądają identycznie, a ten sam deklaratywny opis emitera będzie w przyszłości grał tak samo w scenach animacji na desktopie i w przeglądarce.

Przy przekroczeniu limitu cząstek znikają zawsze najstarsze — reguła jest stała, więc żadne dwie platformy się nie rozjadą.

Sterowanie jedną linijką

mp.set(emiter, 'emitting', false) zatrzymuje nowe cząstki (żywe dożywają swoje), ponowne włączenie restartuje emisję. Czas cząstek to czas gry — pauza je zamraża razem z resztą świata. Na monitorach powyżej 60 Hz cząstki dostają czas pośredni między krokami fizyki, więc ruch jest tak samo płynny jak reszty sceny.

Co dalej

Smuga za poruszającym się emiterem (przestrzeń świata), mieszanie addytywne (świecenie) oraz efekty poza formą analityczną — turbulencja, kolizje cząstek — mają zaplanowaną osobną, deterministyczną ścieżkę na później.

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