Historia powstania Piggy Gun

Poniżej znajduje się jedna z ciekawszych historii związanej z tworzeniem gry. Przy okazji obrazuje jak ważną kwestią jej jej zaprojektowanie.

1. Pomysł.
Piggy-Gun_sxsshhs
Sam zamysł gry powstał nieco wcześniej niż pomysł żeby stworzyć grę. Zaczęło się wszystko od narysowania prowizorycznej świnki w zeszycie od przedsiębiorczości, a było to tak: początek roku szkolnego, pierwsza klasa technikum i oczywiście pierwsze lekcje. Było to jakoś między końcem września, a początkiem października kiedy to na nudnej lekcji przedsiębiorczości postanowiłem sobie porysować z tyłu zeszytu. Przypomniało mi się jak w podstawówce rysowało się świnki z literek E – jako nos, M – jako uszy, W – jako nogi, e – jako ogon i tak narysowałem taką świnkę. Była to niczym niewyróżniająca się świnka, której co lekcje na jej grzbiecie dorysowywałem różne bronie począwszy od miniguna rozrastającego się po lasery, wyrzutnie harpunów, piły mechaniczne itd. Tak oto świnka z dnia na dzień rozrastała się, aż w końcu zajęła mi całą stronę z tyłu zeszytu. Proces dorysowywania nowych broni trwał jakieś około trzy miesiące. Kiedy już nie było miejsca na dorysowywanie czegoś nowego postanowiłem nazwać tę świnkę. Słowo „Gun” wpadło mi od razu do głowy i przez pierwsze kilka chwil mówiłem na nią „Świnka Gun”. Dopiero po kilku minutach stwierdziłem, że skoro drugi człon jest angielski to pierwszy też powinien być i tak oto powstała nazwa „Piggy Gun”. W późniejszym czasie jakoś w lutym 2015r. rozmawiałem sobie z kolegami o grach kiedy jeden z nich powiedział „Ciekawe jak to jest stworzyć własną w grę i w nią zagrać, jakie to jest uczucie”. Wtedy sobie tak pomyślałem, że warto byłoby to sprawdzić i stworzyć jakąś grę. Z początku nie miałem kompletnie żadnego pomysłu na grę, ani żadnych umiejętności do jej stworzenia. I znów przyszła lekcja przedsiębiorczości, otworzyłem sobie zeszyt z tyłu, popatrzałem na tę świnkę i przypomniała mi się gra, w którą niegdyś często grywałem na telefonie, a mianowicie „Earn to die”, w której chodziło o ulepszanie pojazdu i zabijanie zombie tym oto pojazdem. I wtedy powstała złota myśl, dlaczego by nie stworzyć gry, w której główną postacią byłaby świnka, a jej zadaniem likwidacja zombie. Od tamtej pory wiedziałem, że Piggy Gun to nie zwykła świnka narysowana w zeszycie tylko pomysł na stworzenie gry za co zabrałem się dosłownie z dnia na dzień.Szkic-Zom_sxsshhq

2. Nauka Unity 3D i C#.
Wraz z pomysłem od razu, gdy wróciłem do domu pierwszym hasłem wyszukanym w Google było „Tworzenie własnej gry 2D”. Poczytałem kilka tematów, obejrzałem kilka filmików, po dłuższej analizie silników stwierdziłem, że Unity 3D będzie odpowiednim silnikiem, a język C# nie będzie dla mnie problemem, gdyż znałem już C i C++. Otóż nie było tak kolorowo jak się wydawało. Pobrałem Unity 3D i przy pierwszym uruchomieniu, gdy ujrzałem te wszystkie opcje, okienka itd. Pojawiła się myśl „I co teraz? Jak się za to zabrać?”. No to znów powrót do Google i szukałem jakiegoś konkretnego poradnika dotyczącego Unity 3D. O samym środowisku słyszałem już nie raz, lecz nigdy się za niego nie zabrałem, ponieważ nie mogłem znaleźć odpowiedniego polskiego poradnia, który by jasno i rzetelnie wytłumaczył poszczególne opcje dotyczące silnika i podstawowe jego funkcje. Aż tu nagle natrafiłem na stronę www.mwin.pl, na której znajdują się świetne poradniki dotyczące Unity 3D i języka C#. Od razu się za to zabrałem zaczynając od dokładnego czytania i przerabianiu ćwiczeń w silniku. Po ok. tygodniu nauki stwierdziłem, że znam już wystarczająco podstawy, aby zacząć tworzyć Piggy Gun i że podczas tworzenia nie będę się poddawał tylko poszerzał swoją wiedzę odnośnie Unity 3D – wiedziałem, że będę musiał ukończyć tę grę.

3. Projektowanie i tworzenie gry.
Od razu wspomnę, że gra nie była projektowana przed jej tworzeniem co było bardzo dużym błędem, który nie dość, że wadził podczas jej tworzenia to odbił się bardzo na optymalizacji i bałaganie w plikach i kodzie gry. Z początku wiedziałem, że potrzebuje grafika. O tyle dobrze się składało, że mam w rodzinie kuzynkę, która również lubi grać w gry i świetnie rysuje, więc oczywiście przedstawiłem jej mój pomysł na grę i poprosiłem, aby narysowała mi prowizoryczną świnkę, tak aby na razie przetestować, czy wszystko działa i jak to wygląda w samej grze. Na rysunek nie czekałem długo, dostałem go następnego dnia, pokolorowałem w programie graficznym i zapisałem, po czym wrzuciłem do Unity 3D. Następnie wiadomo: dodanie obrazka na scenę, przypisanie mu komponentów i napisanie skryptu na poruszanie się świnki – wtedy jeszcze bez animacji. Okazało się, że wszystko wygląda całkiem fajnie i od razu przystąpiłem do dalszych działań. Stworzyłem animacje świnki. Prawie każda animacja w grze składa się z występujących po sobie w tym samym odstępie czasowym klatek. Animacje tworzyłem w programie graficznym, ustawiłem obok siebie i wrzucałem do Unity 3D tworząc później animacje jako występujące po sobie obrazki. Tworzenie animacji było naprawdę czasochłonne, ale nie traciłem wiary i zapału. Wiedziałem, że to co robię musi zostań ukończone. Na początku nie potrafiłem pogodzić się z faktem, że gra nie będzie stworzona z dnia na dzień tylko może być tworzona miesiąc, pół roku, rok, a może nawet i więcej, ale udało mi się z tym wygrać. Tak z dnia na dzień powstawały nowe rysunki m.in. zombie, bronie, otoczenie i nowe animacje. Dodawanie nowych rzeczy do gry odbywało się w ten sposób, że kiedy wpadłem na jakiś pomysł to go realizowałem co było wielkim błędem, ponieważ często można było to zrobić o wiele łatwiej i szybciej niż dodanie nowego obiektu, napisanie nowego skryptu itd. Często bywało też tak, że musiałem kilkakrotnie tworzyć od nowa projekt, gdyż liczba skryptów się nawarstwiała, a zamiast pisać kilka podobnych do siebie skryptów mogłem napisać jeden oddziałujący na kilka obiektów niż przypisywać do każdego obiektu inny skrypt. Tworząc skrypty często korzystałem z różnych poradników i dokumentacji Unity. Nie poddawałem się jeśli czegoś nie potrafiłem i szukałem tego dosłownie wszędzie, nawet często siedząc nad jedną rzeczą do późnych godzin nocnych, nie omijałem czegoś w żaden sposób. Tak oto mijały miesiące, ciągle nowe rysunki i ciągłe tworzenie animacji i dodawanie ich do gry. Grę tworzyłem tylko weekendami, ponieważ nie pogodziłbym szkoły i nauki z czasem na tworzenie gry, lecz potrafiłem przesiedzieć cały weekend żeby zrobić jak najwięcej. Kiedy przyszły wakacje strasznie „olałem” sprawę i zamiast wykorzystać wolny czas na tworzenie gry wolałem spędzać go ze znajomymi – czego oczywiście nie żałuje. Jakoś w środku wakacji postanowiłem jednak wykończyć tę grę do końca, skoro już coś zacząłem to warto to skończyć. Gra była dosłownie już na wykończenie kiedy spotkał mnie przykry incydent i omyłkowo sformatowałem sobie dysk w komputerze jak i dysk zewnętrzny, a innych kopii plików nie posiadałem. Oczywiście pierwszy dzień byłem niesamowicie zły. Straciłem coś nad czym pracowałem przeszło pół roku w kilka sekund, ale się nie poddałem i postanowiłem spróbować odzyskać te dane. Od razu zabrałem się za proces odzyskiwania danych i udało mi się odzyskać część obrazków i animacji, niestety żaden skrypt ani pliki gry się nie zachowały. Nie marnowałem czasu tylko postanowiłem wziąć się w końcu w garść i ukończyć tę grę. Pracowałem od rana do nocy z komputerem i w ciągu tygodnia udało mi się stworzyć to co miałem wcześniej, a także dodać kilka nowych rzeczy i poprawić stare błędy. Wtedy można było powiedzieć, że gra już była gotowa, ale dodawałem do niej ciągle jakieś nowe rzeczy i poprawiałem błędy. W październiku 2015r. udostępniłem grę kolegom ze szkoły, którzy oczywiście ją przetestowali i powiedzieli co mam poprawić, co dodać, a co zmienić. Oczywiście wysłuchałem ich, poprawiłem błędy, dodałem kilka nowych ciekawych rzeczy, ale to co zauważyłem to znów bałagan w skryptach. Niestety nie chciałem już zwlekać z grą i postanowiłem, że nie ma co znów tworzyć ją „na nowo” tylko dokończyć ten jeden wielki bałagan i ją wydać, a ewentualnie w późniejszym czasie stworzyć od nowa. Po wielu testach dnia 2 listopada 2015r. gra Piggy Gun zawitała w Sklepie Play. Od tamtej pory zostało dodane kilka nowych ciekawych rzeczy, lecz dodam, że gra już nie jest aktualizowana tak często jak była na początku z kilku powodów: brak czasu, brak dużego zainteresowania się grą ze strony innych, wielki bałagan w plikach gry.piggy

4. Podsumowanie.
Piggy Gun jest dla mnie ciekawym doświadczeniem życiowym. Zauważyłem, że pomimo sprzeciwień losu jestem w stanie stworzyć coś co bardzo pragnąłem, aby wyszło na świat. Pomimo błędów wynikających z braku projektu gry uważam, że jest ona dosyć ciekawa i przyjemna dla oka, a sam pomysł odnośnie świnki i zombie zostanie na pewno wykorzystany w Piggy Gun 2 już z o wiele lepszymi grafikami i samą grą, ponieważ zostanie ona dokładnie zaplanowana. Tworząc te grę nauczyłem się wiele o samym środowisku Unity 3D, o języku C# i o samym tworzenie gier oglądając wiele kursów i filmików z tym związanych. Teraz stworzenie dla mnie gry zarówno 2D jak i 3D nie stanowi większego problemu. Wystarczy Unity 3D, Visual Studio i dokumentacja Unity i wszystko można stworzyć. Ważnym krokiem w tworzeniu gry jest projekt. Jeżeli nie zaprojektujemy gry i każdego jej szczegółu nie stworzymy jej tak jakbyśmy chcieli i sama gra zawierałyby masę błędów. Jeszcze ważniejszy jest zapał co też nie oznacza, że kiedy wpadniesz na genialny pomysł stworzenia gry już widzisz miliony dolarów i własną firmę z niesamowitą ekipą. Tworząc Piggy Gun zawsze sobie powtarzałem, że nie ma co się śpieszyć i robiłem wszystko na spokojnie żeby nie stracić wiary i chęci. Nie poddałem się choć nie raz przechodziły mnie różne myśli, czy by tego nie rzucić, bo to nie ma sensu. Mogę jeszcze wspomnieć o incydencie z usunięciem danych. Pomimo tego nadal miałem chęci i zapał do stworzenia gry.

5. Podziękowania.
Chciałbym podziękować z tego miejsca wszystkim, którzy pomogli mi przy tworzeniu Piggy Gun i dodać jeszcze od siebie, że nie wolno się poddawać. Nie będę oszukiwał, że tworzenie gier nie zawsze bywa łatwe i przyjemne, ale jest tego warte, bo z każda kolejną grą nabieramy nowych doświadczeń i umiejętności i czasem warto poświęcić wolny czas na zaprojektowanie gry – z czasem to może się opłacić.

JEX Game Development™
Jakub Radtke

Link do Google Play z grą

Mi rzuciło się jedno w oczy: Nudne lekcje powodują kreatywność 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.