Entrar | Sem registro? Registrar!
Chatting with Akananto

Batendo papo com o nosso principal programador

Escrito por CipSoft (traduzido por Lady Lih) on Friday 06 November 2009
Muitos de vocês já conhecem o nosso principal programador pelo nome do seu personagem Akananto. Quando chega a hora de testar, ele é muito conhecido por todos os que testam no test server. Ele é um dos membros da CipSoft que responde perguntas e responde vocês sobre o status de bugs encontrados e já consertados.
Freqüentemente, jogadores fazem perguntas sobre os programadores da CipSoft, então nós, os CMs, roubamos a pausa para o almoço do Akananto para bater um pequeno papo com ele.

Lunch with Akananto


CMs: Akananto, você pode nos falar um pouco sobre você? Há quanto tempo você trabalha para a CipSoft, e o que você faz?
Akananto: Eu comecei a trabalhar para a CipSoft há quase cinco anos atrás, o que me torna praticamente o programador mais antigo trabalhando para a CipSoft. Durante os primeiros um ano e meio, eu programei um novo editor de conteúdo para o time de conteúdo, para ajudá-los em seu trabalho. Após este projeto foi-me confiado o cliente do Tibia e até hoje eu ainda sou o responsável pelo seu desenvolvimento. Já que a CipSoft cresceu muito, posições de líder de times foram introduzidas, e eu me tornei o líder do time de programadores. À partir de então, eu tive bastante trabalho organizacional, que não é muito divertido, além das minhas tarefas como programador. Além disso, se alguém se candidata para uma posição de programador,eu sou uma das duas pessoas “do outro lado da mesa” na entrevista de emprego. Esta parte do trabalho é provavelmente a mais difícil, mas também é muito interessante.

CMs: Então, já que você é o líder do time, poderia apresentar seu time?
Akananto: Claro. Nós temos 12 programadores aqui na CipSoft, além do Stephan, um dos Gods, que também ainda faz algum trabalho de programação. Além disso, nós atualmente temos uma pessoa em nosso time escrevendo uma tese de mestrado e mais dois estagiários. Seis de nós trabalham apenas no Tibia. Stephan está trabalhando no servidor do jogo, outros dois estão trabalhando no website do Tibia e em ferramentas internas para o customer support, por exemplo. Outro trabalha no servidor de pagamento e funções para pagamento em geral e um outro está trabalhando no novo cliente do Tibia em Flash. E também tem eu mesmo, ainda responsável pelo atual cliente do jogo e o editor de conteúdo, é claro além das funções como líder do time.
Três dos nossos programadores trabalham no TibiaME: um no servidor do jogo, outro nos clientes do jogo e o último no website. O editor de conteúdo do TibiaME é na verdade o mesmo do Tibia, já que a tecnologia do servidor do jogo de ambos os projetos é bastante parecida e, como eu falei anteriormente, eu sou responsável por ele.
Três outros programadores trabalham trabalham no nosso novo projeto Fiction Fighters.
Finalmente, o último membro do time é o nosso testador de software que checa todos os clientes, servidores, websites e ferramentas para verificar se tudo está funcionando como deveria. Além disso, ele está testando novo conteúdo.

CMs: Hum... ok, mas então quem está programando os novos recursos? É quem está programando o servidor do jogo?
Akananto: Não necessariamente, depende de onde os recursos precisam ser implementados. Servidor do jogo, cliente do jogo ou website. Normalmente é uma mistura de todos os três. Vamos pegar o novo sistema de guerras, por exemplo. Tudo que precisava ser modificado no cliente foram os ícones. A maior parte das mudanças teve que ser feita no servidor do jogo, e toda a “função de declaração de guerra” está situada no website.

CMs: Ah, muito obrigado por explicar isto. E em que vocês todos estão trabalhando especificamente? Você pode nos dizer?
Akananto: Bem, no momento nós ainda estamos bastante ocupados com o patch de outono, mas quando esta entrevista for publicada, nos já deveremos ter terminado. O patch de outono infelizmente está um pouco atrasado já que estão sendo implementados muitos novos recursos. O programador do servidor de pagamentos teve que fazer grandes mudanças na forma em que os pagamentos são processados, que não é conexa a comprar tempo de Premium, por exemplo, recovery keys e outros serviços novos que nossos jogadores em breve poderão utilizar.
Os programadores do website estão terminando seus trabalhos para fazer a funcionalidade dos recursos do patch de outono e disponibilizar novos recursos de pagamento para todos através do website. Além disso, eles recentemente terminaram a loja de negócios que abriu novas oportunidades para revendedores oficiais e seus clientes.
Tanto o cliente do Tibia quanto o editor de conteúdo não precisaram de muitas mudanças para o patch de outono, porém estou trabalhando no momento em algumas mudanças radicais no editor, para tornar possíveis os recursos que virão no próximo ano para o Tibia e para o TibiaME, mas shhhh, sem spoils!

CMs: Hum, ok – sem spoils então... que pena...
Então vamos para o próximo tópico. Muitos de nossos jogadores estão também interessados em linguagens de programação e eles freqüentemente perguntam que linguagens de programação são utilizadas no Tibia. Você pode revelar isto, talvez em palavras que todos possam entender?
Akananto: Ok, vou tentar... Quase todos os serviços que acompanham o servidor são programados em C++ e eles são rodados em servidores baseados no Linux. Um bom desempenho é uma grande questão para todos os nossos servidores e em relação à velocidade, C++ ainda é um dos melhores.
Para os nossos websites, nós usamos PHP que são servidos pelo Apache webservers e rodam em sistemas baseados no Linux.
O atual cliente do Tibia é feito com C++ também e roda tanto no Windows quanto no Linux. O cliente em Flash experimental é escrito em ActionScript3 e feito com Flex SDK.

CMs: Você disse cliente em Flash “experimental” – como anda o experimento? Estamos fazendo algum progresso?
Akananto: Primeiramente, eu quero dizer que nada é definitivo ainda e que o cliente do Tibia em Flash ainda é um experimento interno na CipSoft. Nós vemos grandes chances e possibilidades de fornecer um cliente de Tibia baseado na tecnologia de Flash.
Quando nós tivemos essa idéia, começamos vários testes para verificarmos se seria possível, de um ponto de vista técnico, e tudo indica que sim. Então um programador foi contratado e agora está trabalhando nisto em tempo integral. Nós já podemos ver algum progresso em nosso test server interno. Por exemplo, o login já funciona, os personagens estão colocados nos mundos do jogo corretos, e o mundo em si mesmo já está sendo exibido de forma correta: paisagem, criaturas, efeitos, balões de fala e até mesmo algumas coisas novas bem legais que o Tibia atual não tem. Também, o sistema de chat já funciona muito bem.
Porém, movimento e interação ainda são muito limitados – ainda há muito trabalho pela frente. Nós também encontramos alguns problemas inesperados com as hotkeys e menus do jogo, mas estamos avaliando tudo e tentaremos encontrar soluções para todos os problemas. Se formos bem sucedidos, haverá um cliente em Flash. Se não, não haverá. Nós estamos nos dedicando muito para criar o cliente em Flash do Tibia, em nossas mentes é realmente um ótimo projeto, mas ainda é muito cedo para garantir que nós realmente iremos conseguir.

CMs: Então nós estaremos com nossos dedos cruzados para que tudo dê certo!
Vamos voltar para o Tibia atual. O planejamento para um patch ou um update – como isso tudo acontece, o que acontece no seu time de programadores para um update?
Akananto: Deixe-me tentar explicar da melhor forma possível com o patch atual. Após a introdução das caveiras pretas, o novo sistema de guerras é a segunda parte dos resultados de uma série de discussões internas na CipSoft em relação ao PvP no Tibia. No final destas discussões, os gerentes de produto do Tibia, Guido e Craban, nos deram uma lista de mudanças e recursos. Normalmente os programadores tem algumas pertuntas à respeito desses recursos, então há um vai e vem entre os gerentes de produto e os programadores até que todos os detalhes sejam ajustados. Depois disto, os programadores começam a programar e fazer o upload de novos recursos e mudanças para os nossos test servers internos para que possamos testar as coisas o antes possível. Após a data do chamado “congelamento de recursos”, nenhum novo recurso deve ser criado. Apenas os já existentes são permitidos serem consertados. Uma vez que os testers dão o seu “ok” em relação aos novos recursos para os gerenciadores de produto, eles começam a preparar tudo para o update nos servidores públicos.
É claro que um tester não pode encontrar todos os bugs possíveis, então normalmente há test servers semi-públicos antes de um update. Tão logo os jogadores encherem o test server, eles acharão a maioria das coisas que não funcionam existentes.

CMs: Então, os programadores jogam Tibia para poderem codificar os novos recursos?
Akananto: Alguns de nós jogaram por bastante tempo e entraram na guilda secreta da CipSoft, mas no momento suas atividades no jogo diminuíram novamente. Por mais estranho que possa parecer, para nós, Tibia é o nosso trabalho e quando nós chegamos em casa no fim do dia, nós gostamos de ter alguma distância do trabalho e deixar nossa mente pensar em outras coisas. E bem, eu sou pessoalmente muito ativo nos test servers durante o tempo de testes! É divertido ver o que os jogadores fazem com os novos recursos, como eles tentam lidar com certas coisas ou situações. E é claro que ainda há algum suspense para descobrir se ainda há algum bug.

CMs: Parece que você realmente gosta de particiar dos test servers!
Nós ainda temos algumas perguntas para fazermos se você ainda tiver algum tempo, elas são mais gerais e dizem respeito a tópicos importantes entre os jogadores de Tibia. Por exemplo, hackers. Alguns jogadores alegam que o cliente do Tibia não é seguro. O que você pode nos dizer como sendo a pessoa responsável pelo cliente do Tibia?
Akananto: O cliente do Tibia é tão seguro, ou inseguro, quanto o computador no qual está sendo rodado.
Não há absolutamente nada que o cliente do Tibia possa fazer quando já existem vírus, trojans, keyloggers ou programas de trapaça em um computador. É certo dizer que algumas informações no cliente do Tibia poderiam ser escondidas um pouco mais, mas isto apenas faria com que os caras maus procurassem um pouco mais, eles definitivamente as encontrariam de qualquer forma. O fato é que toda a informação necessária para jogar o jogo deve estar no cliente, e alguém com más intenções irá encontrá-la, não importa o quão escondida esteja.
O melhor conselho para evitar ser hackeado é jogar Tibia apenas em um computador que você tenha total confiança. Um computador que esteja livre de qualquer programa maléfico. Contanto que você jogue tíbia de um computador “limpo”, a conexão de rede entre o cliente e o servidor é completamente segura. Nós colocamos muito esforço em criptografar a conexão rede e usamos uma tecnologia que é disponível publicamente e comprovadamente completamente segura, então a sua senha, seu personagem e suas conversas com os outros estão completamente a salvo de interceptação.

CMs: Alguns jogadores dizem que se você fizer o update do seu software de antivírus regularmente, você não será hackeado. Isto está correto?
Akananto: Na verdade, não. É claro que você precisa fazer o update do seu software de antivírus, mas isto não irá te ajudar contra keyloggers em programas externos para o Tibia, por exemplo. Softwares de antivírus protegem o seu computador contra vírus conhecidos e muito dissipados. Um keylogger em um contador de XP externo, por exemplo, ou uma ferramenta de trapaça não são vírus conhecidos e dissipados, foram criados apenas para outros jogadores de Tibia, com o propósito de roubar as informações de suas contas. Um software de antivírus não o ajudaria em tais casos. Muito provavelmente não iria nem perceber.

CMs: Obrigado por clarificar isto, Akananto. Esta é uma concepção errônea muito comum.
Outro tópico é que os jogadores de Tibia algumas vezes culpam os programadores pelos lags, kicks e freezes. O que você pode nos dizer sobre esta acusação?
Akananto: Há na verdade três diferentes tipos de “lags”:
Há o lag do cliente, quando o cliente precisa de muito tempo para processar a informação e a frame rate cai drasticamente. No Tibia isto pode ocorrer se você entra em uma sala com algumas centenas de criaturas dentro dela pela primeira vez. O cliente então precisa carregar os gráficos de todas as criaturas para o cartão de gráficos, e isto simplesmente demora algum tempo.
Depois há o lag do servidor. Isto ocorre quando o servidor do jogo precisa de muito tempo para processar a informação. Eu me lembro de um incidente, quando alguém empurrava uma bag com todo o interior de sua guild hall de aproximadamente 80.000 itens do depot de volta para sua guild hall após uma limpeza de casas automática. O server lagou por alguns segundos para cada vez que a bag era empurrada. Nós já consertamos este problema, então isto não ocorre mais. Se alguma vez ocorrer alguma situação parecida com esta, nós encontraremos uma forma de resolvê-la também. Há um log file criado pelo servidor do jogo especialmente para o lag que acompanha o servidor onde todos os incidentes deste tipo são gravados, então nós iremos notar rapidamente se há algum lag que poderia ser evitado.
A última e infelizmente mais comum forma de lag é a lag na rede. Os programadores não têm nenhuma influência nisto. Deixe-me explicar: Isto acontece quando o tráfego na rede entre o cliente do jogo e o servidor do jogo demora demais. Todos os pequenos pacotes da rede têm que viajar um caminho muito longo entre o seu computador e nosso servidor do jogo. Eles têm que dar uma volta no mundo, através de algumas redes na verdade, e alguns provedores. E em qualquer lugar neste caminho pode haver atrasos. Os jogadores têm controle sobre uma parte bem curta da conexão, exatamente de seus computadores até os seus provedores de serviço de internet. E a CipSoft também tem controle sobre uma parte bem pequena desta conexão, do servidor do jogo até os provedores de serviço de internet da CipSoft.

CMs: Tudo bem. Então você está dizendo que você tem influência apenas em algumas situações de lag, e que infelizmente, vocês programadores não podem fazer nada contra o lag mais comum.
Bem, nós não temos mais nenhuma pergunta para fazermos, então iremos deixar você ir embora. Obrigado por nos dar tanto do seu tempo, e por sacrificar a sua pausa para o almoço!
Akananto: Sem problemas, o prazer foi meu!


Nós esperamos que você tenha gostado desta pequena entrevista com o Akananto tanto quanto nós, e que ela tenha fornecido algumas respostas para dúvidas que você tinha.

Divirta-se no Tibia e aproveite os recursos que nossos programadores criaram para você!
Seus Community Managers