Drodzy Tibijczycy,
my, zespół programistów Tibii, z przyjemnością dzielimy się z wami fragmentami naszej własnej podróży związanej z implementacją mnicha w Tibii.
Wiele miesięcy temu, pewnego pamiętnego dnia, nasz zespół ds. zarządzania produktem zrzucił bombę - przygotowuje plany dotyczące piątego powołania!
Z jednej strony projekt ten wywołał natychmiastową euforię wśród członków zespołu; z drugiej strony pojawiły się wątpliwości co do jego wykonalności, biorąc pod uwagę rozległą bazę kodu, nad którą codziennie pracujemy, oraz ilość starszego kodu. Pierwszym zadaniem dla nas było więc zbadanie, czy dodanie piątego zawodu w rozsądnym czasie byłoby w ogóle realne. W związku z tym musieliśmy przejrzeć każdą pojedynczą linię kodu związaną z powołaniami, obejmującą wszystko, od postaci niezależnych i zadań po warunki korzystania z mikstur.
Już samo to było niezwykle obszernym i złożonym zadaniem, ale perspektywa stworzenia zupełnie nowej gry dla Tibijczyków bardzo motywowała nas do pokonania wszelkich przeszkód.
Po kilku dniach spędzonych na sprawdzaniu i analizowaniu, w końcu byliśmy w stanie przedstawić listę potrzebnych poprawek i kosztów ich wdrożenia.
Reszta jest historią; zaangażowaliśmy się w temat i wszyscy byli nim podekscytowani i podekscytowani. Było oczywiste, że ten projekt będzie ogromny, a kto nie kocha dużych projektów pełnych nowych funkcji?

Zmieniliśmy i dodaliśmy mnóstwo kodu...
Aby dać ci kilka liczb dla lepszego wyobrażenia: W serwerze gry i naszych narzędziach musieliśmy zmienić 1004 pliki z 99044 zmienionymi liniami kodu. W naszym kliencie musieliśmy zmienić 613 plików z 26073 zmienionymi liniami kodu. Wreszcie, w przypadku strony internetowej, musieliśmy dostosować 112 plików z 4814 zmienionymi liniami kodu. Ogólnie rzecz biorąc, ponad 130 000 linii zmienionego kodu, aby wprowadzić mnicha do gry.
Oczywiście konieczne było nie tylko dostosowanie już istniejącego kodu, ale także wdrożenie wszystkich nowych funkcji związanych z mnichem, a także samego mnicha.
Na przykład dodanie nowych zaklęć dla mnicha: Aby zaimplementować nowe zaklęcie, otrzymujemy jego dokładny opis od zespołu ds. treści lub kierownictwa produktu. Wszystkie potrzebne dane, takie jak koszt many, czas odnowienia i oczywiście szczegółowy opis działania zaklęcia. Niektóre z zaklęć mnicha mają również zupełnie nową mechanikę, jak zaklęcia cnoty. W przypadku tych nowych mechanik dużo dyskutowaliśmy z wyprzedzeniem, jak wdrożyć je w najlepszy i najbardziej efektywny sposób:
Chcieliśmy, aby kod był solidny, łatwy do zrozumienia i łatwy do modyfikacji. Ten proces znajdowania idealnej ścieżki do wdrożenia funkcji nie jest łatwy, ale jest też jednym z najfajniejszych zadań dla programisty, ponieważ pozwala na kreatywność i odkrywanie nowych metod.
Kiedy rozwijamy funkcje, duch zespołu w CipSoft naprawdę błyszczy, a projekt mnicha nie był inny. Gdy zbliżały się terminy, jeden z naszych cenionych kolegów, pierwotnie zaplanowany do innego projektu, wkroczył, aby pomóc sfinalizować pozostałe funkcje na czas. Poświęcenie i praca zespołowa to sekretny sos do pracy nie tylko z sukcesem, ale także z uśmiechem!
Wróćmy jednak do twardych faktów: Jak można sobie wyobrazić, nie każda zmiana była łatwa do wprowadzenia. Dodanie harmonii i spokojnego stanu do interfejsu użytkownika było bardzo specjalnym zadaniem, zwłaszcza w odniesieniu do naszego HUD-u stworzeń. Najpierw musieliśmy zrozumieć, w jaki sposób istniejące łuki były rysowane w starszym kodzie, który nie był udokumentowany. Kod zawierał obliczenia promienia, kąta początkowego i końcowego do rysowania tych łuków i był napisany bardzo ogólnie, aby łuk był całkowicie skalowalny. Musieliśmy dodać nowe komponenty interfejsu użytkownika w ten sam sposób i użyliśmy krzywych Béziera dla jasnoszarego obszaru wokół pogodnego koła. Następnie dodaliśmy dokumentację. Ogólnie rzecz biorąc, było to jedno z naszych ulubionych zadań. Szczególnie pamiętamy moment, w którym zostało ukończone i użyliśmy "Swift Jab", aby zbudować harmonię. To było niesamowite dla całego zespołu być świadkiem harmonii w łuku i zobaczyć, jak niektóre linie kodu w końcu ożywają. O to właśnie chodzi w programowaniu.
Mamy nadzieję, że dało ci to mały wgląd w nasz zespół programistów i nasze zadania i wierzymy, że spodoba ci się mnich i wszystkie jego nowe funkcje. Możemy powiedzieć, że włożyliśmy serce i duszę w ten projekt i mamy nadzieję, że będzie to widoczne w rozgrywce.
01001000 01100001 01110000 01110000 01111001 00100000 01100100 01100101 01100011 01101111 01100100 01101001 01101110 01100111!
Programiści Tibii
Nowy artykuł z serii Vocation Insight 4/6 |