ielu z Was zna głównego programistę Cipsoftu jako Akananto. W czasie Test Serverów jest rozpoznawany przez wszystkich testujących. Akananto jest jednym z członków CipSoftu odpowiadającym na pytania i sprawy dotyczące znalezionych i naprawionych błędów w grze.
Często gracze pytają o programistów CipSoftu, dlatego kilku CMów zabrało Akananto przerwę na lunch, aby przeprowadzić z nim rozmowę.
CM: Akananto, możesz nam powiedzieć coś o sobie? Jak długo pracujesz dla CipSoftu i co dokładnie robisz?
Akananto: Zacząłem pracować dla CipSoftu niemal dokładnie pięć lat temu, co czyni mnie najdłużej aktualnie pracującym programistą firmy. Podczas pierwszego półtora roku programowałem nowy edytor zawartości dla zespołu, aby pomóc im w ich pracy. Po tym projekcie zająłem się klientem Tibii i do tej pory jestem wciąż odpowiedzialny za jego dalszy rozwój. Z czasem jak CipSoft stale się powiększał, została wprowadzona pozycja lidera zespołu, którą objąłem. Od tamtej pory dodatkowo mam dużo pracy organizacyjnej (mało rozrywki). Ponadto, jeśli ktoś ubiega się o stanowisko programisty, jestem jedną z dwóch osób "po drugiej stronie stołu" w trakcie rozmowy kwalifikacyjnej. Ta część pracy jest chyba najtrudniejsza, ale zarazem bardzo interesująca.
CM: Więc skoro jesteś kierownikiem zespołu, to zechcesz nam go przedstawić?
Akananto: Pewnie. W CipSofcie pracuje 12 programistów, plus Stephan, jeden z Godów, którzy również jeszcze programują. Ponadto, jedna osoba z naszego zespołu jest w trakcie pisania pracy dyplomowej oraz dodatkowo dwie są u nas na stażu. Sześciu z nas pracuje wyłącznie nad Tibią. Stephan zajmuje się serwerami, dwóch innych pracowników stroną główną oraz wewnętrznymi narzędziami dla obsługi klienta, na przykład. Kolejny pracuje ogólnie nad systemem płatności, a następna osoba nad nowym klientem Tibii we Flashu. Następnie ja jestem nadal odpowiedzialny za obecny klient gry i edytor zawartości, oczywiście poza obowiązkami kierownika zespołu.
Trzech naszych programistów pracuje nad TibiaME: jeden zajmuje się serwerem gry, kolejny klientem i ostatni stroną internetową. Edytor zawartości dla TibiaME jest aktualnie taki sam jak dla Tibii, ponieważ technologia serwerów gry jest bardzo podobna, a jak już wspomniałem jestem za niego odpowiedzialny.
Trzech innych programistów pracuje nad naszym nowym projektem Fiction Fighters.
Wreszcie, ostatni członek naszego zespołu testuje oprogramowanie - każdy klient, serwer, stronę internetową i narzędzie sprawdzające, czy wszystko działa jak należy. Po za tym testuje nowe treści.
CM: Uhm... ok, ale kto tworzy nowe funkcje? Istnieje jedna osoba zajmująca się programowaniem serweru gry?
Akananto: Niekoniecznie, wszystko zależy od tego, gdzie funkcje muszą być realizowne. Serwer gry, klient lub strona internetowa. Zazwyczaj jest to mieszanka wszystkich trzech. Weźmy nowy tryb wojenny, na przykład. Wszystkim co było potrzebne do wprowadzenia zmian w kliencie, były ikony. Większość zmian miała być dokonana na serwerze gry, a całe "deklarowanie wojny" znajduje się na stronie internetowej.
CM: Ah, dziękuję bardzo za wyjaśnienie tego. Nad czym teraz pracujecie konkretnie? Możesz nam powiedzieć?
Akananto: Cóż, obecnie mamy nadal ręce pełne roboty związanej z jesienna łatką, ale kiedy ten wywiad jest publikowany, powinniśmy już uporać się z tym. Jesienna łatka niestety miała pewne opóźnienie, ale zawarliśmy w niej naprawdę wiele nowego.
Programista serwera musi wprowadzić wiele zmian w systemie płatności, które nie są związanie z kupowaniem Premium Time, lecz np. recovery key'e i trochę nowych serwisów, z których już nie długo nasi gracze będą mogli korzystać.
Programiści zajmujący się stroną internetową zakończyli już swoją pracę związaną z jesienną łatką i nowymi funkcjami płatności dostępnymi dla każdego poprzez stronę. Ponadto, ostatnio skończyli tworzyć sklep dla przedsiębiorstw, który otworzył nowe możliwości dla oficjalnych dilerów i ich klientów.
Zarówno klient Tibii jak i edytor zawartości nie wymagają wielu poprawek, jednakże obecnie pracuję nad radykalnymi zmianami w edytorze, aby móc w przyszłym roku stworzyć nowe funkcje dla Tibii oraz TibiaME - ale ciiii, nie zdradzajmy tego!
CM: Hmm, ok - nie zdradzajmy tajemnic... jaka szkoda...
Zatem przejdźmy do następnego tematu. Wielu naszych graczy również interesuje się językami programowania i często pytają się jaki jest używany dla Tibii. Czy możesz to ujawnić, może słowami, które każdy rozumie?
Akananto: Dobrze, spróbuję... Prawie wszystkie usługi po stronie serwera są programowane w języku C++ i uruchamianie na serwerze opartym na Linuxie. Dobre wyniki to duży problem ze wszystkimi serwerami i jeśli chodzi o prędkość, to C++ jest nadal jednym z najlepszych języków programowania.
Dla naszej strony, używamy PHP obsługiwanego przez serwery Apache oparte na Linuxie.
Obecny klient gry dla Tibii jest rownież stworzony w C++ i działa zarówno na Windowsie jak i Linuxie. Eksperymentalny klient Flash jest napisany w ActionScript 3 i wykonany z Flex SDK.
CM: Powiedziałeś "eksperymentalny" klient Flash - o co z tym chodzi? Mamy jakiś postęp?
Akananto: Przede wszystkim chciałbym stwierdzić, że nic nie jest jeszcze pewne i klient Tibii w Flashu jest nadal wewnętrznym doświadczeniem CipSoftu. Dostrzegamy duże szanse i możliwości w stworzeniu klienta w oparciu o technologię Flash.
Kiedy mieliśmy taki pomysł, zrobiliśmy kilka testów, czy byłoby to możliwe z technicznego punktu widzenia i wszystkie okazały się pozytywne. Więc programista, który jest zatrudniony w pełnym wymiarze czasu pracował nad nim. Możemy już zobaczyć postępy w naszym wewnętrznym serwerze testowym. Na przykład, działa już logowanie, postacie są przypisane na prawidłowe światy, a świat sam w sobie jest już wyświetlany poprawnie: krajobraz, potwory, efekty, dymki i nawet nowe, ciekawe rzeczy, które obecne Tibia nie ma. Także system rozmowy działa już całkiem w porządku.
Jednak ruch i wzajemne oddziaływanie jest wciąż mocno ograniczone - jest wiele pracy przed nami. Możemy również natrafić na kilka niespodziewanych problemów z klawiszami skrótów i menu w grze, ale oceniamy wszystko i postaramy się znaleźć rozwiązanie dla wszystkich problemów. Jeśli się uda, będzie klient w Flashu. Jeśli nie, to nie będzie. Jesteśmy bardzo zdecydowani na stworzenie takiego właśnie klienta Tibii, w naszych głowach, to naprawdę wielki projekt, ale jest zbyt wcześnie, aby zagwarantować, że nam się powiedzie.
CM: W takim razie będziemy trzymać kciuki, żeby wszystko się udało!
Wróćmy do teraźniejszej Tibii. Planowanie łatki lub aktualizacji - jak to wszystko się odbywa, co się dzieje wtedy w zespole programistów?
Akananto: Pozwól mi to wyjaśnić na podstawie obecnego patcha. Po wprowadzeniu czarnych czaszek nowy system wojny gildii jest drugą częścią wyników szeregu wewnętrznych dyskusji CipSoftu dotyczących PvP w Tibii. Na zakończenie tych rozmów, kierownicy produktu Tibii, Guido i Craban, dali nam listę zmian i funkcji. Zwykle programiści mają kilka pytań na temat tych funkcji, więc lista ta podróżowała tam i z powrotem pomiędzy menedżerami produktu, a programistami, aż wszystkie szczegóły zostały ustalone. Po tym, programiści rozpoczęli programowanie i przesyłanie nowych funkcji oraz zmiany w naszych wewnętrznych testowych serwerach, abyśmy mogli wypróbować rzeczy, jak najszybciej. Po tak zwanej dacie "zamrożonej funkcji", żadne nowe funkcje nie mogą zostać utworzone. Tylko istniejące mogą być naprawiane. Kiedy testerzy oznajmią, że wszystko jest w porządku, zaczynają przygotowywać wszystko do aktualizacji na publicznych serwerach.
Oczywiście jeden tester nie może znaleźć wszystkich możliwych błędów, więc zazwyczaj organizowane są prywatne serwery testowe przed aktualizacją. Gdy tylko gracze pojawią się na takim serwerze, znajdą większość błędów.
CM: Więc - czy programiści grają w Tibię, aby móc kodować nowe funkcji?
Akananto: Niektórzy z nas rzeczywiście grali przez jakiś czas i aktualnie należą do tajnej gildii CipSoftu, ale obecnie ich działalność w grze została ponownie odrzucona. Może się to wydawać dziwne, ale dla nas, Tibia jest naszą pracą i kiedy wracamy do domu pod koniec dnia staramy się przebywać w pewnej odległości od miejsc pracy i pozwalamy naszym umysłom myśleć o czymś innym. I dobrze - osobiście jestem bardzo aktywny na testowych serwerach! Zabawą jest zobaczyć jak gracze korzystają z nowych funkcji, jak obchodzą się z nowymi rzeczami oraz sytuacjami. Oczywiście jest także niepewność, czy są jeszcze jakieś błędy...
CM: Brzmi to jakbyś naprawdę dobrze się bawił na testowych serwerach. Mamy jeszcze kilka innych pytań, jeśli masz jeszcze odrobinę czasu. Mają one charakter bardziej ogólny i dotyczą ważnych zagadnień wśród graczy Tibii. Na przykład - włamania na konta. Niektórzy gracze twierdzą, że klient Tibii nie jest bezpieczny. Co możesz powiedzieć jako osoba odpowiedzialna za niego?
Akananto: Klient Tibii jest tak bezpieczny (lub niebezpieczny), jak komputer na którym jest uruchomiony.
Nie ma absolutnie nic do zrobienia z klientem, kiedy na PC są już wirusy, konie trojańskie, keyloggery czy inne złośliwe programy. Prawdą jest, że niektóre informacje zawarte w kliencie Tibii mogą być bardziej ukryte, lecz złodziej będzie włamywał się trochę dłużej, ale i tak to zrobi. Faktem jest, że wszystkie informacje wymagane do gry muszą mieścić się w kliencie, a ktoś o złych intencjach, znajdzie je, bez względu w jaki sposób są ukryte.
Najlepszą radą, aby uniknąć włamania, jest granie w Tibię tylko na zaufanym komputerze, wolnym od złośliwych programów. Jak długo grasz w Tibię na "czystym" komputerze, tak długo sieciowe połączenie między klientem, a serwerem jest całkowicie bezpieczne. Włożyliśmy wiele wysiłku w szyfrowanie połączeń sieciowych i używamy technologii, które są powszechnie dostępne i okazały się być pewne, więc Twoje hasła, postacie oraz rozmowy z innymi graczami są całkowicie wolne od podsłuchu.
CM: Niektórzy gracze mówią, że gdy aktualizuje się oprogramowanie antywirusowe regularnie, zapobiega to włamaniom. Czy jest to prawdą?
Akananto: Właściwie nie. Oczywiście trzeba aktualizować oprogramowanie antywirusowe, ale to nie zabezpieczy Cię przed keyloggerami w zewnętrznych programach do Tibii, na przykład. Oprogramowanie antywirusowe zabezpiecza komputer przed wirusami dobrze znane i powszechne. Keylogger w zewnętrznym liczniku punktów doświadczenia, na przykład, albo narzędzie do oszukiwania nie zawiera znanego i powszechnego wirusa, tylko takiego, który został stworzony tylko w celu kradzieży ich konta. Oprogramowanie antywirusowe nie pomógłby w takim przypadku. Prawdopodobnie nie zauważyłoby nawet tego.
CM: Dzięki za wyjaśnienie tego, Akananto.
Innym tematem jest, że gracze czasami winią programistów za tzw. "lagi", wyrzucanie z gry oraz zacinanie się. Co możesz powiedzieć o tym oskarżeniu?
Akananto: Zwykle są trzy rodzaje "lagów":
Pierwszy, to lag klienta, gdy klient potrzebuje zbyt wiele czasu na przetworzenie informacji i licznik klatek drastycznie spada. W Tibii jest to możliwe, gdy pierwszy raz wejdziesz do pokoju, w którym znajduje się kilkaset różnych potworów. Następnie klient musi załadować wszystkie grafiki stworzeń do karty graficznej, a na to po prostu potrzeba czasu. Drugim typem jest lag serwera. Dzieje się tak, gdy serwer wymaga zbyt wiele czasu na przetworzenie informacji. Pamiętam zdarzenie, kiedy gracz poprzenosił torbę z około 80.000 przedmiotami, z depozytu do domku gildii po automatycznym czyszczeniu domów. Serwer był opóźniony o kilka sekund za każdym razem, gdy torba została przesunięta. Ten problem został już naprawiony, tak więc nie zdarzy się więcej. Jeśli zdarzy się kiedyś podobna sytuacja, znajdziemy sposób na rozwiązanie jej. Istnieje dokument tekstowy utworzony przez serwer gry, gdzie zapisywane są tego typu sytuacje, więc dowiadujemy się szybko o istnieniu problemu i jesteśmy w stanie go naprawić.
Ostatnią i niestety najbardziej powszechną formą opóźnienia jest opóźnienie sieci. Programiści nie mają wpływu na ten temat. Pozwolę sobie wyjaśnić: to się zdarza, kiedy ruch w sieci między klientem, a serwerem gry trwa zbyt długo. Wszystkie małe pakiety sieciowe muszą przebyć bardzo długą drogę między komputerem, a naszym serwerem gry. Muszą się przemieszczać po całym świecie, przez kilka sieci w rzeczywistości, przez wielu dostawców. I wszędzie na tej drodze nie może być opóźnień. Gracze mają kontrolę nad bardzo krótką częścią tej drogi, od swojego komputera do dostawcy internetowego. CipSoft także ma kontrolę nad bardzo krótką częścią tego połączenia, z serwera gry do usługodawcy internetowego.
CM: Dobrze. Więc mówisz, że masz wpływ na opóźnienia tylko w niektórych sytuacjach i niestety programiści nic nie mogą zrobić przeciwko 'lagom'.
Cóż, nie mamy już żadnych dalszych pytań, więc pozwolimy Ci odejść. Dziękujemy za poświęcenie nam tak dużo czasu podczas przerwy obiadowej!
Akananto: Nie ma problemu, przyjemność po mojej stronie!
Mamy nadzieję, że podobał się Wam wywiad z Akananto i że znaleźliście odpowiedzi na swoje pytania dotyczące programowania w Tibii.
Ekipa tibia.org.pl
Zakładki