Autor Wątek: [mobile, html5] Invictus  (Przeczytany 2592 razy)

Offline skowronkow

  • Użytkownik
    • skowronkow devsite

  • +6
# Maj 07, 2015, 23:41:01


Jest to mała gra mobilna stworzona na tegoroczne Ludum Dare (32). W zamyśle jest to prosta gra na telefon, którą można odpalić i pograć 5 minut, czasem pobić jakiś rekord :) Grafika to jakieś darmowe assety i jest to coś co chciałbym w następnej kolejności poprawić. Zachęcam dać jej szansę, bo mimo prostoty i niedopracowania pewnych elementów potrafi wciągnąć. Pisałem z zamiarem pokazania kiedyś synowi jednak moją największą fanką i krytycznym graczem jest, jak się okazało, moja żona.

Jeśli chodzi o sam konkurs to nie liczę na zbyt wysoką pozycję jednak paredziesiąt komentarzy i widok ludzi grających w coś co powstało w kilkadziesiąt godzin i nie jest ku mojemu zaskoczeniu najgorszym crapem jaki może być juz zrekompensował mi tygodniowe dochodzenie do siebie po 2 nieprzespanych nocach (choć w pracy byłem chyba tylko duchem).

Powstał dotychczas prosty ale grywalny prototyp gry mobilnej odpalanej w przeglądarce, który chcę trochę przystosować do dzisiejszych standardów gier mobilnych. Kolejny cel to wycisnąć z webgl na tyle dużo by gra mogła działać płynnie i prezentować się nieco lepiej niż teraz. Jest to w końcu taki mały poligon doświadczalny, gdzie bez skrupułów mogę sprawdzić czy tworzenie gier to jest to co chciałbym robić w życiu.

Tymczasem najbliższe dni będą dla mnie radosnym i nerwowym oczekiwaniem. Niekoniecznie na wyniki konkursu :)

Miłej zabawy!

PS. chyba jedyny let's play, na który dodatkowo sam zgłosiłem grę :>

video 1:
https://www.youtube.com/watch?v=GeAutPGhP_4

video 2:
https://www.youtube.com/watch?v=zHNEPYGlmaA

Link do gry:
http://xnajs.com/ld32/release/

Link do gry bez GA:
http://xnajs.com/ld32/10/
« Ostatnia zmiana: Maj 08, 2015, 21:06:43 wysłana przez skowronkow »

Offline Mr. Spam

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

Offline MaxGarden

  • Użytkownik
    • Profil na warsztacie

  • +1
# Maj 08, 2015, 08:18:36
Biały prostokąt przesłania całą plansze, galaxy S5, stockowa przeglądarka.

Offline skowronkow

  • Użytkownik
    • skowronkow devsite

  • +1
# Maj 08, 2015, 08:41:25
Jedyne co przychodzi mi do głowy to google analitics. Testowałem na galaxy s4 ale byla to chyba doinstalowana chrome.

Link bez ga: http://xnajs.com/ld32/10/

Offline MaxGarden

  • Użytkownik
    • Profil na warsztacie

  • +1
# Maj 08, 2015, 08:52:47
Bez wszystko śmiga, przyjemna gierka.

Offline Raptor

  • Użytkownik

  • +1
# Maj 08, 2015, 21:02:06
Znalazłem mały bug :) Ledwie kilkoma kliknięciami nabiłem 4000 punktów (nie wiem czy to dużo czy mało), ale gdy wlecisz w róg w taki sposób, żeby trójkąt gracza (bohater?) robił małe kółka latając wokół samego narożnika, to bezkolizyjnie lata sobie ciągle pojawiając się we wszystkich 4 rogach. Wtedy czarne trójkąty nie są w stanie podążać za graczem, co chwila zmieniają kierunek.

EDIT: za drugim razem jak zostawiłem trójkąt kręcący się w rogu, bez żadnej mojej ingerencji nabiło 11195 punktów. Wrogie trójkąty z czasem zbijają się w ciasną gromadę, gdy w końcu pojawi się jakiś bonus na torze gracza, to robi się jedna wielka reakcja łańcuchowa usuwająca większość przeciwników :)
Powinno się chyba pojawiać więcej przeciwników w rogach, i może niech bonusy mają jakiś ograniczony okres ważności? :)


Ale faktycznie, gierka przyjemna.
« Ostatnia zmiana: Maj 08, 2015, 21:06:32 wysłana przez Krzysztof5 »

Offline ArekBal

  • Użytkownik

  • +1
# Maj 08, 2015, 21:03:07
Mógłbyś coś więcej o zastosowanych technologiach powiedzieć?

Libki?
Widzę że nazywa się to coś xnajs.
To twoje dzieło? Zastępstwo three.js?

Stosujesz "nomenklaturę" modułów commonjs... eksportujesz Bowerem czy coś?

Jakiś transpiler?

Offline skowronkow

  • Użytkownik
    • skowronkow devsite

# Maj 08, 2015, 21:40:08
@MaxGarden:
Dzięki. Ja już nie potrafię spojrzeć obiektywnie czy grałem dlatego że fajna, czy dlatego że moja :)

@Krzysztof5:
Tak, wiem o nim. Można zrobić dzięki temu niezłą rozpierduchę: https://www.youtube.com/watch?v=GeAutPGhP_4 Na szybko zaimplementowany wraparound statku. Wrogowie powinni gonić po najbliższej drodze mając również taką możliwość. Nie ruszałem już tego w prototypie ponieważ i tak zamierzam przenieść to na powierzchnię planety więc ten problem zniknie sam.

@ArekBal: Technologia to js + webgl. Tak używam w tym projekcie browserify. Całości nawet nie minifikuje bo i tak cała libka jest open source (ten prototyp również będzie). W każdym kolejnym projekcie coś tam do niej dorzucam starając się sam nie wiem czemu by przypominała tworzenie w XNA/MonoGame. Trochę się to czasem kłóci z prototypowym/funkcyjnym(mam na mysli closure) stylem pisania w js jednak świetnie za to bazuje się na przykładach z dawnego xna by osiągnąć jakiś efekt. Korzystam przy tym sporo ze źródeł MonoGame.

Ostatnio aby się pobawić przerobiłem to:
https://www.youtube.com/watch?v=CzuYXTa_CsU

na to:
http://xnajs.com/examples/02/

Póki co mam tam jakieś podstawy (spritebatch, spritefont, effect, texture2d, rendertarget2d) ale sukcesywnie dorzucam do niej nowe rzeczy. Teraz dodaje ostatnie elementy z Monogame tj. podstawowe shadery do 3d i obsługa paru formatów 3d. Całość bardziej dla nauki, zważywszy że sporo elementów w niej jest stworzonych bardziej pod ES6 niż ES5.

Nastawiam się na pisanie głównie pod urządzenia mobilne więc sporo czasu poświęcam wydajności biblioteki. Sporo jej do ideału. W tym momencie jest pomiędzy pixijs v2 a pixijs v3 jednak zaglądałem ostatnio do v3  i w sumie poza bardziej optymalnym ale mniej elastycznym shaderem dla particli nic rewolucyjnego tam nie ma. I tak nastawiam się, że dla konkretnego projektu tworzę specyficzny shader by jak najwięcej wycisnąć z tych małych urządzeń, a podejście z xna sprawdza się tu wyśmienicie.

Edit: W sumie mam to gdzieś. Wydajność grafiki jest bardzo ważna ale tylko jesli jest wąskim gardłem.

Elaborat mi wyszedł :)

Link: https://github.com/coderitual/xna.js
« Ostatnia zmiana: Maj 08, 2015, 23:32:31 wysłana przez skowronkow »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +1
# Maj 08, 2015, 21:42:21
Gierka fajna, tylko sterowanie bardzo niewygodne. Bardzo by pomogło, gdyby kierunek obrotu gracza nie tyle zmieniał się po kliknięciu, co zależał od stanu przycisku myszy. Kiedyś w ten sposób zrobiłem 1-przyciskowego węża na 4 graczy i sterowało się wyśmienicie: żeby jechać prosto wystarczyło przyciskać z wypełnieniem 50%, a potem żeby skręcić wystarczy puścić lub przytrzymać klawisz w zależności od kierunku. W Twoim przypadku jechać prosto da się bez problemu tą samą metodą, ale jak już przychodzi do skręcania, to siłą rzeczy skręca kompletnie losowo.

Offline skowronkow

  • Użytkownik
    • skowronkow devsite

# Maj 08, 2015, 21:52:49
@Krzysiek K.: Tak na początku było. Jeśli dobrze rozumiem to statek normalnie skręca np w lewo ale kiedy trzymasz palec na ekranie zaczyna skręcać w prawo. Takie sterowanie jest wg mnie łatwiejsze jednak jest coś dziwnego. Mój mózg się trochę zepsuł od tej gry. W tym momencie bez trików mam 77k pkt i zero problemów z odgadnięciem w którą stronę poleci statek jak przestanę tapać :) W zasadzie dla zabawy latam tak między nimi i ginę zazwyczaj przez kolejnego buga. Kolizja jest okręgiem i powinien on być wpisany w ten trójkąt tak by gracz często uchodził cudem z życiem. Zamiast wpisania jest jednak przesunięty na środek.

Być może jednak wrócę do Twojego pomysłu bo też jest spoko. Ten, troochę z przypadku zostawiłem po paru testach z udziałem zaledwie 3 osób.
« Ostatnia zmiana: Maj 08, 2015, 23:00:41 wysłana przez skowronkow »

Offline ArekBal

  • Użytkownik

  • +1
# Maj 08, 2015, 22:03:46
https://youtu.be/EGNSdcy-apU?t=3m50s

Trochę myślę idea jak tutaj...
Zupełnie inna mechanika, ale idea wspólna: po iluś tam próbach mózg się przyzwyczai i "zakoduje" info ile razy wcisnąłeś klawisz(czy "tap"nąłeś) i co to aktualnie oznacza i nie potrzebuje już wizualnego sprzężenia zwrotnego by stwierdzić w jakim stanie się znajduje. Nauka prowadzenia czegokolwiek tak działa wg. mnie. Gdyby kierowcy liczyli aktualnie zmieniony bieg w świadomości to by straszne opóźnienia mieli :D.
« Ostatnia zmiana: Maj 08, 2015, 22:06:34 wysłana przez ArekBal »

Offline Kos

  • Użytkownik
    • kos.gd

# Maj 10, 2015, 00:22:32
Mam problem z graniem w tę grę na laptopie bez myszki. Mógłbyś dodać jakiś klawisz?

No i też chętnie zobaczę wersję ze sterowaniem po Krzyśkowemu. Zrób trochę więcej a-b testów :-) Dla mnie jest zupełnie nieoczywiste w którą stronę lecę.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Maj 10, 2015, 11:48:31
Cytuj
Gdyby kierowcy liczyli aktualnie zmieniony bieg w świadomości to by straszne opóźnienia mieli :D.
Nie wiem jak inni, ale moja podświadomość mi tego sama nie liczy. Ona wie dokładnie kiedy zmienić na dwójkę, trójkę, itd, ale działa bezstanowo na odruchach i nie zapamiętuje aktualnego biegu. Czasem zdarza mi się np. "zmienić" bieg z dwójki na dwójkę, bo dojeżdżam do skrzyżowania - jak to zwykle bywa, skręcam na dwójce, ale fakt, że dwójka już jest wrzucona jest rejestrowany tylko świadomie.

Offline skowronkow

  • Użytkownik
    • skowronkow devsite

# Maj 10, 2015, 18:31:14
@Kos: Good idea.

@Krzysiek K: Dobrym przykładem jest też jazda na rowerze. Szczególnie na takim: https://www.youtube.com/watch?v=WIvprHCbQHY


Offline Kos

  • Użytkownik
    • kos.gd

  • +1
# Maj 10, 2015, 18:57:29
@Krzysiek: A robisz też "wiggle" żeby sprawdzić czy jesteś na luzie? :D