Patryk Talaga - Unity Developer
- Damian Heinrich
- 29 lip
- 3 minut(y) czytania

1. Czym zajmujesz się w projekcie?
Jako programista pracuję zarówno nad częścią kliencką gry (w Unity), jak i backendem. Po stronie klienta zajmuję się głównie arenami, na przykład systemem, który losowo generuje układ areny, albo mechaniką akcji, które postacie wykonują w trakcie swojego ruchu. Z kolei na backendzie moim największym obszarem jest system akcji. Każda postać ma w nim zdefiniowane swoje umiejętności, a sam system odpowiada za ich walidację, wybór celów i ostateczne wykonanie (czyli np. odebranie punktów życia przeciwnikowi przy ataku). Ponieważ systemy związane z areną są mocno powiązane z pracą grafików, to często siadamy razem i ustalamy, jak coś ma wyglądać lub działać, żeby wszystko się dobrze zazębiało.

2. Skąd wzięło się u Ciebie zainteresowanie programowaniem?
Zaczęło się dość wcześnie, jako dzieciak grałem w gry przeglądarkowe, takie jak Ikariam czy ManagerZone i byłem pod wrażeniem, jak niektórzy gracze potrafili zrobić niesamowite prezentacje swojego profilu. Mój tata powiedział mi wtedy, że to wszystko jest zrobione przy pomocy języka HTML. Uznałem, że chcę się go nauczyć, aby tworzyć równie efektowne prezentacje. Moje nowe umiejętności szybko się przydały i w gimnazjum najpierw pomagałem przy szkolnej stronie internetowej, a następnie sam ją prowadziłem.
Później trochę odbiłem od webówki. Na studiach chciałem spróbować czegoś bardziej technicznego, więc poszedłem na automatykę i robotykę. Szybko jednak zorientowałem się, że to nie do końca dla mnie. Szukając dalej, trafiłem na game dev. Co ciekawe nie jestem zapalonym graczem i zainteresowałem się tą dziedziną tylko z ciekawości. Okazało się, że był to strzał w dziesiątkę, wciągnęło mnie na dobre i tak już zostało.

3. Co sprawia Ci w projekcie największą satysfakcję?
Pewnie jak większość programistów, mam frajdę z tego, że coś, co napisałem, po prostu działa. Ale najbardziej satysfakcjonuje mnie to, jak wspólnie z Piotrkiem i Michałem dbamy o architekturę projektu, zarówno całościową, jak i poszczególnych systemów. Wiele fragmentów kodu mamy pokrytych testami jednostkowymi, a każda zmiana przechodzi solidne code review. Dzięki temu łatwiej nam później rozwijać lub modyfikować systemy, kiedy zmienia się design gry. To podejście sprawia, że praca jest po prostu przyjemna, bez chaosu i z myślą o przyszłości.
Tak bardziej personalnie lubię momenty, kiedy do zrobienia jest jakiś większy system, który trzeba najpierw porządnie przemyśleć i rozpisać. Szukanie najlepszego podejścia, analizowanie różnych opcji i w końcu znalezienie rozwiązania, które dobrze działa i ma sens, daje największą satysfakcję. Zwłaszcza po wielu godzinach planowania.

4. Co stanowi dla Ciebie największe wyzwanie?
Zdecydowanie największym wyzwaniem jest tworzenie backendu w taki sposób, żeby praktycznie wszystko dało się skonfigurować z poziomu plików, bez potrzeby zmian w kodzie. Dotyczy to zarówno jednostek, ich akcji i parametrów, jak i całej masy innych elementów gry: przeciwników, mapy przygody, zbierania zasobów, polowania... Prawie wszystko opiera się u nas na odpowiednich plikach konfiguracyjnych, nad którymi pracują designerzy. Dzięki temu mogą niezależnie wprowadzać zmiany bez angażowania programistów.
Z jednej strony daje to ogromną elastyczność, ale z drugiej wymaga bardzo przemyślanej architektury. Taki system musi być wystarczająco uniwersalny, żeby obsłużyć różne przypadki, a jednocześnie na tyle prosty, żeby był łatwy w utrzymaniu czy użyciu. Balansowanie między tymi dwoma biegunami bywa trudne, ale też daje sporo satysfakcji, kiedy wszystko zaczyna działać tak, jak trzeba.
5. Masz swój schemat dnia pracy czy każdy wygląda inaczej?
Mam swój ogólny rytm dnia, ale sporo zależy od tego, co akurat jest do zrobienia. Prywatnie lubię zacząć dzień od odrobiny słońca, jeśli pogoda pozwala, po prostu wychodzę na balkon albo krótki spacer, żeby się trochę dobudzić. Czasem dorzucam też krótki trening albo rozciąganie, żeby przygotować ciało na cały dzień siedzenia przy komputerze. To drobne rzeczy, ale pomagają dobrze wejść w rytm.
Zazwyczaj w poniedziałek przeglądam taski i rozpisuję sobie, czym warto zająć się w danym tygodniu. Jeśli coś jest niejasne albo trzeba przegadać priorytety, to omawiamy to w naszym programistycznym gronie.
W ciągu tygodnia staram się trzymać planu, ale wiadomo, że zdarzają się nieprzewidziane rzeczy. Czasem trzeba na szybko ogarnąć jakiś błąd albo pomóc grafikom, jeśli coś blokuje ich pracę. W takich momentach priorytety się zmieniają, ale to też część codzienności pracy w zespole.









Komentarze