WG: System cząsteczek

Cóż, dawno nie pisałem nic nowego więc pora to naprawić :)

Otóż projekt w którym uczestniczę, póki co nazwany “Warsztat Game” ma się dość dobrze. Mimo lekkiego spowolnienia prac wszystko idzie stosunkowo gładko :)

Sam zaś zajmuję się systemem cząsteczek

Jego cechą szczególną jest fakt, że jest dość uniwersalny oraz łatwo tworzyć nowe efekty. Osiągnąłem to rozdzielając wszystko na emitery, afektory oraz renderery – dzięki temu można wykorzystywać już raz napisany kod. Całość zamyka się w ParticleSystem który zarządza tymi obiektami. I tak np: mozna napisać emiter punktowy i jeśli się nie spodoba to wystarczy go podmienić na jakiś rozpylacz – prawdopodobnie nawet w runtime :) Dodatkowo łatwo można dodać np: grawitację, obiekt śledzony itd.

Jedyne czego się obawiam to możliwe problemy z wydajnością, no ale… przedwczesna optymalizacja jest źródłem wszystkiego zła :P Dlatego wstrzymam się do testów aby odszukać wąskie gardła i je zoptymalizować.

W każdym razie mimo że piszemy grę 2D to cząsteczki są 3D – renderer zajmuje się obliczeniem gdzie dana cząstka powinna wylądować przy pomocy dość prostego wzoru ;)

Póki co załączam obrazek przedstawiający co udało mi się osiągnąć:

Obrazek przedstawiający dym jaki udało mi się osiągnąćObrazek przedstawiający dym jaki udało mi się osiągnąć

Cóż to tyle. Dodam jeszcze że finał intersieci albo odbędzie się na Politechnice Krakowskiej albo w PWSZ w Nowym Sączu (niecałe 100 m od mojej szkoły) co mnie niezmiernie zaskoczyło… cóż zobaczymy co dalej, dokładna lokalizacja i termin dopiero się ukaże.

Dodaj komentarz