Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 3.28 KB

README.md

File metadata and controls

60 lines (45 loc) · 3.28 KB

Placeholder na chadowy tytuł

Autorzy

Katarzyna Kloc - [email protected]
Patryk Bundyra - [email protected]

Opis

Odkąd CLion wypluł pierwsze segfaulty chcieliśmy napisać grę komputerową inspirowaną studencką przygodą na MIMie.
GigaChadTytuł będzie to gra platformowa, w której chodzi o to, żeby… zdać. Chcemy stworzyć grę inspirowaną Super Mario Bros, ale w mimowskim wydaniu. Student będzie musiał pokonać bugi, wzmonić się pijąc kawę i kto wie, może nawet stawi czoła niektórym prowadzącym...

Z grubsza będziemy wzorować się na tym tutorialu oraz oficjalnych przykładach uzycia

Funkcjonalności

  • generowanie losowych map
  • ruch gracza po mapie z przeszkodami
  • pokonywanie łatwych przeciwników
  • zbieranie wzmocnień (np. szybszy ruch/dalszy skok)
  • walka z finałowym bossem
  • checkpointy

Propozycja podziału na części

W pierwszej części stworzymy grę opartą na tutorialu z podstawowymi funkcjonalnościami takimi jak:

  • generowanie mapy
  • generowanie przeciwnikow
  • interakcja z przeciwnikami
  • wzmocnienia
  • menu początowe

W drugiej części dodamy:

  • nowy rodzaj łatwych przeciwników
  • finałowego bossa
  • podział na poziomu na checkpointy z rosnącym poziomem trudności
  • menu końcowe
  • efekty dzwiękowe
  • zdeployujemy grę używając WebAssembly
  • parę easter eggów ;)

Biblioteki

  • Bevy

Update po 1 części

Robiąc pierwszą część korzystaliśmy głównie z tych tutoriali:

oraz z dokumentacji i przykładów do Bevy oraz Rapiera.

Choć dużą część kodu wzieliśmy z ww. poradników, to używając najnowszej wersji Bevy musieliśmy przekształcić znaczną ilość kodu. Bardzo miło nam przyznać, że wywiązaliśmy się z wszystkich naszych zapowiedzi i zaimplementowaliśmy wszystkie przewidziane feature’y czyli:

  • generowanie mapy
  • generowanie przeciwnikow
  • interakcja z przeciwnikami
  • wzmocnienia
  • menu początowe

Widzimy też pole na poprawę i rzeczy które chcemy dodać w kolejnej części projektu. Są to m. in. timery i fizykę wzmocnień (bardzo uciążliwe, bo rapier nie posiada akutalnej dokumentacji), czy dodanie własnych eventów i obsługa pewnych akcji w grze właśnie przez customowe eventy. Duża częśc logiki gry polega na losowaniu. To gdzie zostanie umieszczony przeciwnik, kiedy skoczy, jakie dostaniemy wzmocnienie jest oparte na z góry zadanym prawdopobieństwu. Korzystając z komponentów pogrupowaliśmy odpowiednie struktury, takie jak Enemy, albo Powerup, dzięki czemu zapewniliśmy skalowalność rozwiązania i zostawiliśmy sobie furtkę na dodanie kolejnych przeciwników i wzmocnień. Mimo, że żeby zapewnić rozgrywkę na wysokim poziomie potrzeba jeszcze dużo pracy, to gra jest obecnie w niezłym stanie, można w nią sensownie pograć i mieć odrobinę frajdy - gwarantujemy jej zwiększenie w kolejnej części :)