Autor Wątek: Cartoon Asteroids  (Przeczytany 4605 razy)

Offline dynax

  • Użytkownik

# Sierpień 17, 2012, 17:51:03
Cartoon Asteroids

Dobra, nadszedł czas oby opublikować coś czym zajmowałem się ostatnimi czasy. Jest to prosta gierka w komiksowym klimacie w której wcielamy się w rolę statku kosmicznego którego zadaniem jest niszczenie asteroid zagrażających komiksowej galaktyce. Nic innego jak klon dobrze znanych Asteroids w śmiesznym, rysunkowym i niedbałym klimacie.

Czym gra się może pochwalić:

  • 4 rodzaje różnych asteroid.
    • Zwykła (brązowa) - rozbijająca się na 2 mniejsze które rozbijają się na kolejne 2 mniejsze.
    • Twarda (czarna) - potrzeba 2 celnych trafień aby się rozbiła
    • Wybuchowa (czerwna) - po trafieniu rozbija się na 4 szybko lecące małe fragmenty
    • Smart (szara) - po trafieniu rozbija się na 3 samonaprowadzające się kawałki, lecące w stronę gracza

  • 4 rodzaje ulepszeń statku
    • Moc silników
    • Szybkość obrotu statku
    • Prędkość pocisków
    • Szybkostrzelność

  • Mega multiplatformowość

Ulepszenia wykupuje się po każdej misji za specjalne COMBO pointy. Trafienie kilku asteroid po rząd bez chybienia i trafienia przez asteroidę daje nam owe COMBO pointy.

Technologia i creditsy

Grę tworzyłem sam w języku programowania HaXe i platformie NME. Użyłem silnika HaxePunk. Grafikę również robiłem sam. Muzykę wziąłem z zasobów Kevina MacLeoda i Franka Nory opublikowanych jako  Public Domain.

Gra może być odpalona na wielu platformach. Aktualnie jest wersja na Flash, native Windows, Android i wersja BETA dla HTML5. Planowana jest wersja dla systemów Apple ale na razie nie mam licencji ani żadnego jabłkowego sprzętu.

Zdjęcia



Pobieranie

« Ostatnia zmiana: Sierpień 17, 2012, 19:42:58 wysłana przez dynax »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline crocer

  • Użytkownik

# Sierpień 17, 2012, 17:57:10
Wygląda fajnie tylko hitboxy ;( Czasami asteroida przelatująca dobry 1cm ode mnie mnie zabija

Offline dynax

  • Użytkownik

  • +2
# Sierpień 17, 2012, 18:10:01
Prawda, będę to musiał jeszcze poprawić :)

Offline Vipa

  • Redaktor

# Sierpień 17, 2012, 21:18:29
Nie ma wrażych pocisków, ale też strzelanina ;). Już lubię.
Wytknę błędy:
- musiałem uruchomić grę jako administrator. Inaczej wywałka po menu (?!). Nie wiem o co kaman. //edit - niekiedy idzie normalnie.
- skąd te pociski wylatują? Z prawej strony ufo? Z lewej? Nie wiem ;)
- kolizje. Nie skomentuję. Te są. Ale gdzie, to już trzeba zgadywać ;).
- nie wiem jak poruszać się w menu. Ok, trochę zasad: jeżeli w grze nie używa się myszki, to w menu nie jest ona także potrzebna. Qrde nie używam myszki za często, a czystym strzałem tylko zauważyłem, że kursor się zmienił jak najechałem na okno. Jak już to kursor na środek okna. Ale wywaliłbym myszkę w cholerę i podświetlił opcję w menu. Od razu wiadomo o co kaman.
Strzałki. 50% sukcesu. Ale na diabełka rogatego spacja?! No qrde przeleciałem całą klawiaturę najpierw łącznie z eFami.
Zasada do zapamiętania dla wszystkich potomnych: jeżeli shmup to strzałki i ZXC. Innych klawiszy nie ma. Obsługa pada jak najbardziej, ale żadnych spacji! Żadnego WSADa tym bardziej. Strzałki i ZXC. TYLKO. Dodać konfigurację i po kłopocie dla każdego, ale default jak wyżej.
Hint: niemiaszki mają zamienione Z i Y. Warto podpiąć pod Z i Y pod tę samą akcję.

- pojazd może zniknąć z ekranu. Zjeżdżając za ekran pojazd znika i dopiero po czasie pojawia się z drugiej strony, ale i tak w złym miejscu. Przykład. Zjeżdżamy poniżej ekranu bardziej z lewej strony, a pojawiamy się na górze z prawej. Argh.
- napisy get ready itp. albo dać możliwość skipowania, albo wywalić, albo dać możliwość kontroli pojazdu, i: asteroid nie powinno wtedy być, nadlatują dopiero po rozpoczęciu rozgrywki a gracz już zajął dobra pozycję, uzależnioną od jego preferencji. To nie horizontal ani vertical shooter, a każdy ma swoje przyzwyczajenia.
- background. Ja rozumiem, że powinien być jak najmniej niewidoczny i nie przeszkadzać w obserwowaniu gry, ale bez przesady :).
- pociski powinny lecieć szybciej. Asteroidy poruszać się powinny szybciej także. Przyspieszenie gracza nie istnieje :).

PS. który kawałek jest Kevina?

Offline dynax

  • Użytkownik

# Sierpień 17, 2012, 22:26:21
Huh, aleś mnie zjechał Vipa :) Dopisuję uwagi do wishlisty i zabieram się za patcha. A propos błędu z wywalaniem po menu to nie mam pojęcia bo nie zdarzyło mi się to wcześniej i nie mogę tego odtworzyć.

PS: Kawałek kevina to http://freepd.com/Unclassified%20Electronic/Beat%20One
« Ostatnia zmiana: Sierpień 17, 2012, 22:28:47 wysłana przez dynax »

Offline goshki

  • Użytkownik
    • Vigeo Games

# Sierpień 18, 2012, 00:14:24
Widzę, że wdrażasz się w Haxe/NME. Fajnie. :-) A tak z ciekawości, czemu HaxePunk, a nie HaxeFlixel? Widziałem na Kongregate, że poprzednie gry robiłeś we Flixelu.

O grze w zasadzie Vipa powiedział wszystko. ;-)

Offline dynax

  • Użytkownik

# Sierpień 18, 2012, 00:34:34
Z początku myślałem o HaxeFlixel ale odstraszyła mnie wiadomość z readme "targets only flash and c++". HaxePunk może targetować wszystkie platformy z NME. Swoją drogą skoro już zaczeliśmy temat HaXe i NME to pozwolę sobie podzielić się swoimi doświadczeniami z tego projektu. Prawdopodobnie znajdzie się tu kilka osób zainteresowanych tą platformą.

Z HaXe miałem, podczas tworzenia tego projektu, kilka problemów. Przede wszystkim każdy feature dodany do gry musiałem osobno sprawdzać na każdym targecie bo wbrew temu co mówią twórcy NME pisanie na platformy różni się nieco. Z początku gra wywalała się na Windowsie przy starcie z assertion error w bibliotece SMPEG. Musiałem skonwertować pliki z muzyką z formatu .mp3 do .ogg. Na Windowsie zaczęło działać ale target na flasha przestał się kompilować (flash nie wspiera formatu .ogg). Musiałem każdy plik muzyczny trzymać w folderze z assetami w 2 różnych formatach. Biblioteka zaczęła automatycznie dobierać sobie format pliku w zależności od platformy, mimo, że w opcjach projektu miałem ustawiony tylko export plików .ogg. Najlepsze, że tego exportu różnych formatów plików nie było opisanego w dokumentacji :)
Poza tym było dużo mniejszych problemów, kilku rzeczy w ogóle nie było zaimplementowanych i musiałem je sobie sam dopisać a poza tym spora część rzeczy nie była nigdzie opisana i musiałem do tego dochodzić sam. Dużo musiałem grzebać w bebechach NME, szczególnie w project template na Androida. Było też sporo pisania w Javie :)

PS: Swoją drogą goshki swojego czasu pomógł mi w ogarnięciu bebechów NME i ich modyfikacji. Dzięki. 

Offline lukasyno

  • Użytkownik

  • +1
# Sierpień 18, 2012, 13:29:03
Przedewszystkim to jest brzydkie, juz nawet taka grafika
http://html5center.sourceforge.net/inc/articles/img/How%20to%20Build%20Asteroids%20with%20the%20Impact%20HTML5%20Game%20Engine_files/image015.png
by wygladala lepiej a dzielem sztuki to nie jest ;)
to raz a dwa brakuje "flow" brak efektow... po wystrzeleniu pocisku mogla by leciec za nim flara, glowny statek gdyby zostal trafiony to nie staje sie troche przezroczysty(bardzo tanie i bardzo brzydkie) ale np caly ekran lekko sie zastrzesie a nad statkiem leci napis "-1 life" strzelanie tez jest meczace po nacisnieciu przycisku powinno sie strzelac ciagle a nie klepac ta spacje, tak samo gdy zbijamy jakis asteroid taki klasyczny napis leccacy do gory "+500" itp t fajny efekt... generalnie zamiast dodawac funkcje o ktorych piszesz i megaplatformowosc z ktorej i tak nikt nie skorzysta skupil bym sie na czyms prostym ale ładnym i robiacym efekt "ale fajnie sie to animuje" ;>

Offline goshki

  • Użytkownik
    • Vigeo Games

# Sierpień 18, 2012, 17:39:23
Hehe, wiedzą należy się dzielić. ;) Sam poświęciłem dobre kilka miesięcy na uruchomienie Haxe+NME na wszystkich platformach, które mnie interesowały (Flash, Windows, Android... do iOS'a niestety nie mam dostępu). I kolejny miesiąc na rozkminienie bebechów NME na potrzeby integracji z bibliotekami Androida (AdMob).

Co do HaxeFlixela, to faktycznie początkowo targetował tylko Flasha i C++, ale już od dość dawna śmiga także na Androidzie czego dowodem jest gra, którą od paru miesięcy trzymam w Google Play oraz na Kongregate (kod źródłowy w 99% identyczny w przypadku obu wersji).

Oczywiście, tak jak piszesz, kompatybilność Haxe+NME pomiędzy różnymi platformami wymaga faktycznego sprawdzenia (np. w przypadku Androida na fizycznym urządzeniu). Niemniej jednak, jak dla mnie trio Haxe+NME+HaxeFlixel jest najbliższe określeniom "rapid development" i "cross-platform". :)

Offline zxc

  • Użytkownik

# Sierpień 18, 2012, 18:05:46
Goshki, a masz benchmark porównujący wydajność Haxa na iphonie do Aira na iphonie?

Offline goshki

  • Użytkownik
    • Vigeo Games

# Sierpień 18, 2012, 18:33:18
Goshki, a masz benchmark porównujący wydajność Haxa na iphonie do Aira na iphonie?

Jasne, tu:

https://github.com/elsassph/nme-runnermark

oraz tu:

https://github.com/esDotDev/RunnerMark/blob/master/results/Results.txt

Choć muszę przyznać, że miałem problem z osiągnięciem takich wyników NME na Samsungu Galaxy Ace (wersji AIR w ogólę nie mogłem przetestować, zbyt niska wersja Androida). W czystym HaxeFlixelu będzie jeszcze trudniej ze względu na przełączanie tekstur. W tym kontekście HaxeFlixel nie jest w ogóle zoptymalizowany (przynajmniej na razie).

Offline Kos

  • Użytkownik
    • kos.gd

# Sierpień 24, 2012, 13:00:16
Hint: niemiaszki mają zamienione Z i Y. Warto podpiąć pod Z i Y pod tę samą akcję.
Gry na Flixelu mają często akcje pod XCV. Może to dlatego :).

Offline Vipa

  • Redaktor

# Sierpień 24, 2012, 13:48:12
Pewnie tak, ja tam zawsze dodaję alternatywny klawisz na Y.