Saiba mais sobre o desenvolvimento do jogo e os desafios da equipe do estúdio.
Desenvolver um game das proporções do Taikodom: Living Universe exige, entre outras coisas, conhecimento técnico, criatividade e uma equipe talentosa e muito dedicada. A partir de hoje você pode conferir, aqui no site, uma série de entrevistas com o pessoal do estúdio da Hoplon. Eles irão falar sobre o processo de desenvolvimento do Taikodom, os desafios e o aprendizado durante as fases de testes.
A primeira entrevista é com Daniel Sperry, lead programmer, que fala sobre a tecnologia por trás do jogo. Confira:
Quantos programadores trabalham no desenvolvimento do Taikodom: Living Universe?
Daniel Sperry - Na época mais intensa, em 2010, tivemos até 30 programadores. Hoje são 18, divididos em cinco times, cada um com um líder técnico e uma área de atuação:
Simulação, trabalhando com física e sincronização entre servidor e clientes;
Server, trabalhando com modelo de dados, infraestrutura de rede e scripts de missão;
Client, trabalhando com a interface gráfica 2D (GUI);
Render, trabalhando com 3D, efeitos gráficos e de áudio;
Tools, fazendo todas as ferramentas do jogo: sistema de build, edição visual de scripts, edição de base de dados, ferramentas de GM.
Como é a relação entre a programação do jogo e as outras áreas de desenvolvimento?
Daniel Sperry - A relação dos programadores com as demais equipes (arte, áudio, game design, interface e QA) do estúdio é ótima. Nos esforçamos para tornar realidade as idéias de design e arte. Por outro lado, eles também entendem quando existem limitações técnicas a serem contornadas (budgets, limites de memória). Algumas vezes, damos palpites sobre arte e design, mas com profissionalismo: nos momentos de brainstorm e respeitando as decisões finais de cada área.
O que mudou no desenvolvimento do Taikodom: Living Universe, em relação ao Taikodom 2008?
Daniel Sperry - Desde o começo, o Taikodom 2008 tinha requisitos técnicos bastante ambiciosos para um primeiro projeto de MMO da Hoplon; estávamos fazendo um jogo e um engine (render, física, rede, server) ao mesmo tempo. Tínhamos muita tecnologia nova e pouca experiência. No Taikodom: Living Universe, focamos em desenvolver o jogo. Temos uma equipe maior e mais experiente com as lições aprendidas do 2008. Por exemplo: aproveitamos nosso conhecimento de rede, física e garbage collection para minimizar as travadinhas (glitches e lags). Desta vez, utilizamos mais bibliotecas prontas e nos dedicamos a fazer um jogo mais polido.
O que é o engine Unity 3D? Em quê ele contribui para fazer do Living Universe um jogo melhor do que o 2008?
Daniel Sperry - O Unity 3D é um engine de jogos 3D; uma base sobre a qual é possível construir uma série de jogos diferentes. Usamos a Unity 3D como engine de cliente e servidor de física. Ela nos liberou de resolver a maioria dos problemas de compatibilidade de hardware, especialmente com placas de vídeo - agora, o jogo roda bem em mais máquinas, com diferentes configurações.
Com a Unity, também ficamos mais livres para cuidar do “coração” do jogo, que continua sendo feito pela Hoplon: o servidor e a comunicação com o cliente, cruciais para que um MMO de ação do estilo do Taikodom possa manter milhares de usuários em sincronia.
A abordagem orientada a “cenas” e “componentes” da Unity nos permite escrever lógicas de jogo mais simples de manter. Também a maneira de manipular os artefatos 3D e 2D (pipeline de assets) é bastante direta e agilizou o trabalho de render (programadores de gráficos 3D) e da equipe de arte. Com isso, pudemos nos dedicar a criar um game mais estável, rápido e divertido para os jogadores.
Como tem sido o trabalho de programação do Taikodom: Living Universe?
Daniel Sperry - Ao longo do desenvolvimento, precisamos fazer ajustes de curso para melhorar o resultado do trabalho, mudanças pequenas que chamamos de polishing (polimento) e mudanças médias que chamamos de refactors (recodificação). Um exemplo foram os testes de escalabilidade, em que usamos algumas dezenas de máquinas alugadas em uma cloud comercial para colocar milhares de robôs “jogando” num servidor o Taikodom: Living Universe. Com esses testes, pudemos otimizar a simulação física e a base de dados do jogo. Também tivemos problemas de memória e, junto com o pessoal da arte, diminuímos o consumo de memória do jogo e a taxa de alocação de memória por frame desenhada.
Qual sua avaliação sobre o jogo, hoje?
Daniel Sperry - Tecnologicamente, o jogo está bem maduro desde o meio de 2011; fizemos muito poucas mudanças de base desde então. Está muito mais fácil criar novas features a cada versão nova. Estamos dedicados, entre outras coisas, a assistir a criação de conteúdo com novas ferramentas e códigos para objetos de cenário (npcs, torretas, bosses etc.).
Como os testes abertos ajudam os programadores no aperfeiçoamento do jogo?
Daniel Sperry - Os jogadores apontam muitos bugs importantes. Depois de validados pelo departamento de QA (Quality Assurance), nós procuramos corrigir esses bugs o mais rápido possível. Contudo, o principal benefício dos testes é o feedback antecipado sobre o nível de diversão do jogo. É visível para os programadores o compromisso da publicação e da direção do jogo com esse feedback. Também vemos o esforço do pessoal de design em transformar esse retorno dos beta testers em melhorias de usabilidade e novas features.