MapEditor i Q&A z Mamutem – Obecnie pracujemy nad… cz. 113

mapingDzisiejszy blog będzie mocno o tzw. backstage’u. Co się dzieje daleko na “tyłach”, za głównym frontem gotowej gry, społeczności, balansu, grafiki i wszystkiego, czego bezpośrednio doświadczacie podczas gry. Z jednej strony mamy obszerny wywiad z Mamutem, który programuje nowego klietna gry, a z drugiej prezentujemy powstające właśnie potężne narzędzie do obsługi całej zawartości Taern:Broken Ranks. Bez tej “pracy u podstaw” nie może być mowy o żadnych nowościach, upkach i tym wszystkim, na co wszyscy czekacie. Zapraszam do lektury.

MapEditor, czyli nasz nowy kombajn

Aktualny etap prac nad Taern: Broken Ranks to nieustające poprawki, dopinanie szczegółów i równie nieustające wyszukiwanie błędów i szczegółów, które należałoby poprawić. I tak w kółko. Słowem nic ciekawego, szczególnie, jeśli chodzi o nasze doniesienia z frontu TBR. Równolegle do prac nad klientem gry, z którego Wy wszyscy będziecie korzystali, toczy się doskonalenie naszej narzędziowni. To rzeczy dla Was zupełnie niewidoczne, ale są one szalenie ważne. Bo to za ich pomocą implementujemy do gry nową zawartość (tę, która nie wymaga specjalnego programowania bezpośrednio w kodzie). Czyli cała grafika krainek, mapowanie (regiony, po których się chodzi), rozmieszczenie mobów, różnego rodzaju mechanizmy, przejścia, teksty, questy, instancje. Łączenie tego wszystkiego ze sobą.

map_edit_1

Im bardziej niezawodne, proste i przejrzyste w obsłudze są te narzędzia, tym łatwiej i szybciej się nam wszystko dodaje. Do tej pory nasze narzędzia “rosły” wraz z grą, przez co pewne rzeczy potrafiły być skomplikowane. Weźmy przykład dodawania nowej krainki. W wersji 2d Taerna najpierw odpowiednio zeskalowany obrazek musi dostać Beron, bo tylko on ma narzędzia, żeby to wrzucić. W innym miejscu (nasz questadder) ustawia się nazwę i główne parametry krainki. Żeby to było widoczne na s0, trzeba zrestartować serwer i zalogować się w grze, czyszcząc wcześniej dane przeglądarki. Żeby ustawić mapowanie (czyli “kratki”, po których chodzimy), trzeba otworzyć jeszcze inny program, który pokazuje nam tylko podkład (obrazek krainki) i kratki z cyferkami. Mapowanie trzeba sprawdzić chodząc postacią w grze, a każda zmiana mapowania widoczna jest dopiero po restarcie serwera. I wyczyszczeniu pamięci przeglądarki. Żeby dodać nowy region, nowy rodzaj pola – musimy znów sięgnąć spowrotem do naszego questaddera. Tak samo żeby ustawić moby. Jeszcze inaczej wrzuca się grafiki, które w grze zakrywają nam postać gracza. Skomplikowane? Nawet bardzo. I strasznie czasochłonne. Trudno też na bieżąco sprawdzać zmiany (bo każda wymaga restartu serwera), zatem łatwo o błędy. Dlatego tak ważna dla nas była kwestia poprawy naszej “narzędziowni”.

map_edit_3
W ten sposób powstało potężne narzędzie, które szalenie usprawnia naszą pracę: MapEditor. Teraz, w Broken Ranks wystarczy wrzucić przygotowaną grafikę w odpowiedni folder, i można zrobić wszystko to, co opisane wyżej (a nawet więcej) korzystając tylko z jednego programu. Z pozoru MapEditor wygląda prawie identycznie jak zwykły klient gry. Od klienta gry odróżnia go tylko małe okienko z opcjami, w którym ukryta jest “moc” naszego narzędzia, czyli mnóstwo różnych funkcji. To podobieństwo do klienta gry oraz tryb symulacji gry (możliwość poruszania się i walk postacią, tak jak w normalnej grze) to ogromna zaleta MapEditora. Na bieżąco możemy zobaczyć wszystkie wprowadzane zmiany, bez konieczności logowania się gdzieś indziej, robienia restartów serwera, czyszczenia pamięci przeglądarki, itd. Wystarczy jeden skrót klawiaturowy, żeby przełączać się między trybem edycji a trybem symulacji gry. Mało tego – nawet w trybie symulacji możemy sobie włączyć roboczą siatkę, która pokazuje, jak jest ustawiony mapping, chodzić po tym postacią, zobaczyć, jak układają się moby.

map_edit_2

Jeden “klik” i przechodzimy do ustawień przejść czy interaktywnych mechanizmów. Możemy takie elementy dowolnie przesuwać, skalować, wszystko z natychmiastowym podglądem, jak to wygląda w grze. Kluczowe zmiany łatwo można cofnąć. Nie musimy chyba już dłużej tłumaczyć, jak bardzo nowe, dobre, kompleksowo rozwiązane narzędzie potrafi ułatwić i przyspieszyć nam pracę. I dlaczego tak ważne jest, by poświęcić czas również na te niewidoczne dla Was rzeczy.

Q&A z Mamutem

Wśród pracowników Whitemoon niektórzy działają nieco bardziej dyskretnie. Z jednej strony mamy ludzi odpowiedzialnych za tworzenie animacji, jak Beron, czy za świat gry, jak Torgerd. Z drugiej zaś jest np. Mamut. Nasz niestrudzony programista, codziennie babrający się w linijkach kodu, polujący na błędy i piszący programy ułatwiające pracę innym. Zazwyczaj nieco na uboczu, dzisiaj udziela odpowiedzi na wybrane przez niego pytania,które zadawali członkowie naszej społeczności na forum. Jak zacząć pracę w gamdevie, czemu Beron jest jego najlepszym kumplem w biurze i czym jest komar-łucznik? Na te i jeszcze inne pytania odpowie Mamut we własnej osobie.

skraczest: Czy jest możliwość zmienienia walki w grze na taką w której więcej zależy od doświadczenia i umiejętności gracza. Obecna forma walki jest bardzo statyczna i nieprzewidywalna.

Walka, poza kilkoma drobnymi problemami z balansem (szczególnie pracujemy nad zbalansowaniem postaci 100+), działa bardzo dobrze. Nie do końca podoba nam się jednak obecny kształt PvP i chcemy go polepszyć.

skraczest: Czy jest możliwe, aby procenty miały mniejszy wpływ na wynik walki ?

Procenty są odzwierciedleniem umiejętności postaci, którą grasz. Z dużym przymrużeniem oka można powiedzieć, że w “real life” też masz procenty, tylko nikt ci ich nie wyświetla. Weź kurze jajko i spróbuj je przerzucić z ręki do ręki sto razy 😀

seba11pl: No to podstawowe pytanie. Kim Ty (Mamut) w ogóle jesteś?

Mam na imię Krzysiek, pochodzę z Krotoszyna (Wielkopolska). W kontekście Taerna jestem głównym programistą klienta Taern: Broken Ranks od pierwszych prototypów. Wraz z Drygiem wybieraliśmy silnik, na którym gra będzie działać. Jestem jednym z głównych twórców klienta Taern: Broken Ranks i pewnie długo jeszcze będę pracował nad ulepszeniami do tej gry. Poza tym mam na swoim koncie kilka sukcesów jako muzyk. Np. “Złoty bączek” na Przystanku Woodstock 2005 z zespołem Drumstein. Muzycznie jestem perkusjonistą.

img_20161206_135953

seba11pl: Ile jest osób pracujących bezpośrednio nad grą, a ile zajmuje się marketingiem i innymi, bardziej “biurowymi” sprawami?

Bezpośrednio nad grą w naszym biurze pracuje 8 osób. Do nich należy doliczyć kilka osób pracujących zdalnie. To kolejne 7. Do tego jeszcze ekipa na serwerach i supporcie. Sporo. Dział marketingu mamy dużo mniejszy i liczy 3 osoby.

seba11pl: Jak wygląda Twoja rola w zespole? Masz realny wpływ na kierunek zmian, czy po prostu robisz to, co ci każą?

Miałem wiele uwag do gry, a kilka z nich zostało wprowadzonych.

NashVille: Skoro jesteś jednym z wyższych ludzi na ziemi to ile masz centymetrów wzrostu?

196 cm.

NashVille: Od kiedy “siedzisz” w Taernie?

Od września 2012 roku.

NashVille: Masz postać na normalnym serwerze?

Tak, grałem sporo na S2 (teraz Larkas), moją pierwszą postacią tam był Mamut (ryc) później MrMamut (sheed). Dobrze wspominam gildię Minas Tirth. Teraz, dzięki uprzejmości DONMAK-a, hibernuję w Vide Cul Fide. Polecam obie gildie, bardzo fajni ludzie tam grają. Teraz nie mam czasu na granie dla przyjemności. Myślę jednak, że grałem wystarczająco dużo, by poznać grę z każdej strony. Mogę się poszczycić tym, że mam najwyższy “legalnie wbity” poziom (sh 75) z całej ekipy pracującej na co dzień w biurze. Jako gracz, miałem też kilka propozycji zmiany niektórych mechanizmów i np. moje uwagi były iskrą, która dała nam dzisiejsze, ulepszone pety.

Veria: Czy twoje zarobki cię zadowalają?

Na piwo starcza 🙂

Veria: Jak trafiłeś na Taern?

Z ogłoszenia o pracę.

Veria: Skąd się wzięła ksywka “Mamut”?

Jestem wielki, kudłaty i mam dużą trąbę 😀

Jeean: Co w tej chwili programujesz szanowny Mamucie?

Aktualnie w tej chwili ulepszam edytor gry.

Knoxi: Kiedy rozpocząłeś naukę języka programowania wykorzystywanego do Taern BR?

Uczysz się języka, gdy zaczynasz z niego korzystać. Załóżmy, że jakoś w 2005 roku.

Knoxi: Jakie były Twoje początki w branży IT/gamedevowej?

Na studiach sporo “freelancowałem”. Pierwsza praca po studiach – od razu gamedev. Były różne, fajniejsze lub mniej fajne pomysły na gry. Z mojego punktu widzenia gamedev daje dużo ciekawych wyzwań, to najbardziej lubię w tej pracy.

Knoxi: Jakieś porady dla młodych zapaleńców, którzy zaczynają swoją przygodę z językami programowania?

Podstawa to działać. Programować, robić coś konkretnego. Wtedy najlepiej nauczysz się pracować w danym języku, nauczysz się debugować i poznasz różne sposoby radzenia sobie z problemami. Jeśli nie wiesz jak coś zrobić, to internet Ci pomoże. Fora i blogi branżowe są, moim zdaniem, wartościowe i pozwalają być na bieżąco. Nieodłączną częścią tej pracy jest ciągła nauka. Ta branża się rozwija i będzie się rozwijać. Musisz pracować nad swoimi umiejętnościami, by znaleźć sobie robotę. Fajnie jest też gadać z innymi programistami i wymieniać się uwagami.

20161206_144507

Knoxi: Dalej Soccer Physics jest na porządku dziennym? Jak wpadnę to się odegram, po ostatnim łomocie dalej mi głupie.

Nie masz ze mną żadnych szans. Jestem chodzącym przykładem na to, że można osiągnąć w czymś mistrzowski poziom, robiąc coś dosłownie 6 minut 5 razy w tygodniu :P.

Jeean: Czy przy tworzeniu tej gry twórca inspirował się grą Diablo i Heroes of Might and Magic? System walki jest łudząco podobny.

Zapewne inspiracji było wiele, ale to już pytanie do Dryga, Torga i Tomka.

ViconiaDeV: Co było dla Ciebie największym wyzwaniem w trakcie projektowania gry?

Poprawki i dostosowywanie silnika 3D do naszych potrzeb. Najtrudniejsze jest poprawianie czyjegoś kodu.

ViconiaDeV: Najdziwniejszy/najzabawniejszy błąd który wystąpił przy programowaniu?

Przez przypadek załadował nam się komar zamiast postaci gracza, no i okazało się, że można biegać po mapie komarem.

ViconiaDeV: Czy możesz zdradzić choć jeden z potrzebnych debufów przy najtrudniejszej sekwencji aktywacji filarów? – mało kto o tym pamięta, ale kiedyś na blogu było napisane, że są jeszcze sekwencje debufów bez wskazówek na inście:)

Nie zajmuję się wymyślaniem gameplaya. Czasem mam uwagi i zawsze są wysłuchane, ale nie mogę zajmować się wszystkim. Tworzę za to narzędzia, które pozwalają innym edytować grę, dodawać questy, mobki…

ViconiaDeV: Twój ulubiony mob?

Mamut.

ViconiaDeV: Jak wygląda typowy dzień programisty w WM?

Trochę ogólnikowe pytanie. Lubię jeździć na rowerze i raczej w ten sposób się wybieram do pracy. Większość czasu programuję, czasem ustalamy, omawiamy coś z Drygiem. Jak jest hałas w biurze, to słucham muzyki, żeby się skupić. Możemy wyjść na przerwę obiadową kiedy nam pasuje. Mamy także wewnętrzną ligę “piłkarską” (gra nazywa się Sports Heads: Football) i dla rozluźnienia czasem gramy. Gra jest zabawna, a partia trwa minutę.

2

ViconiaDeV: Co chciałbyś zmienić w Taernie, gdyby to tylko od Ciebie zależało?

Moje uwagi już trochę zmieniły Taern. Dałbym możliwość zakupu flaszek ulepszeń (np. Kryształowa Flasza Większej Zręczności) za platynę, albo ułatwiłbym robienie ich.

Jeean: W jaki sposób nauczyłeś się Mamucie programować? Zaczynałeś od asemblera? Języka C+? Programowanie maszyny nie jest prostą sprawą. Zawsze podziwiałam ludzi którzy to potrafią.

Zaczynałem od Pascala i Asemblera jeszcze w technikum. Jak jednak wspominałem wcześniej, w tej branży trzeba cały czas się uczyć, bo ciągle się rozwija. Ale na pewno dużo łatwiej nauczyć się kolejnego języka, jeśli zna się już jeden, bo podstawowe zasady sa takie same.

DevV: Kto jest Twoim najlepszym kolegą z biura i dlaczego jest to Beron?

Bo nie Torg.

DevV: Jakie było Twoje pierwsze zadanie po dołączeniu do ekipy Whitemoon?

Pierwszym moim zadaniem było poprawianie prostych błędów w “starym” Taernie.

kolega112999: Jak przebiegają prace nad 3D? Już testujecie we własnym gronie? Kiedy zaprosicie testerów? No i kiedy wyjdzie Taern: Broken Ranks? Proszę o konkretny kwartał.

Jeśli zaprogramuję coś nowego, to najpierw wszystko testuję sam. Tak jest najlepiej, bo mam dostęp do wszystkich danych i mogę dokładnie sprawdzić, co się dzieje. Jeśli chodzi o testerów, to tutaj decyzja należy do Dryga. Generalnie, to dosyć często gramy w Taern: Broken Ranks. Głównie po to, by wyłapać błędy. Gra powinna się ukazać jak będzie gotowa.

ShiBBy: Dostając gotowy program, w którym trzeba zrobić poprawki (zakładamy, że jest ich sporo) – poprawiasz to w kodzie, który już dostałeś czy piszesz wszystko od nowa?

W zależności od sytuacji wybieram optymalne rozwiązanie. Czasem szybciej jest napisać jakąś klasę od nowa, ale taka sytuacja zdarza się bardzo rzadko. Zazwyczaj nanoszę poprawki 🙂

20161206_174435

ShiBBy: Herbata czy kawa?

Oba. Zwykle rano po przyjściu do pracy robię kawę i herbatę.

ShiBBy: Czy pisałeś już wcześniej jakieś gry? Jeżeli tak, to co ciekawego stworzyłeś?

Tak, pisałem. Od początku mojej kariery zawodowej piszę gry. Mój poprzedni pracodawca sprzedawał gry na rynku amerykańskim, więc przykładowe nazwy raczej niewiele by Ci powiedziały.

ShiBBy: Pracujesz w domu czy w firmie?

W firmie. Mógłbym pracować w domu, ale w biurze pracuje mi się lepiej. Wzajemnie się inspirujemy i wymieniamy informacjami, co jest bardzo dużym plusem.

ShiBBy: Czy masz swoje prywatne pomieszczenie w firmie czy siedzicie razem podzieleni na zespoły?

Na ten moment zespół pracujący nad grą siedzi w dwóch pomieszczeniach i trudno byłoby wcisnąć tu jeszcze kogoś. Musielibyśmy chyba sobie siedzieć na głowach… Ale przynajmniej moje stanowisko jest duże, więc nie mogę narzekać 🙂

Z kim chcielibyście następne Q&A? 🙂

17 thoughts on “MapEditor i Q&A z Mamutem – Obecnie pracujemy nad… cz. 113

  1. Sokolisko ;p Ten Admin jest jednym z najbardziej ogarnietych, przy czym malo mowi a tym samym malo o nim wiadomo, pozdrawiam.

  2. Takie pytanie. Jak wejdzie Taern Broken Ranks to co się stanie z obecną wersją Taernu?
    I czy jeśli Broken Ranks wejdzie na miejsce obecnej postaci to będzie można przenieść postacie na nowy Taern?

Leave a Reply

Your email address will not be published. Required fields are marked *