Od gracza do twórcy gier. Historia Pawła Kubiaka
Historia Pawła pokazuje, że kariera od juniora do seniora jest możliwa. Nasz dzisiejszy rozmówca zaczynał od grania na komputerze, a dziś jest Senior Generalist Programmer w Ubisoft – jednej z największych międzynarodowych firm zajmujących się produkcją gier. Jak krok po kroku spełniał swoje marzenie zostania twórcą gier?
Spis treści
Jak zaczęła się Twoja przygoda z ekipą Ground Zero?
O teamie Ground Zero dowiedziałem się od mojego przyjaciela z liceum, który już od pewnego czasu był jego członkiem jako Game Designer. Zaczynaliśmy od zera. Mieliśmy jedynie open-source’owy silnik graficzny i na tej podstawie budowaliśmy prototypy. Projekt zajmował mój cały wolny czas poza studiami, a dodatkowym spowalniaczem był fakt, że nie posiadałem w domu dostępu do internetu. Myślę, że to właśnie dzięki temu miałem motywację, żeby przeczytać sporo książek o programowaniu i projektowaniu gier.
Twoim zadaniem w teamie było zajęcie się gameplayem. Jakimi zasadami się wtedy kierowałeś?
Ze względu na brak doświadczenia, musiałem bazować jedynie na doświadczeniu gracza. Każdy z nas jest w stanie powiedzieć, co mu się podoba, a które elementy mogłyby być bardziej przemyślane bądź dopracowane. Obecnie to w głównej mierze praca Game Designerów, ale programiści gameplayu muszą być po części designerami, żeby móc zweryfikować i podkręcić często ogólny zamysł mechanik gry. Jako fani Fallout, wzorowaliśmy się na dobrze znanych nam elementach z tej serii, ale staraliśmy się też dodać to, czego nam brakowało – otwarty świat. To było na długo przed premierą Fallout 3 i byliśmy pod dużym wrażeniem serii Elder Scrolls, a w szczególności Morrowind’a.
Co było wówczas Twoim najważniejszy sukces?
Powiem przekornie, że samo dołączenie do zespołu kreatywnych i zmotywowanych ludzi było największym sukcesem. Przekonałem się, że tworzenie gier jest równie satysfakcjonujące, co granie w nie. Gdyby nie to, najprawdopodobniej nie myślałbym poważnie o karierze w gamedevie.
Czy sama praca była dla ciebie wystarczającą dawką wiedzy? Dzisiaj popularne jest dokształcanie się po pracy.
Głód wiedzy i ciekawość cały czas mi towarzyszą. Za czasów Ground Zero projekt wypełniał cały mój czas. Kiedy pracowałem w Techlandzie, zainteresowałem się tematem botów. Efektem kilku lat pracy był w pełni samowystarczalny bot do Diablo 3 i blog o botowaniu z punktu widzenia programisty. Obecnie zajmuję się deep learningiem i piszę od zera bibliotekę do sieci neuronowych oraz reinforcement learningu. Nigdy nie czułem, że muszę się dokształcać na siłę. Po prostu podążam za swoimi zainteresowaniami. Mam to szczęście, że programowanie i gry są moim hobby.
Jak zmieniały się twoje role w ekipie Ground Zero?
Przez cały czas poruszałem się w temacie gameplayu i okolicach. Pracowałem nad in-game’owym edytorem, systemem streamowania świata, tworzyłem podwaliny prymitywnej sztucznej inteligencji i podpinałem różne silniki fizyczne. Nie brakowało tematów do podjęcia, ponieważ jedynie kilku z nas było odpowiedzialnych za czysto techniczny aspekt gry.
Z jakich źródeł czerpałeś wówczas wiedzę o sztucznej inteligencji?
Głównym źródłem były nagrania wykładów z GDC, Gamasutra, seria książek o programowaniu gier i oczywiście mój Lead. Jako gracz starałem się również analizować zachowanie sztucznej inteligencji w grach, w które grałem na co dzień. Sprawdzałem, jak AI zachowuje się w dziwnych sytuacjach, które starałem się stworzyć. W takim reverse engineeringu dodatkowo pomocne były techniczne wywiady z twórcami. Również screenshoty z włączonymi debugowymi wizualizacjami, przedstawiającymi dane, których używa sztuczna inteligencja, w sytuacjach, kiedy finalna gra pozbawiona była takiej opcji.
Lata pracy nad tym projektem umocniły cię w przekonaniu, że chcesz zajmować się programowaniem w przyszłości. Jak od tego czasu zmieniła się branża gamedev?
Dzisiaj znacznie prościej i szybciej jest tworzyć średniej wielkości gry, dzięki łatwiejszemu dostępowi to rozbudowanych silników, jak Unreal Engine czy Unity. Internet jest też pełen blogów, artykułów i tutoriali z każdej dziedziny gamedevu. Praktycznie wszystko czego chciałoby się dowiedzieć, można zobaczyć na YouTube. Bez problemu można też znaleźć uniwersytety oferujące kierunki studiów zorientowane na różne aspekty produkcji gier.
Znacznie zwiększyły się również budżety gier i nierzadko przewyższają one te znane z hollywoodzkich produkcji filmowych. Mocno zmieniły się same technologie, mocap przykładowo stał się normą i sporo studiów ma własne sale do nagrywania animacji. Mamy również dostęp do nowych technologii takich AR, czy popularny ostatnimi czasy VR. To otwiera nowe możliwości i stwarza nowe wyzwania.
Po pięciu latach odszedłeś z projektu i zainteresowała się tobą firma Techland. Jak wyglądała rekrutacja?
W 2006 roku nie było wielkiego zapotrzebowania na programistów gier. Powiedziałbym, że miałem sporo szczęścia, że Techland odpowiedział na moje zgłoszenie. Sama rekrutacja przebiegała w dość luźnej atmosferze. Przesłałem swoje CV i kilka prototypów, nad którymi pracowałem w Ground Zero, a po kilku dniach zostałem zaproszony do studia we Wrocławiu. Sama rozmowa nie dotyczyła zbytnio technicznych rzeczy, ale była ukierunkowana na sprawdzenie, czy potrafię kreatywnie podchodzić do problemów i na szybko wymyślać pierwsze rozwiązania.
Jak wyglądała Twoja ścieżka kariery w Techlandzie?
Początkowo zajmowałem się pomniejszymi zadaniami, niezwiązanymi nawet ze sztuczną inteligencją. To pozwoliło mi zapoznać się z silnikiem, na którym Techland buduje swoje produkcje. Stopniowo realizowałem coraz trudniejsze, typowo gameplayowe zadania, aż pewnego dnia zacząłem modyfikować istniejące AI na potrzeby nowego tytułu. Jako że pracowaliśmy nad prototypem, miałem spore pole do manewru. Mogłem mocno ingerować zarówno w AI, jak i podsystemy przez nią wykorzystywane, takie jak nawigacja czy animacje.
Z czasem miałem okazję projektować systemy AI od zera na potrzeby kolejnych produkcji. Praca nad sztuczną inteligencją daje sporo satysfakcji, ale jest jednocześnie bardzo wymagająca. Spowodowanie, żeby przeciwnicy podejmowali w miarę inteligentne decyzje, to dopiero połowa sukcesu. Muszą je jeszcze wiarygodnie przedstawić, poprzez animacje i interakcje z otoczeniem. Poza tym, mają na to zazwyczaj tylko kilka sekund swojego wirtualnego życia.
Po latach pracy nad AI chciałem spróbować czegoś nowego. Dołączyłem do teamu pracującego nad wsparciem dla konsol ówczesnej nowej generacji. Było to odświeżające doświadczenie, które dało mi cenną dawkę nowej wiedzy, jednakże w środku wiedziałem, że nadal ciągnie mnie do gameplay’u.
Po dziesięciu latach pracy w Techlandzie, jak napisałeś, “przyszedł czas na zmiany”. Programista z takim doświadczeniem pewnie przebierał w ofertach pracy. Co było najważniejszym czynnikiem, który przekonał cię do Ubisoftu?
Początkowo chciałem przenieść się do słonecznej Kalifornii, jednakże szybko okazało się, że brak wizy pracowniczej będzie nie do przeskoczenia. Tamtejsze firmy nie chcą przechodzić przez długi, kosztowny i nie dający żadnych gwarancji proces załatwiania wizy H1B. W międzyczasie odezwał się do mnie rekruter z Ubisoftu i powoli przekonywał mnie do pracy w Toronto. Południowo wschodnia Kanada to nie zachodnie wybrzeże Stanów, ale chciałem zobaczyć, jak pracuje się w tak dużej firmie i sprawdzić, czy odnajdę się na innym kontynencie w nieco innej kulturze.
Co mnie zaskoczyło i po części przekonało do Ubisoftu, to organizacja pracy i rozmiar firmy, pozwalające na znaczne zminimalizowanie tzw. “crunchu”. O ile okresy pracy po 12 godzin, 7 dni w tygodniu z perspektywy czasu są niezapomnianymi wspomnieniami, to jednak po kilku wydanych grach mam tych wspomnień wystarczająco dużo.
Jak przebiegał proces rekrutacji do Ubisoftu?
Była to seria rozmów na Skypie. Początkowo z rekruterem, który opowiadał o warunkach pracy w Ubisofcie i dopytywał się o moje doświadczenia w branży gier oraz o to, czym chciałbym się zajmować i jaką ścieżkę kariery chciałbym obrać. Następnie dostałem do wypełnienia ogólny test programistyczny, który jest w formie ankiety i można go zrobić w dowolnym momencie. Zostałem jedynie poproszony o nieprzekroczenie limitu czasowego podczas jego wypełniania. Zawarto tam pytania z wszystkich dziedzin programowania gier, włącznie z zagadnieniami dotyczącymi różnych języków programowania i konsol. Jest to test, który pozwala z grubsza ocenić poziom i zakres wiedzy programisty.
Kolejnym etapem były rozmowy z developerami. Odbyłem kilka rozmów z członkami zespołów gameplay’u i AI. Wspominam to bardzo pozytywnie, wyglądało to bardziej jak luźna wymiana doświadczeń starych znajomych, niż rozmowa kwalifikacyjna. Cały proces odbywał się zdalnie na przestrzeni kilku miesięcy i zwieńczony był negocjowaniem warunków zatrudnienia z HR’em.
Negocjowałeś warunki pracy? Porównywałeś swoje wynagrodzenie do zarobków kolegów z tej branży?
Największą niewiadomą są zazwyczaj koszty życia w nowym miejscu pracy. Nie wszystko da się sprawdzić przez internet, a same ceny wynajmu rosną w Toronto z miesiąca na miesiąc. Oczywiście zrobiłem własne rozeznanie w zarobkach. Wynagrodzenia w branży gier są tematem tabu, ale z pomocą przyszedł portal glassdoor. Można tam anonimowo podzielić się informacjami o swoich zarobkach i uzyskać dostęp do danych statystycznych o płacach na różnych stanowiskach z dokładnością do firmy i miasta, w którym się ona znajduje. Dało mi to ogólny zakres wynagrodzenia, na które mogłem liczyć i dało dodatkową stanowczość w ostatecznych negocjacjach.
Warto dobrze się do nich przygotować, ponieważ w trakcie pracy znacznie trudniej jest o duże zmiany w podstawowych zarobkach. Można również negocjować jednokrotne bonusy czy dodatkowe dni wolne. Zwłaszcza te ostatnie są sporą zmianą, ponieważ w Kanadzie nie ma “ustawowych” dni wolnych, wynikających z umowy o pracę. Ich ilość zależy jedynie od tego, co wynegocjuje się w zawartym kontrakcie.
Warunkiem koniecznym podjęcia tej pracy była relokacja do Kanady?
Tak, Ubisoft posiada studia w wielu zakątkach świata i w wielu z nich poszukuje pracowników. Podczas rekrutacji można zorientować się, nad jakimi projektami toczą się prace i wybrać lokalizację, która nam najbardziej odpowiada. Nic nie stoi na przeszkodzie, aby później relokować się pomiędzy studiami, dalej pracując nad tym samym projektem. Możliwość pracy w różnych krajach, z ułatwionym procesem wizowym, to dodatkowa zaleta tej firmy.
Jak wyglądał proces uzyskania wizy?
Wiza do Kanady to praktycznie formalność. Wszystkim zajmuje się pracodawca, z naszej strony musimy jedynie dostarczyć kilka dokumentów na potrzeby urzędu imigracyjnego, takich jak aktualne CV, dyplom ukończenia studiów czy fotokopię paszportu. Cały proces trwa około czterech miesięcy i na koniec dostajemy pozwolenie na pracę w tej konkretnej firmie oraz status tymczasowego rezydenta. Obydwa dokumenty są ważne przez dwa lata. Po tym czasie firma może wystąpić o ich przedłużenie. Można również, po roku pracy, starać się o status stałego rezydenta, dzięki któremu stajemy się niemalże obywatelem Kanady.
Opowiedz o miejscu, w którym mieszkasz.
Toronto jest miastem imigrantów. Zdecydowana większość ludzi przybywających do Kanady ląduje właśnie tutaj. Powoduje to, że mieszają się tutaj narodowości i kultury z całego świata. Ludzie wydają się bardzo życzliwi, otwarci i oczywiście, charakterystycznie dla Kanadyjczyków, za wszystko przepraszają. Przybycie tutaj było nie tylko lekkim szokiem kulturowym, ale wymagało również adaptacji w bardziej codziennych aspektach życia. Przykładowo, przyzwyczajenia do innego podejścia do systemu bankowego, gdzie nadal używa się czeków, a zakupy w internecie wymagają posiadania karty kredytowej.
Jak wygląda biuro, w którym pracujesz?
Ubisoft Toronto mieści się w potężnym, postindustrialnym ceglanym budynku, w sąsiedztwie charakterystycznej wieży wodnej. Pracuje tutaj około 800 osób, podzielonych na kilka projektów. Każde studio ma swoje marki, które zazwyczaj współtworzy, w naszym przypadku są to Far Cry i Watch Dogs. Kooperacja pomiędzy studiami jest bardzo charakterystyczna dla Ubisoftu. Nad większymi tytułami pracuje zazwyczaj około 5 oddziałów, przy czym jeden jest wiodący i to tam znajduje się centrum dowodzenia oraz toczy się znaczna większość produkcji. W studiu panuje rodzinna atmosfera, mamy comiesięczne firmowe imprezy tematyczne i zazwyczaj co piątek po 17 “otwierają się” na piętrze dystrybutory z piwami z lokalnych browarów.
Komu polecasz podobną ścieżkę kariery? Myślisz, że mogłeś pokierować nią inaczej i osiągnąć lepszy efekt?
Kariera w branży gier jest zdecydowanie dla pasjonatów, zarówno grania, jak i ich tworzenia. Każdy dzień stawia nowe wyzwania, są okresy wzmożonej pracy, ale jest również ogromna satysfakcja z dostarczania rozrywki ludziom. Jestem zadowolony z tego, jak przebiega moja kariera. Z czasem, w sposób naturalny, zmienia się stanowiska i zakres obowiązków, ale w dużej mierze wynika to z osobistych motywacji.
Najważniejsza jest satysfakcja z pracy, dlatego dobrze jest od czasu do czasu coś zmienić, zwłaszcza jeśli zaczyna się czuć wypalenie. Branża gier dynamicznie się rozwija i daje mnóstwo nowych możliwości, a co za tym idzie, ścieżek kariery. Gry powoli integrują technologie zarezerwowane do tej pory dla innych branży. Pozwala to specjalistom z dziedzin do tej pory niepowiązanych z grami dołączać do nas i razem dostarczać emocje odbiorcom naszych produkcji.
Pawel Kubiak. Senior Generalist Programmer w Ubisoft. Programista gameplay’u
i sztucznej inteligencji. Przygodę z kodowaniem rozpoczął w latach 90-tych. Od 2016 roku pracownik Ubisoft Toronto, gdzie odpowiada za zaludnianie Londynu w Watch Dogs: Legion. Wcześniej przez 10 lat pracował w Techlandzie. Zajmował się m.in. wszczepianiem inteligencji w zombie w Dead Island i Dying Light. W wolnym czasie gracz i adept deep learningu.