Moje własne początki z game developingiem

BLOG
741V
Proboszcz777 | 22.05.2013, 13:55
Poniżej znajduje się treść dodana przez czytelnika PPE.pl w formie bloga.
Ludzie, pomimo edukacji, jaką przez lata uprawia ekipa PSXa, ma wciąż mylne wyobrażenie o tworzeniu gier, szczególnie młodsze pokolenie. Z racji tego, że chwilkę już się bawię w tym interesie, chciałbym Was zaprosić do zapoznania moich własnych przemyśleń nt. game-devu. Zapraszam!

Jestem programistą w krakowskim studiu zajmującym się game developingiem w miarę regularnie prawie dwa lata. Nie jest to gigant pokroju CDP Red, ale całość firmy nie zalicza się już do Indie - za sobą ma wydanie kilku tytułów pod swoją bądź cudzą banderą na PC, DSa, Wii, PSP, PS Vitę, PS3, iPhone'a czy Androida. Co prawda dopiero raczkuję w tym świecie, ale miałem już za sobą radochę z wysłania zaakceptowanej paczki do wydawcy, zobaczenia swojego nazwiska w creditsach, wściekłości gdy po raz kolejny odrzucono builda, czy wycieńczenia spowodowanego programowaniem 2-3 dni bez przerwy na sen.

Jak niektórzy się zastanawiają jak rozpocząć pracę jako wielce szanowni zg(Red.)zi nasi, tak sporo ludzi rozmyśla o gamedevie. Więc jak?

Od strony programisty wygląda to tak, że najpierw trzeba umieć trochę programować - najlepiej najbardziej uniwersalny język - C++ - dużo osób mówi, że jak człowiek nauczy się programować w jednym języku to poradzi sobie z następnymi - sporo jest w tym prawdy. No i w tym interesie trzeba - w zależności od platformy - jeżeli pisze się na sprzęty z Jablkiem w logu to w pierwszej kolejności Objective-C, jeżeli z kolei siedzimy przy Androidach - Java. Do tego dochodzą różne cuda w postaci wewnętrznych języków danego silnika (np. ActionScript w Unity czy UnrealScript w UDK) lub języków skryptowych do szybkiej obróbki tekstu - Python czy Perl się nada.

Do tego, jeżeli uda wam się załapać jako twórca efektów specjalnych dochodzą języki shaderów - GLSL, HLSL, CG - tutaj z wyglądu języki przypominają C++ lecz działanie to często kompletnie inna filozofia.

 

No to jak znamy podstawowe technikalia dochodzi jeszcze jedna sprawa - to, że znamy język w teorii - pokodziliśmy trochę sampli czy pierdółkowatych demek, nie znaczy, że potrafimy programować - trochę to wygląda jak z jazdą samochodem - może potrafisz posługiwać się, ale do profesjonalnej jazdy jeszcze długa droga. Programuję od 6 lat, zawodowo niecałe 2, a i tak śmiało stwierdzam że jeszcze NIEMALŻE NIC NIE WIEM o profesjonalnym programowaniu. Tutaj praktyka czyni mistrza - miałem okazję współpracować z osobami, które dłużej programują niż ja żyję - to są zawodowcy.

 

Po powyższych akapitach może się nasuwać pytanie - czy studia w takim razie są potrzebne - absolutnie NIE! Wiele rzeczy można się nauczyć we własnym zakresie. U nas pracują ludzie, którzy nie mają żadnego tytułu naukowego, są w trakcie, lub na wykończeniu (moja magisterka w drodze), albo ukończyli kierunki w ogóle nie związane z informatyką. Poza tym aktualne studia nie uczą wiedzy praktycznej - nie można się nauczyć programować na uczelni - wyłącznie własną ciężką pracą można coś w tej kwestii osiągnąć.

 

No właśnie - teoria a praktyka. Można umieć wykorzystywać język programowania jako narzędzie od strony praktycznej, ale bez znajomości podstawowych algorytmów, czy schematów postępowania ciężko jest stworzyć wydajny kod. Trzeba mieć po prostu na względzie, że tutoriale z Internetu nie wystarczą, żeby nauczyć się programować - zalecam konkretną literaturę w tym zakresie, np. serię "Klasyka Informatyki" zawiera większość akademickiej wiedzy na temat algorytmów i technik programowania, potem warto przejechać coś z serii Thinking In... (C++ / Java) i oczywiście książki Bjarne Stroustrupa, czy Joshuy Blocha.

 

Gdy już mamy trochę teorii i wiedzy praktycznej, trzeba się oczywiście interesować grami - ale nie tylko grać! Zastanawialiście się kiedyś jak wygląda generowanie terenu w grach, tworzenie edytora lasów (polecam nagrania z działania CryEngine - moc!), jak sprawić, żeby siatka obiektów zamieniła się w kulę ognia, bryłę lodu, skórzaną piłkę? Takimi rzeczami warto się interesować, analizować gry, rozbijać na czynniki pierwsze, czytać (GPU Gems są świetne pod tym względem) i... kodzić, kodzić, kodzić...

 

Oczywiście nie mówię, że wyżej wspomniane rzeczy to absolutne wymagania w programowaniu gier - gdy mamy odrobinę szczęścia możemy się bardzo prędko załapać do pracy (niektórzy zaczynają na II roku studiów lub wcześniej) a dokształcać się w trakcie - to jest najistotniejsze - gdy człowiek się nie rozwija to się cofa!

 

Jak więc wbić się do interesu - szukać ofert, wysyłać setki CV, pukać do drzwi, walić drzwiami i oknami - gamedev w Polsce prężnie się rozwija, więc tak jak nigdy macie możliwość rozpoczęcia tej pięknej przygody! Nie ma tu absolutnie żadnej reguły - póki sami nie spróbujecie, nie przekonacie się!

 

W większości przypadków nikt was od razu na głęboką wodę nie rzuci, więc często na początku będziecie pisać rzeczy do gry, o której usłyszycie dopiero w Internecie.

Moje pierwsze podejście do interesu było niestety falstartem - miałem pisać projekt według wcześniej przygotowanego designu bez specjalnej wiedzy i umiejętności, więc po kilkunastu tygodniach zabrakło mi sił do tego projektu. Ale szefostwo nie wyrzuciło mnie z pracy - przeszedłem do innego projektu, w którym pomagałem tworzyć poziomy. Z racji tego że cisnął nas termin, przez okrągły tydzień siedziałem w biurze i nak***iałem do bólu.

Po zatwierdzeniu gry przez wydawcę nadeszła zimowa sesja (masakryczny 3 rok studiów) i trzeba było zrobić chwilę przerwy.

Po powrocie czekało mnie trochę mało twórczej pracy - konwersje, przeróbki, poprawki. Czasem można było sobie luzem chodzić do pracy 8 godzin dziennie, czasem trzeba było siedzieć dłużej - rekord to okrągłe 40 godzin przy kompie ;D

Teraz przesiaduję przy projektach mobilnych, śmignęło się jakiś prototyp, a od kilku miesięcy męczymy z teamem spory projekt mobilno-społecznościowy.

Nie jest to łatwy kawałek chleba, bo terminy cisną, a wydawca zmieniający zdanie co 2-3 dni potrafi burzyć koncepcję budowaną przez 2 tygodnie, co w efekcie sprawia, że kod produkowany w pocie czoła przez kilka dni i nocy leci do kosza. Takie życie.

 

Skoro już wiecie że do kodzenia gier trzeba trochę przygotowania i pracy to przejdźmy do płacy - tutaj jest różnie - zależy od firmy i projektu - we wstępnym okresie czasu nie ma co liczyć na kokosy - kawałek powyżej minimum socjalnego (1600 brutto, czyli ok 1200 na rękę) to standard. Potem bywa lepiej (nawet kilkukrotnie lepiej), ale na to trzeba sobie zapracować. Często wydawca bywa kapryśny i w przypadku małego studia może przykręcić kurek z kasą, co oznacza wypłaty na raty, czy ciśnięcie niepłatnych nadgodzin - life is brutal.

 

Schodzimy z przyziemnych tematów - atmosfera w zespole nie ma sobie równych w żadnym innym miejscu pracy - ciężko znaleźć taką kondensację maniaków gier, komiksów i innych mediów, z którymi można wymieniać poglądy i obserwować od kuchni rozwój branży.

 

Ponadto możliwość bardzo dogłębnego poznania najnowszych sprzętów do grania, ogrania demek czy obejrzenie materiałów promocyjnych znacznie wcześniej niż ludzie spoza branży, czy wyjazdy na zamknięte konferencje to piękna, soczysta i słodka wisienka na torcie, która dla miłośników gier jest droższa od pieniędzy.

 

Więc dlaczego pisać gry? Bo to jest cholernie przyjemne! Sam od czasów otrzymania Pegasusa zastanawiałem się jak to działa i jak zrobić żeby "ten wąsaty chłopek skakał". Tworzenie czegoś co inni zobaczą, co dostarczy im rozrywki to świetne uczucie. Poza tym jest także niekryta satysfakcja w zobaczeniu swojego imienia i nazwiska w creditsach gry, nad którą dłubało się tygodniami. Satysfakcja płynąca ze wspierania swojego hobby to jest coś co mnie trzyma w tym biznesie. 

 

Dobra - kończę  już te wywody - zachęcam do dołożenia cegiełki w polskim czy zagranicznym gamedevie - niech nasze ukochane hobby rozwija się dzięki nam, a my dzięki niemu. Amen.

Oceń bloga:
0

Czy pracujesz / chcesz pracować w game game-devie?

Jasne!
59%
Zastanawiam się
59%
To nie dla mnie
59%
Pokaż wyniki Głosów: 59

Komentarze (4)

SORTUJ OD: Najnowszych / Najstarszych / Popularnych

cropper