Przejdź do głównej zawartości

Poko Rocket - czyli Chu Chu Rocket w przeglądarce

Dla frajdy, w ramach wolnego czasu postanowiłem zaimplementować swoją pierwszą grę, która będzie dostępna w każdej przeglądarce pod każdym systemem operacyjnym. Z powodu, iż wspomnianego wolnego czasu nie mam zbyt wiele oraz dlatego, że do dziś łezka mi się kręci, gdy przypomnę sobie prostą, ale wspaniałą grę "Chu Chu Rocket" stworzoną na platformę Sega Dreamcast (oraz później GameBoy Advance) doszedłem do wniosku, iż to właśnie ten oryginalny i kultowy tytuł stanie się moją inspiracją.

Moim celem nie jest jednak zaimplementowanie dokładnie takiej samej gry, z dokładnie takimi samymi zasadmi. Już w obecnym stadium (a jest to jeszcze BETA) dodałem jeden element, który nie był dostępny w oryginalnej wersji. Tym elementem jest strzałka zmieniająca domyślny kierunek poruszania się kotów i myszek (z prawej w lewo, a przy ponownym kontakcie z lewej na prawo itp). Pomysłów na rozwój mam zdecydowanie więcej, jednakże postanowiłem już teraz podzielić się z potencjalnymi odbiorcami tym, co udało się zrobić. Poniżej załączam kilka zrzutów ekranu z samej gry.

 







Kod, który wykonuje się po stronie klienta (HTML5 + JavaScript) postanowiłem udostępnić na licencji GNU/GPLv3, aczkolwiek biblioteka odpowiedzialna za wykrywanie kolizji w grze dostępna jest na bardziej liberalnej Lesser GPL v3, grafika została opublikowana na licencji Creative Commons BY-ND 3.0. Kod, który wykonuje się po stronie serwera pozostaje na razie zamknięty.

W procesie tworzenia i testowania gry swój udział miał mój brat, za co bardzo serdecznie mu dziękuję. Dziękuję również kolegom z pracy, którzy postanowili poświęcić swój czas na testowanie gry - serdeczne dzięki!

W chwili obecnej trwają prace nad edytorem plansz (który będzie udostępniony wszystkim zainteresowanym tworzeniem własnych leveli) oraz kolejnymi, zapewne trudniejszymi levelami.

W grę można pograć pod tym adresem. Obecnie gra jest ciągle w fazie beta-testów, dlatego proszę o wyrozumiałość w razie problemów. Będę również wdzięczny za zgłoszenia znalezionych błędów lub napotkanych utrudnień.

Komentarze

Popularne posty z tego bloga

WordPress -> SQL Injection poprzez plugin Webdorado SpiderCalendar

W zeszłym roku sprawdziłem jakość kodu oraz poprawność przetwarzania danych wejściowych przez plugin „Form Maker” przygotowany przez wydawcę Webdorado. Tym razem postanowiłem sprawdzić czy autor poprawił jakoś kodu swoich produktów. Należy tutaj nadmienić, że poza wersjami darmowymi opartymi na licencji GNU/GPLv2 oferuje on również wersję płatne z dodatkowymi szablonami. Tym razem postaram się opisać wszelkie przeszkody, które musiałem pokonać aby n apisać działającego exploita. Zacząłem zabawę tak, że program był dla mnie black-boxem, ale niestety skończyło się na przejrzeniu kodu. Zapraszam do lektury. Poniżej można zobaczyć jeden z widoków częściowych kalendarza, który domyślnie jest wywoływany z JavaScriptu jako XHR, można jednak go z powodzeniem otworzyć w przeglądarce jako widok główny: http://localhost:8888/wp/wp-admin/admin-ajax.php?action=spiderbigcalendar_month&theme_id=13&calendar=1&select=month,list,week,day,&date=2015-02&many_sp_calend...

OpenSUSE Linux 12.3 - czarny ekran

 Ze względu na moduł KMS, który jakiś czas temu został dodany do jądra systemu GNU/Linux, sporo sterowników kart graficznych musiało zostać przepisanych. Niestety do tej pory niektórzy użytkownicy mogą doznawać różnego rodzaju problemów z tym związanych. W OpenSUSE 12.3 (najprawdopodobniej też w innych oznaczonych 12.x) występuje problem braku prawidłowego funkcjonowania podświetlenie matrycy w laptopach typu emachines (między innymi w modelach emachines e525) wyposażonych w karty graficzne Intel GM45. Problem ten również może występować w innych dystrybucjach systemu GNU/Linux, które wykorzystują jądra Linux w tych samych wersjach. Żeby rozwiązać ten problem jako podstawowy test wykonaj próbę uruchomienia systemu z dodatkowym parametrem uruchomienia jądra " nomodeset ". Dopisz ten parametr do linii argumentów podczas wyświetlania menu probramu GRUB. Jeśli po uruchumoniu działa podświetlenie, to najprawdopodobniej występować może problem z rozdzielczością, która np. będzi...

Linux - dzielenie filmu na części (ffmpeg)

 Ostatnio natknąłem się na ciekawy problem. Mianowicie plik wideo, który "ważył" około 5GB chciałem przegrać na pendrive celem uruchomienia w telewizorze. Oczywiście telewizor z niewiadomych przyczyn nie wspierał linuxowych systemów plików, więc dało się skopiować jedynie pierwsze 4GB filmu z uwagi na ograniczenie maksymalnego rozmiaru pliku. Z uwagi na to, iż pliki wideo mają odpowiednie nagłówki itp podzielenie tegoż filmu poleceniem split było niemożliwe: split -b 2048m nagranie.avi Na systemach GNU/Linux wszystko zazwyczaj można zrobić w prosty sposób z poziomu konsoli. Z pomocą przyszedł mi ffmpeg. Poniżej przykład podziału pliku video o długości 02 godziny 49 minut i 00 sekund: fmpeg -i nagranie.avi -vcodec copy -acodec copy -ss 00:00:00 -t 01:30:00 nagranie_p1.avi;  ffmpeg -i nagranie.avi -vcodec copy -acodec copy -ss 01:30:00 -t 02:49:00 nagranie_p2.avi  W ten sposób otrzymamy 2 pliki video (mniej więcej równe) o nazwie nagranie_p1.avi oraz nagranie_p2....