Profil Molecule: Rosabelle Armstead
Dla Rosabelle Armstead wejście do branży gier było dość niecodzienne: ta utalentowana młodsza programistka została przyjęta do Media Molecule i zgarnęła nagrodę BAFTA za pracę nad Dreams, jeszcze zanim skończyła studia wyższe. Rozmawiamy z Rosabelle o tym, co robi w Mm i jak się tu dostała, a także o podobieństwach kodowania, tworzenia grafik i rozwiązywania krzyżówek...
Cześć, Rosabelle! Czym zajmujesz się w Media Molecule?
Jestem młodszą programistką Dreams. Przez większość dnia gapię się na kod, piszę kod, poprawiam kod i rozmawiam z innymi programistami. Przymiotnik „młodsza” oznacza, że muszę się jeszcze dużo nauczyć, więc sporo rozmawiam ze starszymi programistami. Bardzo mi pomagają.
Jak właściwie wygląda kodowanie w Dreams?
Ja zajmowałam się głównie zadaniami chochlików i trofeami, a także ogólną płynnością gry. Prace nad systemem zadań chochlików rozpoczęły się, zanim jeszcze dołączyłam do Media Molecule, a więc w pewnym sensie je odziedziczyłam. Jeśli chodzi o zadania chochlików, mamy specjalne narzędzie, poprzez które projektanci dodają różne rzeczy, przekształcane następnie w zadania chochlików i trofea w grze. Niektóre elementy muszą być jednak dodawane przez programistów w samym kodzie. W większości przypadków mamy specjalnie napisane narzędzia, poprzez które projektanci mogą coś zrobić – po prostu uruchamiają narzędzie, aby coś dodać do gry. Programista musi jedynie wykończyć jakieś drobiazgi. Przykładowo, dla zadań chochlików mamy ich listę, a następnie funkcję: oznacz to zadanie chochlika jako odblokowane po zaliczeniu tej czynności. Powiedzmy więc, że gracz zalicza samouczek. W kodzie znajduje się opcja „ten samouczek został ukończony”, a następnie linia „oznacz to zadanie chochlika z samouczka jako odblokowane”.
A więc po prostu rozmawiasz z grą i przekonujesz ją w specjalnym języku, żeby robiła to, czego chcą projektanci?
Właśnie tak. To język matematyczny, właściwie też logiczny. Nasz Kod nie jest rozwlekły, ale jest dosyć zrozumiały, kiedy przychodzi na przykład nowy programista. W większości wypadków wszystko jest napisane bardzo schludnie. Większość rzeczy sama ci mówi, co robi, na przykład nazwa funkcji „dodaj przycisk” od razu nasuwa myśl: «Dobra, użyję funkcji „dodaj przycisk”, żeby dodać przycisk!»”. Ktoś wcześniej musiał tę funkcję napisać, a więc elementy niższego poziomu są już gotowe. Teraz właśnie nad tym pracuję – uczę się programowania grafiki, aby móc tworzyć te przyciski na poziomie pikseli, a nie odwoływać się do funkcji wyższego poziomu i przez nie dodawać przyciski.
Czy zawsze chciałaś zostać programistką?
Tak. Kiedy byłam znacznie młodsza, często sięgałam po „Nintendo Magazine”. Znalazłam tam ogłoszenia o pracę w branży gier, pogrupowane według stanowisk: grafików, specjalistów kontroli jakości, programistów, producentów, projektantów. Pomyślałam, że fajnie byłoby pracować nad czymś, co tak bardzo lubię. Stworzyć coś, w co mogliby zagrać inni ludzie – to zapowiadało mnóstwo satysfakcji. W tamtym czasie w mojej szkole (a chodziłam do szkoły wyłącznie dla dziewcząt) w ogóle nie było informatyki. Miałyśmy zajęcia w sali komputerowej, ale dotyczyły wyłącznie arkuszy kalkulacyjnych czy pisania maili. To też się przydaje w produkcji! Ale nie ma to nic wspólnego z programowaniem. Czyli w szkole średniej nie znalazłam dla siebie odpowiednich okazji do programowania i to mnie bardzo smuciło. Musiałam znaleźć inną drogę – przygotowywałam masę własnych projektów w Scratchu, czyli blokowym języku programowania z interfejsem „przeciągnij i upuść”. Zresztą bawiłam się już takimi rzeczami od czasu, gdy miałam chyba 11 lat. Robiłam wtedy z bratem gry w Robloksie i zajmowałam się skryptowaniem otoczenia. Dopiero kiedy skończyłam 16 lat, w mojej szkole wreszcie pojawiła się prawdziwa informatyka.
Najwyższy czas!
Tak! A więc pomyślałam, że zdążę się jeszcze czegoś nauczyć, zanim pójdę na uniwersytet. Miałam trochę szczęścia: w styczniu, przed egzaminami wstępnymi na studia, urządzili sesję pokazową, podczas której uczyliśmy się prostego algorytmu sortowania, nazywanego sortowaniem bąbelkowym, w równie prostym języku programowania – Visual Basic. Świetnie się bawiłam, bo to wszystko uruchomiło części mojego mózgu odpowiedzialne za logikę, których uwielbiam używać. Pomyślałam: „Tak, to zdecydowanie jest to, brzmi świetnie”. Kilka miesięcy później, podczas rozdawania dyplomów ukończenia szkoły średniej, w naszej szkole wystąpiła Siobhan [Reddy, dyrektorka studia Media Molecule]. Wtedy wszystko nagle się ułożyło.
Spotkałaś się osobiście ze Siobhan?
Pamiętam, jak weszła na podium, przedstawiła się, opowiedziała, kim jest, a wtedy wszyscy wokół się obrócili i od razu zerknęli na mnie – to było bardzo zabawne! Mój nauczyciel (który w kolejnym roku miał mnie też uczyć informatyki) powiedział coś w stylu: „Przedstawię was, porozmawiajcie chwilę”. I chyba to wtedy porozmawiałam ze Siobhan. Nie do końca pamiętam tę rozmowę, bo byłam bardzo zdenerwowana. Ale dostałam jej e-mail, a w styczniu zorganizowaliśmy specjalną wizytę szkolną w Media Molecule. Rozmawiały z nami Amy (Philips, programistka narzędzi) i Michelle (Ducker, starsza producentka), pokazały nam też bardzo wczesne demo Dreams. To było bardzo interesujące i produkcje Mm utwierdziły mnie w przekonaniu, że chcę programować, a najlepiej programować gry. Myślałam o tym, jakie to jest niesamowite, jakie świetne. Razem z kilkoma innymi osobami latem załapaliśmy się na staż, a później znowu... i jeszcze raz w kolejnym roku!
W tym czasie zaczęłaś już studia informatyczne – ostatecznie rok stażu w branży także odbyłaś w Media Molecule. Co takiego jest w tym studiu, że czułaś się tam jak w domu?
Tu jest niesamowita atmosfera. Wszyscy się dogadują. Każdy każdego zna, każdy ma swoje zainteresowania, ale też wszyscy znają zainteresowania innych. Wszyscy doskonale znają się na swoich zainteresowaniach i na swojej pracy!
Ty doskonale pasujesz do opisu osoby z wieloma zainteresowaniami: masz też niesamowity talent do portretów. Co przyciąga cię do grafiki? To samo, co do programowania?
Chyba tak! To samo czuję, kiedy rysuję i kiedy programuję. Kiedy mam ochotę coś narysować, osiągam taki stan relaksacji. W ogóle nie myślę, tylko działam. Kiedy rysuję, po prostu rysuję, a kiedy programuję – po prostu piszę na klawiaturze. Nawet jeśli przygotowany przeze mnie kod nie działa, wchodzę do trybu debuggingu i zaczynam korzystać z logicznych obszarów swojego mózgu. Podobnie z rysunkami, kiedy coś nie wygląda dobrze. Robię sobie chwilę przerwy, patrzę z perspektywy i myślę: „W porządku, obszarze logiczny, co tu jest nie tak?” [śmiech]. I poprawiam to. Z grafiką chyba jest podobnie. Nigdy tak naprawdę się nad tym nie zastanawiałam.
Widzieliśmy, że w firmowym klubie krzyżówkowym podczas lunchów rozwiązujecie trudne krzyżówki. To chyba działa podobnie?
Zanim zaczęłam pracę w Mm, nie znałam w ogóle takich krzyżówek. Na początku po prostu siedziałam przy stole i patrzyłam, jak inni magicy je rozwiązują. Dopiero gdzieś po miesiącu zaczęłam się w to angażować!
Ale jesteś z nas wszystkich najszybsza!
Tak, przez jakiś miesiąc obserwowałam, jak to wszystko działa, później co jakiś czas coś rzuciłam: „A może to?”, a potem kupiłam sobie trzy albo cztery książeczki z takimi trudnymi krzyżówkami i zaczęłam zaciekle je rozwiązywać. Czasem nawet ich nie rozwiązuję, tylko patrzę na odpowiedzi i staram się je wstecznie rozkładać na czynniki pierwsze i debugować.
To brzmi trochę jak bardzo uproszczone programowanie. Coś się psuje, a my myślimy: „Jak to się mogło stać?”.
Czasem trzeba zrobić krok wstecz, żeby później żwawo iść naprzód. Taki jest mój wniosek [śmiech].
Czy to, czego uczysz się w Mm, jest zbieżne z tym, co robisz na uniwersytecie? Nie chodzi tylko o programowanie, ale też o rozwój osobisty.
Tak, zbieżności jest dużo. Ale zawsze powtarzam, że przez rok w Mm nauczyłam się o wiele więcej niż przez dwa i pół roku na uczelni. Robienie czegoś w praktycznym środowisku dużo daje. To fajnie się zgrało na ostatnim roku, bo wszystko, co robiłam w Mm, pojawiało się na wykładach i ćwiczeniach. Łatwiej się zorganizować. Na przykład na ćwiczeniach grupowych doświadczenie pracy w profesjonalnym zespole dużo mi dało i na uniwersytecie było później dużo łatwiej.
Najwyraźniej szybko się uczysz – ale to konieczne, żeby robić to, co robisz! Pomogłaś stworzyć grę, która zdobyła nagrodę BAFTA, zanim nawet skończyłaś studia. Jak ci się to udało?
No tak, to się chyba zbyt często nie zdarza. Przez dwa i pół dnia w tygodniu pracowałam nad rzeczami dla Mm, w domu, a przez kolejne dwa i pół dnia uczyłam się na uniwersytecie. Trudno było wszystko zorganizować na studiach, ale jakoś udało mi się to poukładać i ostatecznie wszystko poszło dobrze. Miałam szczęście, że premierę Dreams wyznaczono na dwa miesiące przed sesją egzaminacyjną, kiedy na uniwersytecie zaczęło być naprawdę gorąco. Wtedy w Mm było już nieco luźniej, a gdyby obie rzeczy odbyły się w tym samym czasie, chyba trudno byłoby mi brać udział w premierze Dreams.
Wkrótce kończysz studia. Jakie masz plany na przyszłość?
W tej chwili chcę po prostu zostać w Mm i dobrze się bawić! [Śmiech]. Chcę utrzymać pracę, którą lubię, i mieć trochę więcej czasu na swoje hobby. Z koleżankami i kolegami z pracy gramy w piątki w piłkę, miło będzie do tego wrócić. No i tenis stołowy! Brakuje mi go.
Jaką radę dałabyś komuś, kto chciałby programować gry?
Moja najważniejsza rada: upewnijcie się, że to lubicie. Nie wynoście czegoś na piedestał i nie gońcie za tym, jeśli nie wiecie, że to wam daje frajdę. Próbujcie. Najlepiej nadają się do tego takie rzeczy jak Roblox czy Dreams – proste systemy logiczne, dzięki którym sprawdzicie, czy lubicie w ogóle tworzyć gry. Własne doświadczenie, nawet niewielkie, bardzo się przydaje – warto też mieć jakieś wstępne portfolio, nawet jeśli to nic pięknego! [Śmiech]. Wystarczy, że coś działa zgodnie z założeniami, to już jest świetne.
Podręcznik użytkownika Dreams jest obecnie przygotowywany. Z czasem będziemy dodawać kolejne zasoby i artykuły, a więc czekaj na aktualizacje.