Jako grafik z pewnymi ciągotami do programowania marzyłam o stworzeniu własnej gry, o czym pisałam tu jakiś czas temu. Nauka programowania miała dla mnie jednak od zawsze zarówno elementy fascynujące, jak i przerażające.

To było coś na zasadzie „chciałabym, ale się boję…” No bo od czego zacząć, skoro większość brzmi jak czarna magia?
Pod koniec sierpnia zeszłego roku dostałam cynk od mojego męża – End3ra, że istnieje możliwość stworzenia casualowej gry mobilnej w narzędziu dla nie-programistów. Chodziło o open-sourceowy silnik do robienia gier o nazwie GDevelop. Na stronie głównej narzędzia możemy przeczytać, że silnik został zaprojektowany tak, aby każdy był w stanie stworzyć na nim swoją grę. Brzmiało to niezwykle zachęcająco, więc postanowiłam podjąć się wyzwania.

Moim zadaniem było ogarnąć możliwości GDevelop i stworzyć w całości prostą grę mobilną w oparciu o nie. O ile z wyborem mechaniki i stworzeniem grafiki poszło mi błyskawicznie, bo jest to coś, z czym mierzę się na co dzień, o tyle z całym tym programowaniem było już trochę trudniej.

Samo tworzenie gry polega na zaimportowaniu odpowiednich grafik do GDevelop i przypisaniu im odpowiednich eventów, zawierających warunki i akcje, które czerpiemy z ogromnej bazy silnika. Nie ma tu wymyślania składni, wklepywania funkcji, czy innych takich magicznych zaklęć, ALE przydałaby się przynajmniej podstawowa znajomość zasad programowania, bo bez tego można utknąć na długie tygodnie (tak jak ja), zastanawiając się, co tu jest do czego. Moja wrodzona ambicja tym razem mogła ściągnąć na mnie kłopoty, bo za nic nie chciałam zawracać głowy zarówno End3rowi, jak i samemu twórcy GDevelop – Florianowi Rival, którzy od samego początku oferowali swoją pomoc w ramach programu Season of Docs – ja koniecznie chciałam zrobić tą grę sama.

Przerabiałam tutoriale dostępne na wiki, zaglądałam w „bebechy” dostępnych gier i już prawie zaczynałam ogarniać rozumem, jak to wszystko funkcjonuje, ale wtedy okazywało się, że coś tam w mojej produkcji jednak nie działa i nie byłam w stanie znaleźć odpowiedzi na pytanie dlaczego? End3r tłumaczył, że tak właśnie wygląda praca programisty, a Florian jednym rzutem oka wyłapał wszystkie moje pomyłki, więc najcenniejszą lekcją z całej tej nauki programowania w GDevelop była ta, że warto prosić o pomoc i nie ma co się frustrować w samotności.

Z pewnym poślizgiem, ale na szczęście tuż przed deadlinem, udało mi się dowieźć kompletną, działającą grę – taką niezbyt skomplikowaną, ale uważam, że jak na moje programistyczne zdolności, całkiem spoko.

Lekcja wyciągnięta, silnik w pewnym stopniu opanowany – przynajmniej na tyle, żeby kontynuować naszą wspólną przygodę, więc planuję w nieodległej przyszłości stworzyć kolejną grę. A tymczasem zapraszam Was do zapoznania się z moją pierwszą grą w GDevelop – GEOMETRY MONSTER.

Fabuła

W grze Geometry Monster wcielamy się w postać uroczego żółciutkiego potworka, który lubi zajadać się figurami geometrycznymi. Jego dieta składa się z kolorowych kół, kwadratów, pięciokątów i trójkątów. Zadaniem gracza jest zjadanie spadających z góry figur, poprzez ustawienie się w linii tuż pod nimi i jednoczesne unikanie spadających co jakiś czas bomb, które odbierają jedno z trzech żyć potworka. Gra kończy się, kiedy stracimy wszystkie trzy życia, a walczymy o jak najwyższą liczbę punktów za zjedzone figury.

Elementy graficzne

Jeśli kojarzycie moje grafiki gier tworzonych dla Enclave Games, to widząc grafikę Geometry Monster na pewno macie skojarzenie z grą Shape Attack. Sam potworek pochodzi natomiast z linii plakatów, które zaprojektowałam dla mojej córki w ramach jednego z moich projektów – bloga MAMAdesigner. Bardzo lubię takie re-używanie grafik, bo zyskują one na kontekście. Taki sam zabieg wykorzystałam przy postaci dziewczyny z dema Whatever it takes, która występuje na plakatach jesiennych, projektowanych dla mojej córki i będzie główną bohaterką w mojej grze życiaRed Balloon. Dzięki temu postać dziewczyny żyje własnym życiem i tworzy większą historię.

Fenomen

Kiedy w ramach serii inspirujące gry, opisuję Wam jakąś cudzą grę, w którą miałam przyjemność zagrać, zwykle w tym miejscu mówię o tym, co mnie w niej zachwyciło i przyciągnęło moją uwagę. Jakoś nie czuję tego, żeby zachwycać się swoją własną grą, zwłaszcza tak nieskomplikowaną, ale cały dzisiejszy wpis powstał właśnie dlatego, że ta gra jest wyjątkowa. Jest to produkcja, która została zaprogramowana przez nie-programistę. Oznacza to, że dzięki narzędziu GDevelop na prawdę absolutnie każdy może stworzyć swoją własną grę. Oczywiście jednym pójdzie sprawniej, innym mniej, ale czysto teoretycznie możliwość stoi przed każdym. I to jest najbardziej inspirująca rzecz na świecie – marzysz, że coś zrobisz i nagle z nieba spada Ci narzędzie, które umożliwia to od tak – od teraz, zaraz. Dla mnie przygoda z GDevelop jest fajnym wprowadzeniem do nauki programowania, którą wpisałam sobie jako jeden z planów na ten rok.

A jakie ambitne cele Wy planujecie osiągnąć w 2020? Może też stworzycie swoją własną grę w GDevelop? Polecam Wam tutorial z tworzenia gry Geometry Monster, który opracował End3r.
 

P.S. Na swoim koncie na Instagramie zapytałam niedawno, czy moi widzowie czytaliby Tutsy po angielsku. Odpowiedzieli w 100%, że tak. Wciąż zastanawiam się, czy poszerzyć grupę odbiorców bloga właśnie w ten sposób, ale pamiętam, że przy ostatniej próbie pisania po angielsku miało to wpływ na liczbę publikowanych postów – powstawało ich po prostu mniej, bo więcej czasu zabierało mi tłumaczenie. Wpadłam zatem na taką koncepcję – Tutsy zostają w wersji polskiej, ale wybrane artykuły będą pojawiały się w wersji angielskiej na moim blogu „domowym” – mypoint.pl. Ten post na pewno będę chciała przetłumaczyć na język angielski, więc będzie pierwszym testem takiego rozwiązania.

Do usłyszenia wkrótce.

Podziel się dobrocią!