tworzenie gier komputerowych

Kto może tworzyć gry komputerowe?

  1. Pomysł na grę komputerową to podstawa
  2. Silniki graficzne to przyszłość tworzenia gier komputerowych
  3. Masz pomysł na grę? To bierz się do roboty

Takie pytanie stawia sobie zapewne każdy, kto chciałby zająć się tworzeniem gier komputerowych. Pewnie część z was marzyła kiedyś o byciu strażakami, policjantami, alfonsami czy jeszcze innymi przedstawicielami różnych zawodów. Cześć marzyła o pracy w firmach zajmujących się tworzeniem gier. Ja sam byłem jedną z takich osób, która chciała związać się zawodowo z branżą gier komputerowych, a dokładnie w pracy przy ich tworzeniu.
W momencie kończenia studiów temat tworzenia gier komputerowych dopiero raczkował (dopiero gdy je skończyłem, to stworzony został kierunek związany z tworzeniem gier). Jednak wiadomo, jakie są studia. Niczego nie nauczą, tylko wyznaczą cel, w którym warto zmierzać. Więc to, że wcześniej nie miałem styczności z branżą, nie przeszkodziło mi w tym, aby jako temat pracy wybrać stworzenie gry opartej na silniku Unreal Engine.

To właśnie dzięki temu złapałem bakcyla do zgłębienia wiedzy na temat nowoczesnych silników graficznych, ogólnie pojętej grafiki 2D oraz 3D i elementów, jakie składają się na całą grę komputerową.
Jeszcze przed studiami miałem przygody z próbami otrzymania pracy w branży, ale zwykle kończyły się one niepowodzenie (niestety nie dowiedziałem się, co było powodem odmowy). Z perspektywy czasu jednak cieszę się, że spotkałem się z odmowami, bo korporacyjny świat nie jest dla mnie. Nigdy nie lubiłem być nic nieznaczącym trybikiem w maszynie, na którą i tak nie miałbym wpływu. Ale wracając do tematu wpisu, pewnie wiele osób zadaje sobie pytanie – „kto może tworzyć gry komputerowe?”.

gry komputerowe tworzenie

Odpowiedź na to pytanie jest prosta i skomplikowana zarazem. Prosta, bo gry komputerowe może tworzyć każdy, kto choć trochę wykaże się inicjatywą. Skomplikowana, bo nie każdy będzie w stanie wykazać taką inicjatywę. Pewnie dużo ludzi myśli, że do programowania wymagana jest znajomość skomplikowanych zagadnień matematycznych, a samą znajomość matematyki powinno się mieć w małym palcu. Jest to bardzo stereotypowe podejście i bardzo błędne. Sam nie jestem zwolennikiem matematyki i nie uważam się za umysł ścisły. Wiadomo, że matematyka czasami się przydaje, żeby logicznie myśleć i logicznie podchodzić do stawianych przed nami problemów. Ale nie potrzebujemy znajomości całek, macierzy czy bardziej złożonych zagadnień matematycznych. Jeżeli wiadomo, do czego służą znaki dodawania, odejmowania, mnożenie i dzielenia, to programowanie jest dla każdego. Reszta polega na nauce i pisaniu kodu. Wiele jest znanych przypadków kiedy typowy humanista postanowił się przebranżowić i zostać programistą. I przebranżowienie to zakończyło się sukcesem – więc chcieć to móc i nie trzeba być urodzonym matematykiem… programowanie jest po prostu dla każdego.

Tak samo działa praca nad grą. Wiadomo, że przydałoby się znać jakiś język programowania. Dwa najłatwiej dostępne silniki do tworzenia gier, takie jak Unreal Engine czy Unity początkowo nie wymagają znajomości żadnego z języków programowania jednak z czasem gdy ktoś będzie chciał, stworzyć bardziej zaawansowane produkcje, to poznanie jakiegoś języka stanie się nieuniknione. Decydując się na korzystanie z Unreal Engine warto jest skupić się na języku C++, natomiast w przypadku Unity, wybór powinien paść na język C#.
Jednak na początkowym etapie zabawy z tymi silnikami wystarczą wyobraźnia, upór i zacięcie do realizacji celu. Unreal Engine jest o tyle fajnie napisany, że możemy programować niemal każdy aspekt tworzonej gry za pomocą wskaźników i wstępnie nie musimy przejmować się kodem. Niesie to jednak za sobą konsekwencje tego, że napisana przez nas gra nie będzie odpowiednio zoptymalizowana, a sam kod będzie ociężały i pewnie znajdą się w nim setki linijek kodu, które będą zwykłymi śmieciami, które w przypadku znajomości języka C++ nie miałyby miejsca.

unreal engine
Jednak taki przykład potwierdza tylko to, że można tworzyć gry bez znajomości programowania. Wiadomo, że warto jest znać język programowania jeżeli chcemy mieć wpływ na więcej aspektów w tworzonej przez nas grze, ale na początek sam silnik nie wymaga od nas, żadnej znajomości języka programowania więc można się spokojnie z nim oswoić. Wystarczy mieć pomysł i odpowiednią dawkę uporu, aby dążyć do realizacji swojego pomysłu.

Pomysł na grę komputerową to podstawa

Jeżeli nie znajomość matematyki i języka programowania, to co jest najważniejsze przy tworzeniu gry? Moim zdaniem kluczowym elementem jest sam pomysł na grę. Mam tutaj na myśli bohaterów, fabułę, wykreowany świat oraz możliwości, jakie będzie dawała gra. Warto też pamiętać o tym, żeby mierzyć siły na zamiary, bo szybko można się rozczarować. Myśląc nad stworzeniem gry, gdzie będziemy programować i tworzyć wszystko od podstaw od razu warto uświadomić sobie, że od momentu rozpoczęcia projektu do jego ukończenia mogą minąć lata. Sam proces tworzenie gier to nie jest coś, co powinno być robione na szybko, o ile nie chcemy mieć do czynienia z bugami na każdym kroku.
Więc jeżeli myślicie, że włączycie Unreal Engine czy inny silnik, posiedzicie nad swoim pomysłem jeden dzień, a drugiego będziecie już na finiszu to lepiej w ogóle się za to nie zabierać.

unity

Samo rozpisanie wszystkich aspektów gry może zająć kilka tygodni, nie wspominając już o tym, że później to wszystko trzeba oskryptować, zaprogramować i po prostu stworzyć. Sam proces twórczy (mam tutaj na myśli wymyślenie samej otoczki, fabuły oraz bohaterów gry) jest najprostszym, i mówię to z własnego doświadczenia. Dopiero w momencie gdy przyjdzie nam pracować, nad stworzeniem wirtualnego świata już w wybranym przez nas narzędziu to zobaczymy, że nawet umiejscowienie kilku drzew obok siebie może zająć nam wiele godzin (o ile ktoś jest perfekcjonistą).
O ile matematyka może się nie przydać przy tworzeniu gier, tak już fizyka jest bardziej pożądaną cechą. Nie martwcie się jednak… nie mam tutaj na myśli jakiejś fizyki kwantowej czy bardziej skomplikowanych zagadnień fizycznych. Fajnie jakby ktoś znał jej podstawy, co pozwoli przewidzieć jak zachowa się dany element po uderzeniu w niego oraz jak powinna się zachowywać woda, rozchodzić fala itp. Nie są to z pewnością zagadnienia matematyczne, a fizyczne.

Tak więc każdy, kto chce stworzyć swoją grę, musi brać pod uwagę fakt, że z pewnością jest to zajęcie na dłuższy okres czasu. Zdarzają się jeszcze gry, które można stworzyć w ciągu kilku godzin np. snake, czy tetris, ale mówię tutaj tylko i wyłącznie o aspekcie kodowania, a nie szukania czy tworzenia assetów pod grafiki, żeby móc ich użyć w grze.
Najlepszym rozwiązaniem będzie zebranie kilku zapaleńców (o ile mamy takich w swoim otoczeniu) i tworzenie gry wspólnymi siłami. Z pewnością wtedy łatwiej o podział obowiązków i nie trzeba być już typowym „one man army”.

Silniki graficzne to przyszłość tworzenia gier komputerowych

Każda z gier komputerowych opiera się na jakimś silniku graficznym. Jeszcze kilka lat temu każdy twórca silnika graficznego strzegł jego kodu źródłowego jak oka w głowie. Dopiero za sprawą Unity oraz Unreal Engine każdy zyskał możliwość zabawy (niektórzy też właśnie dzięki temu rozpoczęli swoją przygodę z tworzeniem gier komputerowych) z grafiką oraz tworzeniem gier komputerowych. O ile Unity wymaga opłacenia jeżeli chcemy tworzyć komercyjne gry komputerowe (do własnego użytku jest darmowy) to Unreal Engine ma zdecydowanie lepszą ofertę dla nowych twórców. Silnik firmy Epic jest w pełni darmowy, a w przypadku jeżeli wydamy stworzoną grę, która opiera się na silniku Unreal Engine, to dopiero po osiągnięciu 30 000 dolarów zysku (o ile dobrze pamiętam) firma Epic pobiera jakąś prowizje od każdego zarobionego dolara (ale na szczęście nie są to jakieś duże kwoty).

Więc jeżeli marzycie o stworzeniu swojej własnej gry, ale obawiacie się, że nie macie odpowiednich umiejętności, to rozwiązanie w postaci silników graficznych przyjdzie wam z pomocą i zapewni wsparcie w początkowych etapach prac nad swoją grą.
Na przestrzeni ostatnich lat powstało też wiele forów, na których każdy może dzielić się swoją wiedzą oraz wymieniać wszystkimi spostrzeżeniami i pomagać w rozwiązywaniu pojawiających się problemów. Społeczność jest zazwyczaj przyjaźnie nastawiona, ale wiadomo, że nikt nie otrzyma odpowiedzi, nie dając nic od siebie albo licząc na otrzymanie gotowca.

Masz pomysł na grę? To bierz się do roboty

Nic nie zrobi się samo. Jeżeli masz jakiś pomysł na grę i jeszcze się zastanawiasz nad jego realizacją, to pamiętaj, że nic samo się nie zrobi. Jeżeli sam nie weźmiesz się do pracy, to nikt za nas niczego nie zrobi. Jeszcze lepiej będzie się pracowało, jak znajdziesz kilku zapaleńców, którzy wesprą nas w pracach nad grą. Nikt nie może być dobry we wszystkim więc na pewno przydatne będzie znalezienie przynajmniej jednego programisty i grafika, którzy będą ogarniać za nas takie sprawy jeżeli sami nie czujemy się szczególnie pewnie w tych aspektach. Mówię tutaj oczywiście o małym projekcie, bo chyba nikt nie liczy na to, że w 3-5-osobowym zespole zbuduje kolejne GTA.
Ale każdy od czegoś zaczynał więc nic nie stoi na przeszkodzie, aby metodą małych kroków odnieść sukces w przyszłości. Może to być także pomocne w zrozumieniu tego jak wygląda cały proces deweloperski i jak wszystko wygląda od zaplecza.

tworzenie gier komputerowych

Jest to też zdecydowanie bardziej atrakcyjna forma nauki, bo uczymy się tego co konkretnie będzie nam potrzebne i przydatne, a nie tak jak w przypadku nauki z książek – uczymy się wszystkiego, jak leci. Nie ważne czy coś może się nam przydać, czy nie. Oczywiście jeżeli będziemy brali się za kwestię programistyczną, to musimy wiedzieć czym są wskaźniki, funkcje, klasy itp. i jak ich używać w kodzie, żeby nie powodowały niepotrzebnych komplikacji. Ale na ogarnianie kwestii programistycznych przyjdzie czas, a trzeba pamiętać, że najgorszy jest pierwszy krok. Najgorzej więc będzie nam w ogóle zacząć, a później pójdzie już z górki (przynajmniej dla mnie najtrudniej zawsze jest zacząć, a później już jakoś idzie). Jeśli się za coś nie weźmiemy, to oczywistym jest, że nic z tego nie wyjdzie, więc nie wystarczą chęci… najważniejsza będzie ciężka praca.

Skończyły się czasy, gdzie tworzenie gier było zarezerwowane tylko i wyłącznie dla wielkich wydawców, którzy mieli milionowe budżety i setki programistów, grafików i innych pracowników odpowiedzialnych za cały proces tworzenia gry. Teraz, żeby stworzyć grę wystarczą chęci i upór. Pieniądze przyjdą z czasem… Jeżeli zaczniecie cokolwiek robić tylko i wyłącznie dla pieniędzy to na 99% nic z tego nie wyjdzie poza rozczarowaniem i frustracją. Natomiast gdy gry faktycznie są waszą pasją, to nawet nie poczujecie, że pracujecie, a efekt końcowy będzie spełnieniem wszystkich wyrzeczeń. Jak to się mówi – „gdy są chęci, to tylko niebo jest limitem”. Idealnym przykładem na otworzenie się branży gier na niedoświadczonych twórców jest wysyp wszelakiej maści „indyków”, które czasami zapewniają spore przychody i możliwości dalszego rozwoju.
Więc jeżeli już macie jakiś pomysł na swoją własną grę, to nie czytajcie już dłużej, tylko ściągajcie Unreal Engine czy Unity (są to chyba dwa najbardziej przyjazne narzędzia na początek) i bierzcie się do roboty, a o efektach będziecie mogli pochwalić się jak skończycie.