Spaceship game – prosta gra w Javascript – 10 levels

Creating game with Javascript

 

We wcześniejszych postach wspominałam, że napisałam grę na konkurs , w którym zasady miały dużo ograniczeń, np: wielkość gry nie mogła przekraczać 31337 bajtów (ok 31 KB), ilość kolorów na płótnie nie mogła przekraczać 32 w tym samym czasie (co sprawiało, że nie można było używać m.in. ładnie wyglądających, wygładzonych czcionek i kształtów), a cała gra musiała zostać wykonana na płótnie (canvas) wielkości 360×400 pixeli, które miało zostać rozciągnięte na cały ekran. Gra miała zostać napisana w Javascript i/lub w WebAssembly (C/C++/etc).

Jako, że pisanie kodu jest najlepszym sposobem na naukę, podjęłam się zadania, co zajęło mi sporo czasu 🙁 , ale za to równie sporo się w tym czasie nauczyłam, 🙂 yay! To, co zaskoczyło mnie najbardziej, to możliwość tworzenia własnych dźwięków (o czym pisałam już wcześniej). Nauczyłam się też, jak stworzyć kształty z antyaliasingiem (bez wygładzania krawędzi, które generują dodatkowe odcienie kolorów) oraz jak zapisać stan gry (punktację) w localStorage i stworzyć dzięki temu możliwość rywalizacji. No i wreszcie – był to mój pierwszy „większy projekt”, więc ułożenie logiki całości i sprawienie, by wszystko sprawnie działało, gra nie „wywalała się” i przede wszystkim – zapewniała zabawę, nie było wcale takie proste.

Efekt mojej pracy można zobaczyć (i zagrać) tu: Spaceship game

Zasady gry są proste:

  • statek kosmiczny porusza się w lewo i prawo za pomocą strzałek oraz strzela po naciśnięciu spacji.
  • na początku liczba kul statku ograniczona jest do 5, jednak po zestrzeleniu ikonki z napisem +2 zyskuje się 2 dodatkowe kule.
  • misja polega na zestrzeleniu wszystkich kosmicznych klocków – niektórym wystarczy jeden strzał, inne wymagają, aby strzelić w nie kilka razy.
  • pod znakiem zapytania kryją się niespodzianki – dodatkowe życie (serduszko), dodatkowe punkty (gwiazdka) – które należy złapać oraz takie, których należy unikać (jak kule strzelającego do statku wroga). Wśród niespodzianek są też takie, które na kilka sekund utrudniają widoczność oraz takie, które zwiększają możliwość ilości kul wystrzeliwanych przez statek na raz. Jest też niespodzianka, która na kilka sekund spowalnia ruch na planszy.
  • Gra posiada 10 poziomów, przy czym w 10 poziomie należy jeszcze pokonać kosmicznego wroga.
  • Wytrwali mogą liczyć na bonusową sekretną planszę, która pojawia się tylko wtedy, gdy złapane zostaną wszystkie serduszka i gwiazdki oraz nie straci się żadnego życia.

Rozgrywka wydaje się prosta podczas pierwszych kilku leveli, ale dotrzeć do ukrytej planszy udaje się tylko nielicznym. Będziesz jednym z nich?  😉

 

Joanna

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *