

Tworzenie gry z rankingiem na ScoreSpace Game Jam - devlog
data dodania: 14 października 2022 | z serii: Devlog
SpaceScore game jam za mną niezwykle się bawiłem. Zobacz, jak przebiegał proces tworzenia mojej gry. Miłego czytania!
spis treści:
Wstęp
Dzień 1, sterowanie, odbijanie i sprite gracza
Dzień 2, dodanie przeciwników, UI i celu gry
Dzień 3, dodawanie boss'a do gry
Zakończenie
Wstęp
Nie miałem zamiaru uczestniczyć w game jamach przez jakiś czas, ale skoro zaprzestałem pracy nad moją grą roguelike, stwierdziłem, że może się skuszę. SpaceScore game jam jest o tyle ciekawy, że do twojej gry musi być dodany ranking/tabelę wyników (eng. leaderboard), co brzmi jak bardzo fajny skill do nauczenia. Tak więc dołączyłem i tym razem tematem było "odbijanie" (eng. bounce). Pierwszym moim skojarzeniem były gry typu pionowe platformówki ze wspinaniem się coraz wyżej oraz pomysł poruszania się strzelając. Tak właśnie powstał pomysł na grę "Bounce Like a Boss" gdzie ludzikiem w garniturze i okularkach przeciwsłonecznych będziesz odbijał się w górę oraz pokonywał przeciwników. Oto jak powstała jej pierwsza wersja!Dzień 1, sterowanie, odbijanie i sprite gracza
Stwierdziłem, że fajnie by było, jakbym dodał bossa do tej gry. Dlatego trzeci dzień to były głównie prace nad nim.
Żeby być szczerym, to prace zacząłem już dnia drugiego, bo wtedy zacząłem rysować, ale z jakiegoś powodu stwierdziłem, że tego nie nagram (-‸ლ). Z tego powodu prace nad bossem w całości umieściłem części z dniem trzecim. Tak wyglądał końcowy sprite:
Następnie podmieniłem kapsułkę na nowo stworzony prototyp sprite'u gracza oraz dodałem również nowo stworzony sprite pistoletu.
Po przerwie na rysowanie wróciłem do kodowania, dodałem skrypt dzięki, któremu pistolet podążał z kursorem.
Później narysowałem na szybko pocisk, stworzyłem proste particle i dodałem graczowi możliwość strzelania.
Przy okazji zacząłem tworzyć poruszanie za pomocą strzelania. Zrobiłem to tak, że w stronę przeciwną do wystrzelonego pocisku dodałem odrzut tak duży, żeby gracz dzięki niemu mógł się przemieszczać.
Po drodze oczywiście napotkałem parę bugów, ale po uporaniu się z nimi efekt końcowy dnia pierwszego wyglądał tak:
Mówcie, co chcecie, ale w porównaniu z moim pierwszy game jamem gdzie nie miałem nic to, to jest niezwykle dużo.
Dzień 2, dodanie przeciwników, UI i celu gry
Niestety na ten moment nie potrafiłem znaleźć na to odpowiedzi, więc dodałem prosty generator tych platform i po prostu przeszedłem dalej.
Kolejne na mojej ToDo liście byli przeciwnicy.
Żeby odejść trochę od kodu, postanowiłem trochę porysować. Stworzyłem więc sprite przeciwnika, jego broni oraz pokolorowałem i ulepszyłem trochę gracza. W końcu wygląda to tak:
Dodałem im możliwość poruszania się i teraz zmierzali w stronę gracza i również się odbijali (żeby jak najlepiej trzymać się tematu).
Gra jest na razie trochę prosta, tak więc dodałem coś, co cię pogania, byś cały czas musiał iść wyżej.
Na razie przeciwnicy to były takie straszaki. Nie zadawali obrażeń i w sumie ty też nie mogłeś im nic zrobić.
Dlatego dodaje proste particle i system zliczania punktów za to, jak wysoko zaszyłeś i ilu przeciwników pokonałeś.
Następnie wyświetliłem to na ekranie i żeby to ładnie wyglądało, użyłem tej czcionki z unity asset store.
I praktycznie to już mógłbym uploadować tą grę na itch.io, bo coś w rodzaju gry już było, ale ja stwierdziłem, że chcę zrobić coś nietypowego jak na game jam :).
Dzień 3, dodawanie boss'a do gry
Pomysł jest taki, że w pewnym momencie gry wlatuje helikopter, platformy znikają, a ty musisz unikać jego strzałów, jednocześnie zadając mu obrażenia.
Zacząłem od zrobienia animacji na wejście, gdzie helikopter wlatuje i platformy znikają.
Później zacząłem kodować podstawowe zachowanie i cztery ataki:
Rakieta celująca w ciebie - jej zadaniem jest, by gracz nie mógł cały czas odbijać się w jednym miejscu,
Ostrzał od góry - by gracz nie mógł po prostu uciekać cały czas do góry z helikopterem,
Ostrzał z boków - po to, żeby gracz nie mógł cały czas być przyklejony do ściany,
Cztery mniejsze rakiety - które są urozmaiceniem pierwszego ataku.
Myślę, że dobrze podjąłem te design'owe decyzje z przemyślanym każdym atakiem, co o tym sądzicie?
W każdym razie z innych zaimplementowanych informacji o Apashe (bo tak nazwałem bossa) to ma on 20hp, na 5hp zaczyna atakować 1.5 razy szybciej, pojawia się, gdy masz 100 punktów, a na 300 punktów jest jego mocniejsza wersja, dodana na szybko więc nie będę jej tu opisywał, bo zakładałem, że i tak tam nikt nie dojdzie.
Tak się też niestety stało... Tylko 2 osoby pokonały pierwszego bossa, a i tak chwilę później przegrały...
Wiem to, bo dodałem jeszcze kategorię speedrun'u do pierwszego bossa.
Tak mogłem dać walkę z Apashe na 50 punktów zamiast 100, to może więcej osób by spróbowało, ale było już za późno.
Gra już była prawie gotowa, ale w tym game jamie poza tematem trzeba było jeszcze zaimplementować ranking (leaderboard).
Tak więc menu:
I dzięki LootLocker'owi i temu tutorialowi stworzyłem całkiem przyzwoity leaderbor.
Na koniec dodałem tylko dźwięki. Niestety muzyka tym razem wyszła okropnie, ale piszę o tym, by się pochwalić dźwiękiem strzału, z którego jestem dumny. Tylko posłuchajcie :)
Zakończenie
Uważam, że widać progress od poprzedniego game jamu. Jeśli chcecie zagrać w tę grę to link macie tutaj.
Oto mój wynik:
Szerze spodobał mi się ten pomysł i skoro zaprzestałem tworzyć grę roguelike, to jest szansa, że na nowej serii z devlogów będę rozwijać tę grę.
No i co, komentujecie, zobaczcie instagram, facebook, youtube, i żegnam.
P.S. jeśli nie pokonacie Apashe, nie jesteście prawdziwymi gamer'ami :)