Blondynka
Data dołączenia: 02 05 2007
Posty: 2,838
|
Rozmowa z głównym programistą CipSoftu.
Dzisiejszego dnia został opublikowany dość długi, aczkolwiek ciekawy wywiad z głównym programistą CipSoftu. Zapraszam do lektury!
Cytuj:
Wielu z Was zna głównego programistę CipSoftu poprzez jego postać - Akananto. Kiedy przychodzi czas testów jest on znany przez niemalże wszystkich testerów. Jest jednym z członków grupy odpowiadającej na pytania oraz informowania graczy na temat znalezionych i naprawionych błędów w grze. Ponieważ gracze często zadają na jego temat pytania, CM'i ukradli mu przerwę na obiad by mieć trochę czasu na rozmowę.
CM: Akananto, możesz powiedzieć nam coś o sobie? Jak długo pracujesz w CipSofcie i co dokładnie robisz?
Akananto: Rozpocząłem pracę w CipSofcie niemal dokładnie pięć lat temu, co czyni mnie 'najstarszego' programistę pracującego dla tej firmy. Podczas pierwszego i pół roku zaprogramowałem nowy edytor zawartości dla zespołu, by pomóc im w ich pracy. Po tym projekcie zająłem się klientem Tibii i do tej pory jestem odpowiedzialny za jego dalszy rozwój. Ponieważ CipSoft stale rósł została wprowadzona pozycja lidera zespołu, którą objąłem. Tak więc od tego czasu mam całkiem sporo (nie tak zabawnej) także organizacyjnej pracy. 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 prawdopodobnie najtrudniejsza, lecz jest także bardzo interesująca.
CM: Tak więc ponieważ jesteś liderem to czy mógłbyś przedstawić swój zespół?
Akananto: Oczywiście. Zespół składa się z 12 programistów oraz Stephana, jednego z tibijskich Bogów, który nadal programuje. Ponadto, aktualnie jedna osoba z naszego zespołu jest w trakcie pisania pracy dyplomowej, zaś dwie kolejne są u nas na stażu. Szóstka z nas pracuje wyłącznie dla Tibii. Stephan zajmuje się serwerami gry, dwaj pozostali są odpowiedzialni za stronę oraz wewnętrzne narzędzia do obsługi klienta. Kolejny zajmuje się systemem płatności w ogóle, następny pracuje nad nowym klientem Flash Tibii. Jestem także i ja, nadal odpowiedzialny za obecnego klienta gry i edytor zawartości, oczywiście obok obowiązków kierownika zespołu.
Trzech programistów zajmuje się TibiaMe: jeden serwerem gry, drugi klientem, ostatni zaś stroną internetową. Edytor zawartości TibiaMe jest taki sam, jak w przypadku Tibii, ponieważ technologia obu projektów jest bardzo podobno, a jak już wspomniałem jestem za niego odpowiedzialny. Trzech innych programistów pracuje nad nowym projektem Fiction Fighters. Pozostały członek zespołu pracuje jako nasz tester oprogramowania - sprawdza każdego klienta, serwer, każdą stronę internetową oraz wszelkie narzędzia, by sprawdzić, czy wszystko działa jak należy. Do jego zajęć należy także testowanie nowych treści.
CM: Hmm… Ok., lecz kto tworzy w takim razie nowe funkcje do gry? Ta jedna osoba zajmująca się serwem gry?
Akananto: Niekoniecznie, zależy to od tego, gdzie dane funkcje muszą być umieszczone: na serwerze gry, w kliencie czy na stronie. Zazwyczaj nowe funkcje są umieszczone na każdej z tych trzech platform. Weźmy nowy system wojen. Wszystko, co było potrzebne do wprowadzenia w kliencie, to ikony. Większość zmian miała być dokonana na serwerze gry, zaś całe 'deklarowanie wojny'' jest umieszczone na stronie internetowej.
Cm: Ach, dziękuję bardzo za wyjaśnienia. Nad czym pracujecie obecnie? Możesz nam to zdradzić?
Akananto: Cóż, obecnie nadal zajmujemy się jesienną łatką, lecz w momencie, kiedy ten wywiad zostanie opublikowane wszystko powinno już być ukończone. Tegoroczny jesienny patch miał niestety pewne opóźnienia, lecz zawarliśmy w nim naprawdę wiele zmian.
Osoba zajmująca się płatnościami musiał stworzyć parę dużych zmian podczas przetwarzania płatności, które nie są związane z zakupem czasu premium, przykładowo listy recovery oraz parę nowych usług, z których nasi gracze będą mogli niedługo korzystać.
Programiści strony internetowej zakończyli swe prace związane z jesienna łatką i nowymi funkcjami płatności dostępnymi dla każdego na stronie internetowej. Ponadto, niedawno zakończyli sklep dla przedsiębiorstw, który otwiera nowe możliwości dla oficjalnych dilerów i ich klientów .
Zarówno klient Tibii jak i zawartość edytora nie wymaga wielu zmian w związku z jesienną łatką, jednak obecnie pracuję nad radykalnymi zmianami w edytorze, by móc w stworzyć w przyszłym roku nowe funkcje dla Tibii oraz TibiaMe - lecz nie zdradzajmy tajemnic!
Cm: Hmm, ok. - nie zdradzajmy więc tajemnic… Jaka szkoda. Przejdźmy więc do następnego tematu. Wielu naszych graczy także interesuje się językami programowania i często pytają się, które z nich są wykorzystywane w Tibii. Czy możesz to ujawnić w słowach, które każdy zrozumie?
Akananto: Ok., spróbuję. Prawie wszystkie usługi po stronie serwera są programowane w języku C i oraz są uruchamiane na serwerze opartym na Linuxie. Dobre wyniki to duży problem ze wszystkimi serwerami, i jeśli chodzi o prędkość, C jest nadal jednym z najlepszych języków programowania. Na naszych stronach internetowych używamy PHP obsługiwanego przez serwery Apache działające na Linuxie. Aktualny klient Tibii został także napisany w C oraz działa zarówno na Windowsie, jak i Linuxie. Eksperymentalny klient Flash jest pisany w ActionScript 3 oraz stworzony z Flex SDK.
CM: Powiedziałeś 'eksperymentalny' klient Flash - co to oznacza? Czy mamy jakikolwiek postęp?
Anananto: Przede wszystkim chciałbym stwierdzić, że nic nie jest pewne i klient Flash jest nadal wewnętrznym doświadczeniem w CipSofcie. Dostrzegamy duże szanse i możliwości w oparciu klienta o technologię Flash.
Kiedy powstał taki pomysł zaczęliśmy kilka testów, czy byłoby to możliwe z technicznego punktu widzenia i wszystkie okazały się pozytywne. Więc zajął się tym programista, który jest zatrudniony w pełnym wymiarze godzin. Możemy już zobaczyć postępy w naszym wewnętrznym serwerze testowym. Na przykład, działa już logowanie, postacie są przypisane do prawidłowych światów, zaś sam świat w sam sobie jest wyświetlany poprawnie: krajobrazy, potwory, efekty, dialogi oraz nawet nowe, ciekawe rzeczy, których obecnie w Tibii nie ma. Także system rozmów działa już całkiem porządnie.
Jednak ruch oraz wzajemne interakcje są nadal wciąż ograniczone - jest więc jeszcze wiele pracy przed nami. Trafiliśmy także na kilka niespodziewanych trudności ze skrótami oraz menu w grze, lecz postaramy się znaleźć rozwiązanie wszystkich problemów. Jeśli nam się uda to będzie klient Flash. Jeśli zaś nie, to go nie będzie. Jesteśmy bardzo zaangażowani, by stworzyć działający klient Flash, w naszych głowach jest wiele naprawdę genialnych projektów, lecz jest zbyt wcześnie by gwarantować, że nam się to uda.
CM:- będziemy więc trzymać kciuki, by wszystko się ułożyło! Wróćmy jednak do obecnej Tibii. Planowanie update lub łatki - jak to wszystko wygląda, co dzieje się wtedy w waszym zespole programistów?
Akananto: Pozwól mi to wyjaśnić na podstawie obecnego patcha. Po wprowadzeniu czarnej czaszki nowy system wojen gildii jest drugim efektem szeregu wewnętrznych dyskusji CipSoftu dotyczących PvP w Tibii. Na zakończenie tych rozmów, kierownicy produkcji Tibii: Guido i Craban dali nam listę zmian i funkcji. Jak zwykle programiści mieli kilka pytań na ich temat, więc jest relacja 'tam i z powrotem' pomiędzy twórcami a programistami do czasu, aż wszystkie szczegóły zostaną ustalone. Po tym programiści rozpoczynają programowanie i dodają nowe funkcje i zmiany do naszego wewnętrznego serwera testowego, byśmy mogli wypróbować je jak najszybciej. Po tak zwanej dacie 'zamrożenia funkcji' żadne nowe funkcje nie mogą zostać utworzone. Istniejące mogą zostać jedynie naprawione. Po tym tester da swoje 'ok.' na temat nowych funkcji menadżerom produktu, by oni zaczęli wszystko przygotowywać do aktualizacji na publicznym serwerze.
Oczywiście, jeden tester może nie znaleźć wszystkich możliwych błędów, dlatego zwykle są średnio-publiczne testowe serwery przed aktualizacją. W momencie, gdy gracze pojawią się na testowym serwerze zwykle znajdują wszystkie błędy i pomyłki.
CM: Czy programiści grają w Tibie, by móc dokładnie poznać nowe funkcje?
Akananto: Niektórzy z nas rzeczywiście grali i dołączyli do sekretnej gildii CipSoftu, lecz obecnie ich działalność w grze została ponownie zawieszona. Może się to wydawać dziwne, lecz dla nas Tibia jest pracą i po powrocie do domu pod koniec dnia staramy się być w pewnej odległości od pracy i staramy się myśleć o innych rzeczach. Lecz osobiście jestem bardzo aktywny na serwerach podczas testów! Dobrą zabawą jest obserwowanie graczy, co robią z nowymi funkcjami, jak obchodzą się z nowymi rzeczami bądź sytuacjami. Oczywiście jest także pewna 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 trochę czasu. Mają one charakter bardziej ogólny i dotyczą ważnych zagadnień wśród graczy Tibii. Przykładowo - hacking. Niektórzy gracze twierdzą, że klient Tibii nie jest bezpieczny. Co możesz powiedzieć jako osoba odpowiedzialna za niego odpowiedzialna?
Akananto: Klient Tibii jest tak bezpieczny (lub niebezpieczny) jak komputer, na którym jest uruchomiony.
Naprawdę klient Tibii nic nie może zrobić, gdy na komputerze znajdują się wirusy, konie trojańskie, keyloggery czy oszukujące oprogramowanie na komputerze. Prawdą jest, że niektóre informacje zawarte w kliencie mogą być trochę bardziej ukryte, lecz sprawiłoby to, że niektórzy poszukiwaliby ich odrobinę dłużej, lecz i tak by je znaleźli. Faktem jest, że wszystkie informacje wymagane do gry muszą znajdować się w kliencie, a ktoś o złych intencjach zawsze je znajdzie, niezależnie jak głęboko są one ukryte.
Najlepszą radą, jaką mogę dać w celu uniknięcia włamania, jest granie w Tibię tylko na komputerze, do którego masz pełne zaufanie, który jest całkowicie wolny od złych programów. Jak długo grasz w Tibię na czystym komputerze tak długo połączenie pomię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ą powrzechnie dostępne i okazały się być pewne, więc Twoje hasła, postacie oraz rozmowy z innymi są całkowicie wolne od podsłuchu.
CM: Niektórzy gracze twierdzą, że regularna aktualizacja oprogramowania antywirusowego jest całkowitym zabezpieczeniem przed włamaniami. Czy to prawda?
Akananto: Właściwie nie. Oczywiście, trzeba aktualizować oprogramowanie antywirusowe, ale to nie pomoże przed keyloggerami zawartymi przykładowo w zewnętrznych programach do Tibii. Oprogramowanie antywirusowe zabezpiecza komputer przed wirusami dobrze znanymi i powszechnymi. Keylogger w zewnętrznym liczniku punktów doświadczenia, albo narzędzie do oszukiwania nie zawiera znanego i powszechnego wirusa - został on stworzony tylko dla tibijskich graczy w celu kradzieży ich kont. Oprogramowanie antywirusowe nie pomogłoby w takim przypadku. Prawdopodobnie nie zauważyłoby nawet problemu.
CM: Dziękuję za wyjaśnienie tego Akananto. Innym tematem winienie przez tibijskich graczy programistów za lagi, kicki i freezy. Co możesz powiedzieć o tym oskarżeniu?
Akananto: Istnieją zwykle trzy różne rodzaje 'lagów'. Są lagi klienta, kiedy klient potrzebuje zbyt wiele czasu na przetworzenie informacji i licznik klatek drastycznie spada. W Tibii jest to możliwe, gdy wejdziesz do pokoju, w którym znajduje się kilkaset różnych potworów po raz pierwszy. Następnie klient musi załadować wszystkie grafiki stworzeń do karty graficznej, a na to po prostu potrzeba czasu.
Istnieją także lagi serwera Dzieje się tak, gdy serwer wymaga zbyt wiele czasu na przetworzenie informacji. Pamiętam zdarzenie, kiedy ktoś popchnął worek ze wszystkimi przedmiotami z domu gildii, 80.000 pozycjami, z depozytu do domu 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 kiedykolwiek pojawi się sytuacja taka jak ta, to znajdziemy sposób, by jej zaradzić. Istnieje plik dziennika utworzony przez serwer gry, gdzie zapisywane są tego typu sytuacje, więc dowiadujemy się szybko o istnieniu tego typu problemów i jesteśmy w stanie im zaradzić.
Ostatnią i niestety najbardziej powszechną formą opóźnień są opóźnienia sieci. Programiści nie mają żadnego wpływu na to. Pozwolę sobie wyjaśnić: to zdarza się, kiedy ruch w sieci pomiędzy klientem a serwerem gry trwa zbyt długo. Wszystkie małe pakiety sieciowe musza przebyć bardzo długą drogę pomiędzy naszym komputerem a serwerem gry. Muszą się przemieszczać po całym świecie, przez kilka sieci w rzeczywistości, a wielu dostawców. I wszędzie na tej drodze mogą być opóźnienia. Gracze mają kontrolę nad bardzo krótką część tej drogi od swego komputera do usługodawcy internetowego. Cipsoft także ma kontrolę tylko na bardzo krótkim fragmencie tej podróży - z serwera gry do usługodawcy internetowego.
CM: Ok., Mówiłeś więc, że tylko w niektórych sytuacjach masz wpływ na opóźnienia i niestety, programiści nic nie mogą zrobić przeciwko lagom. Dziękuję za poświęcenie nam czasu oraz przerwy obiadowej!
Akananto: Nie ma problemu.
CipSoft ma nadzieję, że spodobał Ci się ten mały wywiad z Akananto i że dostarczył odpowiedzi na nurtujące Cię pytania.
Miłej zabawy w Tibii wraz z funkcjami, które programiści stworzyli dla Ciebie!
|
__________________
"Kiedy znalazłem się na dnie, usłyszałem pukanie od spodu."
S. J. Lec
Ostatnio edytowany przez Slythia - 06-11-2009 o 21:27.
|