Blog użytkownika czesiobar

czesiobar czesiobar 11.09.2016, 21:51
O tym jak stworzyłem moją pierwszą gierkę na Androida - i czego się przy okazji nauczyłem
1041V

O tym jak stworzyłem moją pierwszą gierkę na Androida - i czego się przy okazji nauczyłem

Cześć wszystkim. Niedawno wypuściłem swoją pierwszą gierkę na Androida - Shoot and Bounce (https://play.(...).android). Naszła mnie myśl, żeby opisać jak wyglądał proces tworzenia nawet tak prostej gry od początku do końca. Może kogoś zainspiruję do działania w tym temacie samemu, kto wie :).

A więc do dzieła - Jak to wszystko się zaczęło?

Rok temu mając 14 lat zacząłem uczyć się programowania. Najpierw C++, później przerzuciłem się na Jave. W końcu ogarnąłem podstawy framework'a LibGDX. Początek czerwca 2016 - nareszcie jestem gotowy żeby zacząć pracować nad prawdziwą grą.

Najpierw pomysł na rozgrywkę. Miałem już umiejętności techniczne - teraz trzeba było zaplanować podstawy gry. Po kilku dniach myślenia i inspirowania się internetem stanęło na pomyśle: "Gracz wystrzeli pocisk w miejsce, które dotknie, a jednocześnie zostanie odrzucony w przeciwnym kierunku". Proste, ale genialne :)

Szybko zacząłem pracować nad podstawowymi mechanikami. Na początek gracz, platformy i przeciwnicy. Po kilku dniach na ekranie poruszały się już kwadraciki, a ja upewniłem się, że ten pomysł na rozgrywkę jest całkiem grywalny.

Ok, gra działa ale nadal nie ma grafiki. Na początku myślałem, że znajdę jakieś darmowe assety w internecie, ale szybko okazało się, że to niemożliwe. Postanowiłem, więc na własną rękę nauczyć się obsługi Inkscape'a (darmowy program do grafiki wektorowej). Poszło mi dużo szybciej niż zakładałem. Dodatkowo byłem w stanie stworzyć grafiki, które widzicie w grze bez większego doświadczenia w rysowaniu :).

Następne kilka tygodni spędziłem na dopracowywaniu mechanik. Losowe generowanie poziomów, logika odpowiadająca za poruszanie się bohaterem, obliczanie i zapisywanie wyniku, warunki sprawdzające czy gra się skończyła.

Po ponad miesiącu miałem grywalną grę z jednym typem przeciwnika i jednym typem platform oraz bez głównego menu. Myślałem, że niedługo ją skończę...

Wiedziałem, że chcę dodać więcej zawartości. Stworzyłem dwa dodatkowe typy przeciwnika - graficznie wariacje na temat podstawowego zielonego bloba (gracza). Później dodatkowe platformy - śliska lodowa, ruszająca się na boki i podniszczona, która załamuje się jeśli gracz na niej stanie.

Miałem spory problem ze stworzeniem grafik dla platform. Stworzyłem kilkanaście różnych wersji zanim trafiłem na tę z której byłem zadowolony (niestety nie mam już tych wcześniejszych wersji na dysku twardym :( ). Podobnie było z grafiką w tle. Sporo czasu zajęło mi stworzenie przyzwoicie wyglądającego tła.

Chciałem dodać jakiś długo terminowy cel w mojej grze. Coś na co gracz będzie mógł wydać zarobione monety. Jako, że nie przepadam za przedmiotami, które po prostu ułatwiają grę - dodałem "zmieniacze gry" (gamechangers). To takie dodatkowe tryby gry (np. odwrócona grawitacja, czy odbijające się pociski).

Powoli kończył się lipiec, a ja znowu byłem przekonany, że już niedługo gra będzie gotowa :)
Przyszedł czas na stworzenie interfejsu użytkownika. Strasznie monotonne i nudne zajęcie. Spędziłem na tym około tygodnia i chyba wyszło całkiem fajnie :)

Gra była już całkiem grywalna. Rozgrywka sprawiała jednak wrażenie "pustej". Brakowało w niej czegoś. Zainspirowany krótkim wykładem o "game feel" (nie wiem jak to przetłumaczyć na polski) dodałem kilka detali - poruszające się oczy potworków, trzęsienie ekranu oraz rozdzielenie kolorów po uderzeniu, efekty cząsteczkowe za poruszającymi się pociskami. Teraz, po trzech miesiącach ciężkiej pracy, byłem wreszcie gotowy, żeby przesłać grę na Google Play...

Czego się nauczyłem:

  • Tworzenie własnej gry definitywnie zmieniło sposób w jaki postrzegam inne tytuły. Teraz staram się je częściej analizować, myśleć co można by polepszyć.

  • Zacząłem dużo bardziej doceniać twórców gier, przez to że żeby działać w branży cały czas trzeba uczyć się czegoś nowego. Inny silnik/język programowania/oprogramowanie do tworzenia grafik/koncepty związane z designem grafiki i samych gier. To strasznie trudne zajęcie - nawet tworzenie tak prostej gierki.

  • Widząc jak wiele w mojej grze zmieniło dodanie kilku smaczków, doceniłem wagę małych detali. To coś co bardzo podobało mi się w grach Naughty Dog. Ci goście naprawdę wiedzą co zrobić, żeby ich gra się wyróżniła :)

  • Przede wszystkim zacząłem głęboko wierzyć, że każdy może osiągnąć swój cel (stworzyć gierkę/program, albo coś znacznie większego). Wystarczy chęć i sporo determinacji :)

Dajcie znać, co sądzicie o mojej gierce i o tekście. Mieliście jakieś własne przygody z gamedevem? Próbowaliście kiedyś patrzeć na gry okiem twórcy? :).

Tagi: Android gamedev gra libgdx

Oceń notkę
+ +47 -

Oceń profil
+ +5 -
czesiobar
Ranking: 8429 Poziom: 20
PD: 1352
REPUTACJA: 292