[ARTIGO OFICIAL] Conversando com nosso programador-chefe

O texto abaixo é uma tradução do artigo oficial do site Tibia.com, mês de novembro de 2009. O original em inglês pode ser encontrado aqui.

Conversando com nosso programador-chefe
Chatting with our Lead Programmer

Artigo originalmente escrito por Tibia.com.
Tradução por Lucas CS e GrYllO
Revisão por Anderslash


Muitos de vocês devem conhecer nosso programador-chefe pelo nome de seu personagem, Akananto. Em tempos de testes, ele é bem conhecido por todos os testadores. Ele é um dos membros da CipSoft que responde a perguntas e informa sobre o status dos bugs encontrados e corrigidos.
Frequentemente, jogadores fazem perguntas sobre os programadores da CipSoft, então nós, CMs, roubamos a hora de almoço do Akananto conversar um pouquinho com ele.


CMs: Akananto, você poderia nos contar um pouco sobre você? Há quanto tempo está trabalhando para a CipSoft, o que você faz?
Akananto: Eu comecei a trabalhar para a CipSoft há quase cinco anos atrás, ou seja, sou o programador mais antigo que trabalha para a CipSoft. Durante o primeiro ano e meio, eu programei um novo editor para a equipe de conteúdo, para ajudá-los com seu trabalho. Depois desse projeto, eu me comprometi com o client do Tibia e até agora eu sou o responsável pelo seu desenvolvimento. Como a CipSoft cresceu muito, as posições de líderes da equipe foram introduzidas e eu me tornei o líder da equipe de programação. Desde então, eu tenho tido que fazer um consideravelmente grande (e não tão divertido) trabalho de organização além das minhas tarefas de programação. Além disso, quando alguém se candidata a uma vaga de programador, eu sou uma das duas pessoas "do outro lado da mesa" na entrevista de trabalho. Essa parte do trabalho é provavelmente a mais difícil, mas muito interessante também.

CMs: Então, já que você é o líder da sua equipe, se importaria em apresentá-la?
Akananto: Claro. Nós temos 12 programadores aqui na CipSoft, mais o Stephan, um dos Gods, que ainda faz um pouco do trabalho de programação. Além disso, nós temos na nossa equipe, atualmente, uma pessoa escrevendo um TCC e dois outros internos. Seis de nós trabalham exclusivamente no Tibia. Stephan está trabalhando no servidor do jogo, outros dois estão trabalhando no website do Tibia e em ferramentas internas para a equipe de apoio ao client, por exemplo. Outra pessoa está trabalhando no servidor de pagamento e nas funções de pagamento em geral e outro deles está trabalhando no novo client de Tibia em Flash. E tem eu, que ainda sou o responsável pelo atual client do jogo e do editor de conteúdo, claro que isso depois da responsabilidade como líder da equipe. Três dos nossos programadores trabalham no TibiaME: um no servidor do jogo, um nos clients do jogo e um no website. O editor de conteúdo do TibiaME é na verdade o mesmo que o do Tibia, já que as tecnologias de servidor de jogo de ambos os projetos são bem similares e, como já disse, eu sou o responsável por isso.
Outros três programadores estão trabalhando no nosso novo projeto, Fiction Fighters.
Finalmente, o membro da equipe que sobrou é o nosso testador de softwares, que checa todo e cada client, servidor, website e ferramenta para verificar se está tudo funcionando como o pretendido. Acima de tudo, ele está testando o novo conteúdo.


CMs: Uhm... ok, mas quem está programando os novos recursos, então? É aquele que está programando o servidor de jogo?
Akananto: Não necessariamente, isso depende de quais recursos precisamos implementar. O servidor do jogo, o client do jogo e o website. Geralmente é uma mistura dos três. Vamos pegar o novo war mode, por exemplo. Tudo que precisamos mudar foram os ícones. A maior parte das mudanças precisaram ser feitas no servidor do jogo, e toda a "função de declaração de guerra" é situada no website.

CMs: Ah, muito obrigado por explicar isso. E em que vocês estão atualmente trabalhando, especificamente? Você poderia nos contar?
Akananto: Bom, atualmente, nós estamos muito atarefados com o patch de outono, mas quando essa entrevista for publicada, nós já devemos ter completado. O patch de outono, infelizmente, vai atrasar um pouco, já que nós estamos realmente abarrotados de coisas.
O programador do servidor de pagamentos teve de fazer algumas grandes mudanças, para que os pagamentos que não têm a ver com a compra de premium time sejam processados, por exemplo, as cartas de recuperação e alguns novos serviços que nossos jogadores em breve poderão usar.
Os programadores do website estão terminando o seu trabalho para fazer com que a funcionalidade dos recursos do patch de outono e os novos recursos de pagamento estejam disponíveis para todos pelo website. Além disso, eles recentemente terminaram a loja que abriu novas oportunidades para os revendedores oficiais e seus clientes.
Ambos, o client do Tibia e o editor de conteúdo, não requeriram grandes mudanças para o patch de outono, de qualquer jeito, estou trabalhando em mudanças radicais no editor, para tornar possíveis os recursos que estão por vir no próximo ano no Tibia e no TibiaME - mas shhhh, sem spoiling!

CMs: Hmm, ok - sem spoling, então... que pena...
Vamos então falar do próximo assunto. Muitos de nossos jogadores estão interessados nas linguagens de programação, e eles frequentemente perguntam quais são as linguagens de programação usadas no Tibia. Você poderia nos revelar isso, talvez em palavras que todos possam entender?
Akananto: Ok, vou tentar... Quase todos os serviços do servidor são programados em C++ e eles rodam em servidores baseados em Linux. Boa performance é uma grande questão com todos os nossos servidores, e quanto à velocidade, C++ é ainda uma das melhores. Para os nossos websites, nós usamos PHP com servidores Apache, que rodam em servidores baseados em Linux. O atual client de Tibia também foi feito com C++ e roda tanto em Windows como em Linux. O client experimental em Flash está sendo escrito em ActionScript 3 e sendo feito com Flex SDK.

CMs: Você disse "client experimental em Flash", o que há nisso? Estamos fazendo algum progresso?
Akananto: Primeiro, eu gostaria de dizer que nada está definido ainda, e que o client de Tibia em Flash é ainda um experimento interno na CipSoft. Nós vemos grandes chances e possibilidades ao fornecer um client de Tibia baseado na tecnologia Flash.
Quando tivemos a ideia, começamos a fazer vários testes para ver se isso seria possível do ponto de vista técnico, e tudo se mostrou positivo. Então, um programador foi contratado e agora está trabalhando nisso em tempo integral. Nós já podemos ver algum progresso no nosso test server interno. Por exemplo, o login já funciona, os personagens são levados aos mundos corretos e o mundo em si está sendo mostrado corretamente: paisagens, criaturas, efeitos, balões de fala e até algumas coisas novas e legais que o Tibia atual não tem. Além disso, o sistema de chat já está funcionando.
De qualquer jeito, movimentos e socialização ainda estão bem limitados - nós ainda teremos muito trabalho. Nós ainda tivemos problemas com hotkeys e contexto de menus ingame, mas estamos avaliando tudo e vamos tentar achar soluções para todos os problemas. Se nós tivermos sucesso, haverá um client de Tibia em Flash. Se não tivermos, não haverá. Nós estamos muito dedicados em fazer o client de Tibia em Flash acontecer, em nossa mente é um grande projeto, mas é ainda muito cedo para garantir que realmente teremos sucesso.

CMs: Então nós ficaremos com os dedos cruzados para que tudo dê certo!
Voltemos ao Tibia do presente. O planejamento para um patch ou update - como isso tudo funciona, o que acontece em sua equipe de programadores para um update?
Akananto: Deixe-me explicar melhor usando o atual patch como exemplo. Com a introdução da black skull, o novo sistema de guerras entre guildas é a segunda parte do resultado de uma série de discussões internas na CipSoft sobre o PvP em Tibia. No fim daquelas discussões, os gestores de produto do Tibia, Guido e Craban, nos deram uma lista de mudanças e recursos. Geralmente, os programadores têm algumas questões a fazer sobre esses recursos, então há um debate entre os gestores de produto e os programadores até que todos os detalhes estejam resolvidos. Depois disso, os programadores começam a programar e a fazer uploads desses novos recursos para o nosso test server interno para que nós possamos testar a coisa o mais cedo possível. Depois da hora do chamado "congelamento de recursos", não mais se pode criar novos recursos. Somente os que já existem podem ser concertados. Uma vez que o testador dá o seu "ok" sobre os novos recursos para os gestores de produto, eles começam a preparar tudo para o update nos servidores públicos.
É claro que um testador não consegue achar todos os possíveis bugs, então, usualmente há um test server semi-público antes de cada update. Quanto mais cedo eles entrarem para o test server, eles acharão a maior parte dos erros existentes.

CMs: Então, programadores jogam Tibia para codificar as novidades?
Akananto: Alguns de nós o fizeram há algum tempo, e realmente entraram para a guilda secreta da CipSoft, mas suas atividades ingame diminuíram de novo. Por mais bizarro que possa parecer, para nós, Tibia é o nosso trabalho, e quando voltamos para casa no fim do dia, nós gostamos de tomar alguma distância do trabalho e deixar nossas mentes pensarem em outras coisas.
E bom - eu sou pessoalmente muito ativo em test servers durante épocas de teste. É divertido ver o que os jogadores fazem com novos recursos, como eles tentam lidar com certas coisas ou situações. E é claro, há um suspense em ver que ainda há bugs lá.

CMs: Parece que você realmente gosta de estar em test servers!
Nós temos algumas questões para você caso ainda tenha um pouco de tempo, elas são mais genéricas e tratam de assuntos importantes sobre os jogadores. Por exemplo, hacking. Alguns jogadores dizem que o client do Tibia não é seguro. O que você pode dizer sobre isso, sendo você o responsável pelo client?
Anakanto: O client do Tibia é tão seguro (ou inseguro) quanto o computador no qual está sendo rodado.
Não há absolutamente nada que o client do Tibia possa fazer quando já há virus, trojans, keyloggers ou programas de trapaça no computador. É correto dizer que algumas informações do client do Tibia poderiam ser mais camufladas, mas isso só faria com que os caras maus pesquisassem um pouco mais, de qualquer modo, eles definitivamente achariam isso. É fato que toda a informação necessária para se jogar deva estar no client, e alguém com más intenções acharia isso, não importa o quão escondida essa informação esteja.
A melhor dica para evitar o hackeamento é apenas jogar Tibia em um computador no qual você tenha total confiança. Um computador que esteja livre de qualquer programa mal-intencionado. Enquanto você jogar Tibia em um computador "limpo", a conexão de rede entre o client e o servidor é completamente segura. Nós botamos muitos esforços na encriptação da conexão de rede, e usamos tecnologia que é publicamente disponível e provada ser segura, assim, sua senha e seu personagem e suas conversas com outros estão seguras de qualquer interceptação.


CMs: Alguns jogadores dizem que, se você atualizar o seu antivírus regularmente, você não será hackeado. Isto é verdade?
Akananto: Na verdade, não. É claro que você precisa atualizar o seu programa antivírus, mas ele não irá ajudá-lo contra keyloggers em programas externos para Tibia, por exemplo. Programas antivírus protegem o seu computador contra vírus bem conhecidos e difundidos. Um keylogger em um contador de XP externo, por exemplo, ou em um programa de trapaça não é um virus conhecido e difundido, pois ele foi criado apenas para jogadores de Tibia, com o propósito de roubar suas informações de conta. Um programa antivírus pode não ajudar neste caso. Na maioria dos casos ele nem vai notar.

CMs: Obrigado por esclarecer isso, Akananto. É um equívoco comum.
Outro assunto: os jogadores de Tibia muitas vezes culpam os programadores pelos lags, kicks e freezes. O que você pode dizer sobre esta acusação?
Akananto: Normalmente existem três tipos diferentes de "lags":
Existe o lag do client, quando o client precisa de muito tempo para processar informação e a taxa de quadros cai drasticamente. Em Tibia isto pode acontecer quando você entra em uma sala com muitas criaturas dentro pela primeira vez. O client precisa carregar todos os gráficos de criatura na placa de vídeo, e isto leva tempo.
Há também o lag do servidor. Isto acontece quando o servidor do jogo precisa de muito tempo para processar informação. Lembro-me de um incidente, quando alguém empurrou uma bag com todo conteúdo de sua guild hall (cerca de 80.000 itens) do depot para sua guild hall, após uma limpeza automática de casas. O servidor "lagava" por alguns segundos toda vez que a bag era empurrada. Nós já corrigimos este problema, então ele não vai acontecer novamente. E se por acaso acontecer uma nova situação similar a esta, nós encontraremos uma maneira de resolvê-la também. Há um arquivo de registro criado pelo servidor especialmente para os lags do servidor onde todos os incidentes deste tipo são gravados, sendo assim notaremos rapidamente se houver algum lag que possa ser evitado.
E o último e, infelizmente, o mais comum tipo de lag é o lag de rede. Programadores não tem qualquer influência nisto. Deixe-me explicar: isto acontece quando o tráfego entre o client e o servidor leva muito tempo. Todos os pequenos pacotes de rede precisam viajar uma longa distância entre o seu computador e o nosso servidor. Eles tem de ir em volta do mundo, através de várias redes na verdade, e vários provedores. E em todo o caminho pode haver atrasos. Os jogadores tem o controle sobre uma parcela muito pequena desta conexão, exatamente de seus PCs até o seu provedor de internet. E a Cipsoft tem o controle sobre uma parte muito pequena desta conexão também, dos servidores até os provedores de internet da Cipsoft.

CMs: Certo. Então você está dizendo que você só tem influência em algumas situações de lag, e que infelizmente vocês programadores nada podem fazer contra o lag mais comum.
Bom, nós não temos mais nenhuma questão a fazer, então vamos deixá-lo prosseguir. Obrigado por nos ceder tanto de seu tempo, e por sacrificar a sua pausa para o lanche!
Anakanto: Sem problemas, o prazer foi meu!

Esperamos que você tenha gostado dessa pequena entrevista com o Akananto tanto quanto nós gostamos, e que isso tenha respondido a algumas perguntas que você tinha.

Divirta-se no Tibia e aproveite os recursos que nossos programadores criaram para vocês.
Os seus Community Managers.
Créditos: TibiaBR

1 comentários | COMENTE AQUI!!! :

francisco disse...

este jogo foi a desgraça na minha familia, destriu a vida de uma jovem como gostaria de poder para um tal de lokokavian mais os responsavél no brasil não dao endereço para agente postar ou entrar em contato lamentavél.

Postar um comentário

Digite aqui seu comentário...

© Copyright 2009-2013 - Tibia Dash - Direitos Reservados.
Proibida a cópia total ou parcial deste site.
Tibia é propriedade da CipSoft GmbH . Mais em Termos e Condições .