Profil Molecule: Amy Phillips
Amy Phillips posługuje się tytułem „wysokiej kapłanki kodu narzędziowego”, co doskonale wygląda na wizytówce. Jej prawdziwe stanowisko, główna programistka narzędzi, choć może nie brzmi tak efektownie, jest równie ważne, gdyż to ona i jej zespół tworzą narzędzia potrzebne różnym zespołom w ramach naszego studia. Dziś rozmawiamy z Amy o jej miłości do łamigłówek, rozwiązywaniu problemów oraz klasycznej losowości Mm.
Cześć, Amy! Czym się zajmujesz w Media Molecule?
Jestem Amy Phillips i jestem wysoką kapłanką kodu narzędziowego w Media Molecule. Oczywiście... a także niestety, to nie jest moje prawdziwe stanowisko. Wymyśliłam je, kiedy po raz pierwszy pojechałam na GDC (Game Developers Conference) siedem lat temu. Przygotowywali dla mnie wizytówki i w przypływie szaleństwa pozwolili wybrać sobie stanowisko. Wymyśliłam więc „wysoką kapłankę kodu narzędziowego”. W prawdziwym języku korporacyjnym jestem główną programistką narzędzi, ale lubię być wysoką kapłanką. To brzmi potężnie i wyszukanie.
Co to tak naprawdę oznacza w codziennej pracy? Ulepszasz narzędzia, których używamy w Dreams?
Nie. Mogłoby się tak wydawać, ale nasz zespół nie tworzy narzędzi do używania w Dreams. Generalnie nasz czteroosobowy zespół narzędziowy nie tworzy narzędzi dla graczy tylko dla innych pracowników Molecule. Może na przykład chodzić o tworzenie albo znajdowanie rozwiązań, które ułatwią pracę innym pracownikom Molecule. Musimy często z nimi rozmawiać i się dowiadywać, z czym mają problemy, co ich spowalnia w pracy oraz co odciąga od efektywnego działania. Później musimy wymyślić, czy możemy im jakoś pomóc rozwiązać te problemy. Tworzymy też narzędzia do ciągłej integracji, a więc kiedy programista przesyła nam nowy kod, nasze systemy go kompilują i szybko alarmują, jeśli programista coś zepsuł. To bardzo przydatne, jak również dosyć proste w działaniu! Systemy takie potrafią szybko skompilować nowy kod, a następnie przekazać go działowi kontroli jakości, twórcom zawartości albo komukolwiek przyda się dana aplikacja.
Stworzyliśmy też kilka systemów automatycznego testowania, a więc kiedy pojawia się nowy kod, przeprowadzamy na nim szereg testów i próbujemy się upewnić, że nic się nie zepsuło. Pomagamy też przy lokalizacji – tłumaczymy nowe teksty, abyście mogli grać po francusku czy hiszpańsku, jak również upewniamy się, że wszystko jest przetłumaczone. Przerzucamy mnóstwo danych z kąta w kąt oraz siłujemy się z kontrolą źródła. To system, którego używamy do śledzenia kodu i upewniania się, co zostało zmienione i dlaczego. W ten sposób możemy wracać do poprzednich wersji w celu na przykład odtworzenia wersji, która ostatnio została przekazana graczom. Wszystko, co nie pasuje do innych działów, trafia do działu narzędziowego, co w sumie jest fajne, ponieważ nie możemy narzekać na nudę i mamy okazję do rozmowy z bardzo różnymi ludźmi z całego studia.
Czy często macie zapytania o to samo narzędzie, czy są różne w zależności od potrzeb?
Prośby najczęściej są bardzo różne. Pracujemy z wieloma departamentami w studiu, a ich oczekiwania są naprawdę różnorodne. Staramy się aktualizować naszą dokumentację oraz mieć wszystko pod kontrolą, ponieważ czasem zdarzają się powtórzenia. Na przykład: „Wracam do starego błędu i proszę o symbole do zdebugowania, bo staram się rozkminić, co tam się do diabła dzieje”. Takie są dosyć częste. Ale mamy też mnóstwo absolutnie losowych zgłoszeń.
Jakie na przykład wymyślacie narzędzia, kiedy inni pracownicy przesyłają wam zgłoszenia?
Pracownicy Molecule często muszą szybko pobierać nowe wersje. Kiedy w roku 2020 zaczęliśmy pracować z domów, straciliśmy naprawdę szybkie łącza internetowe. W biurze można było pobrać wersję bardzo szybko. Ale później przeszliśmy na home office, gdzie mieliśmy bardzo różnej jakości połączenia internetowe, a więc musieliśmy opracować szereg ulepszonych narzędzi do dystrybucji wersji. Wersje miały zajmować mniej miejsca. A więc uznaliśmy, że większość danych będzie przechowywana lokalnie na dysku twardym, a pobierane będą jedynie elementy, które się zmieniły albo są koniecznie potrzebne w nowej wersji. Zajmujemy się mnóstwem rzeczy technicznych, ale jestem programistką i lubię wszystkie techniczne zawirowania. Kiedyś byłam programistką sieci i spotykałam się z różnymi interesującymi, ale i trudnymi problemami. To było kiedy pracowałam nad grami wyścigowymi z serii Burnout i musiałam przesyłać dane samochodów wyścigowych przez sieć, aby u każdego gracza wyglądały oraz zachowywały się tak samo.
Jak to się stało, że z programistki sieciowej stałaś się specjalistką od narzędzi?
Cóż, początkowo zajmowałam się kodowaniem ogólnym, później przez jakiś czas programowałam SI, aż wreszcie zajęłam się kodowaniem sieciowym. To było w czasach, kiedy [w Criterion Games] tworzyliśmy Burnouta 3 i przenosiliśmy go do sieci. Później przeniosłam się do Media Molecule i byłam programistką sieciową w początkowej fazie produkcji LittleBigPlanet. Po jakimś czasie poszłam na urlop macierzyński, a kiedy wróciłam, chciałam pracować na pół etatu dwa dni w tygodniu. Niestety kodowanie sieciowe nie bardzo pasowało do tych dwóch dni w tygodniu, a więc zaczęłam szukać jakiegoś innego zajęcia. Zauważyłam, że jest wiele rzeczy w studiu, którymi trzeba się zająć, a do których nikt za bardzo nie chce się przyznać. Zaczęłam więc zajmować się takimi zadaniami i okazało się, że taki ktoś bardzo się przydaje. Ktoś, kto rozwiąże problemy nie bardzo pasujące do któregoś z innych działów.
Moja rola bardzo ewoluowała. Nie chodzi mi o wymyślanie koła na nowo, ale o znajdowanie rzeczy, które nie działają zbyt dobrze i regulowanie ich, aby działały lepiej. To bardzo satysfakcjonujące, bo od razu masz informację zwrotną od ludzi. Przykładowo, jeśli poprawisz system dystrybucji wersji i usprawnisz jego interfejs użytkownika tak, żeby ulubione wersje znajdowały się na górze listy, ludzie od razu zaczną ci dziękować. Jeśli zrobisz coś dobrego, możesz liczyć na miłą reakcję, co jest urocze.
Uczyłaś się kodować na studiach czy na własną rękę?
To zabawne, bo to był swego rodzaju przypadek. Najpierw poszłam na wyższe studia matematyczne, ale to było bardzo trudne. Po pierwszym roku przeszłam więc na kierunek „fizyka” i tam spędziłam kolejne dwa lata, bo było to trochę prostsze. Ale jakoś nie do końca się tym interesowałam. A więc po trzech latach znowu zmieniłam kierunek i zajęłam się informatyką. Miałam ogromne szczęście, że na moim uniwersytecie dość elastycznie podchodzono do takich problemów. Okazało się, że informatyka bardzo mi pasuje i wszystko jakoś zatrybiło.
Zrobiłam magisterkę z informatyki, a później znajomy, który pracował wtedy dla Big Blue Box Studios nad Fable, zaprosił mnie do siebie, do Guildford. Odwiedziłam go przez weekend i wtedy zadzwoniono do niego z biura, bo trzeba było szybko coś zrobić, a więc pojechałam z nim i poznałam wielu miłych, przyjaznych ludzi. Mieli w biurze hulajnogę i przekąski, co bardzo mi się spodobało. Pomyślałam: „Ach, no dobrze, gry wideo, to może być coś dla mnie”. Wysłałam więc CV do wszystkich producentów gier wideo w Guildford i otrzymałam odpowiedź od Criterion, gdzie ostatecznie znalazłam pracę. A więc tak, miałam ogromne szczęście.
Co jest najbardziej interesujące w pracy dla Mm?
Zdecydowanie ludzie. Uwielbiam pracować z ludźmi w Mm. To zespół bardzo inteligentnych osób, ale też uprzejmych, uroczych i bardzo kreatywnych. Kiedy rozmawiasz z pracownikami Mm, zawsze podchodzisz do nich najpierw jak do przyjaciół, a dopiero później jak do współpracowników. Wszyscy są tu równi. Uwielbiam takie podejście. Najważniejsi są ludzie, a dopiero później ich stanowiska. Z każdym można coś przedyskutować, zapytać, jak im idzie, jakie mają problemy oraz co u nich słychać. To jest szczególnie ważne dla programistki narzędzi, ponieważ jeśli ktoś do ciebie przychodzi i mówi: „chciałbym coś takiego”, często wcale nie o to chodzi. Trzeba więc cofnąć się o kilka kroków i zapytać: „No dobrze, ale po co ci to? Co chcesz osiągnąć? Jaki jest ogólny kontekst tej prośby?” Dopiero kiedy mamy ogólny kontekst, okazuje się że można to zrobić w inny sposób, zaimplementować lepiej i stworzyć system, który robi to, o co chodziło, ale niekoniecznie to, o co zostaliśmy poproszeni.
Pracujesz w Mm praktycznie od początku, który projekt podobał ci się najbardziej?
Uwielbiam pierwsze LittleBigPlanet, bo to było spore wyzwanie. Nie wiedzieliśmy tak do końca, co tworzymy, a więc kształtowaliśmy zarówno grę, jak i siebie. Prawdę mówiąc, nie do końca rozumiem, jak udało się to wszystko połączyć w jeden projekt, ponieważ mieliśmy wtedy mnóstwo pomysłów i dużo eksperymentowaliśmy. Ja wtedy zajmowałam się kodowaniem sieciowym, ale bardzo podobało mi się podejście eksperymentalne. Zresztą ta „losowość” obowiązuje w studiu po dziś dzień, przynajmniej w pewnym stopniu.
A więc to jest jedna z moich ulubionych rzeczy w Mm – to, że po prostu działamy i tworzymy interesujące, kreatywne rzeczy... a także robimy je razem. Tutaj nigdy nie ma jednej osoby z jednym wielkim pomysłem. Jest pewien fundament, na którym działamy, ale później każdy ma swój wkład i wymyśla rzeczy, które można oprzeć na tym fundamencie. Wydaje mi się, że to dosyć rzadkie, by w studiu tworzącym gry każdy miał szansę na wykazanie się kreatywnością.
Masz jakieś wskazówki albo porady dla osób, które chciałyby pracować dziale programowania narzędzi?
Oczywiście przydatne są studia na kierunku związanym z programowaniem, na przykład informatyka. Poznaje się tam fundamentalne koncepcje, które pomogą w zrozumieniu, dlaczego nasz kod zachowuje się tak, a nie inaczej. Jeśli rozumiesz napisany przez siebie algorytm albo strukturę używanych danych, sposoby ich używania i dlaczego pojawiają się dziwne problemy z wydajnością, znacznie łatwiej będzie ci odszukać błąd we własnym kodzie.
Wydaje mi się, że sesje tworzenia gier to także świetna okazja do spotkania się z ludźmi, nawiązania znajomości, spróbowania różnych rzeczy i rozwoju umiejętności twórczych. Prawdę mówiąc to, czy nadajemy się do branży gier, jest weryfikowane, kiedy zdamy sobie sprawę, jak trudno ukończyć cały projekt. Bardzo łatwo rozpocząć nad czymś pracę, ale bardzo trudno ją zakończyć. Po studiach jest chyba łatwiej, bo tam uczą nas wszystkich potrzebnych umiejętności, ale kiedy uczymy się na własną rękę, najpierw musimy sami odkryć, czego nam potrzeba, a później dodatkowo jeszcze się tego nauczyć.
Pracownicy Mm często mają na swoich biurkach wiele interesujących rzeczy. Co w tej chwili leży na twoim?
Hmm. Nie mam na biurku niczego szczególnie interesującego. Co tu jest? Ach, książka z łamigłówkami – Journal 29: Oblivion. To generalnie książka pełna skomplikowanych zagadek, które wymagają nieszablonowego myślenia. Najpierw trzeba się w ogóle domyślić, o co chodzi, a dopiero później zająć się rozwiązywaniem łamigłówki. Ale jeśli lubicie łamigłówki, jest to bardzo dobra książka. Mam też pocztówkę od znajomego, któremu zaktualizowałam stronę internetową – w zamian dostałam książkę oraz pocztówkę. Jest tu też mój Kindle i jakaś losowa przypinka Mm. Najciekawszą rzeczą na moim biurku jest chyba ten uroczy kubek. Jest świetny – nazywam go „kubkiem zachęty”. Widać na nim inspirujące cytaty, takie jak „Dasz radę. Nie bój się. Bądź wojowniczką, a nie histeryczką. Działaj we własnym tempie. Jesteś silniejsza, niż myślisz”. Jest tu też jednorożec, który mówi: „Jesteś magiczna i wartościowa”. Jednorożce sprawiają, że wszystko staje się lepsze.
Podręcznik użytkownika Dreams jest obecnie przygotowywany. Z czasem będziemy dodawać kolejne zasoby i artykuły, a więc czekaj na aktualizacje.