Tym razem pobiłem rekord w spóźnionym dostarczeniu ‚gry co miesiąc’. Już prawie koniec lipca, a ja dopiero prezentuję kompletny projekt czerwcowy. Jednak myślę, że warto było czekać, ponieważ ostateczna wersja Robota, wygląda naprawdę dobrze.
Oczywiście nie może być zbyt kolorowo. Niestety napotkałem drobne problemy z wydajnością. Nie wiem czy to moja wina, czy Phasera, ale jakoś muszę z tym żyć.
Opisywaną dziś wersję gry można przetestować klikając w obrazek powyżej. Na moim githubie znajduje się repozytorium zawierające jak najaktualniejszy stan gry. Wersja przedstawiona w poście dostępna jest po zajrzeniu w źródło strony gry 🙂 .
Nie będę tym razem opisywał kodu gry. Doszło zbyt wiele nowych rzeczy i przedstawienie każdej, było by bardzo trudne. Po za tym, tak jak wspomniałem wyżej, możliwe, że popełniłem jakiś błąd w czasie planowania architektury, co odbiło się na wydajności. Nie chcę aby ktoś uczył się na podstawie złego kodu 🙂 . Dla dociekliwych kod jest dostępny na gicie. Jeżeli ktoś ma pytania na temat jego treści, nie wahajcie się zostawić komentarza.
Pokrótce przedstawię tylko stan gry. Trochę zmieniłem sterowanie robotem. Wciąż można nim poruszać przy użyciu strzałek, ale żeby strzelić z działka należy wcisnąć ‚x’. Do tego na początku robot jest wyposażony w dwie rakietki. Aby odpalić rakietę należy wcisnąć ‚z’.
Aby ukończyć poziom, trzeba nie tylko znaleźć klucze otwierające zamknięte drzwi, ale też uruchomić nieaktywne windy. Windę uruchamia się specjalnym przełącznikiem, który zazwyczaj znajduje się gdzieś niedaleko. Aktywna winda przeniesie gracza wgłąb poziom.
Na drodze bohatera gry, pojawiają się teraz nie tylko wrogowie, ale też walające się po poziomach beczki. Należy je traktować tak jak wrogów, czyli działkiem 😉 Po zniszczeniu takiej beczki w grze pojawi się nagroda, której zebranie spowoduje, że gracz otrzyma punkty.
Aktualna ilość zdobytych punktów pojawia się na znajdującym się na szczycie ekranu panelu. Oprócz tego znajduje się tam też informacja o aktualnym stanie życia robota, oraz o tym ile zostało mu jeszcze rakiet.
W grze jest tylko jeden poziom i jest on dość krótki, ale i tak jestem z niego bardzo zadowolony. Niestety napotkałem problemy z wydajnością gry. Próbowałem doszukać się przyczyny takiego stanu rzeczy, ale niestety nie udało mi się go znaleźć. Gdy rozpoczynam rozgrywkę wszystko chodzi jak trzeba, jednak po pewnym czasie, gra zaczyna wyraźnie zwalniać.
Myślę że powodem może być to, że zamiast korzystać z phaserowych grup, sam tworzyłem kolekcje obiektów. Nie wiem czy po użyciu są one dobrze usuwane z programu. Możliwe, że zalegające obiekty zaśmiecają pamięć co z kolej powoduje spowolnienie gry. No cóż, w kolejnym projekcie spróbuje używać tylko phaserowych grup to zarządzania obiektami, zobaczymy czy to coś zmieni 🙂 .
Póki co to tyle. Na koniec, jak zawsze, zachęcam do polubienia mojej strony na facebooku. Zawsze na bieżąco zamieszczam tam informacje o nowościach, więc warto polubić aby nie przegapić żadnego nowego wpisu.