/tec: Kayn e a Cidade das Partículas

Por: Riot Jengles

/tec é uma nova série do Nexus que explora a tecnologia que dá vida a League of Legends. Caso goste deste artigo, dê uma conferida no blog de Engenharia da Riot Games para aprofundar-se ainda mais.


As foices não deveriam servir para coletar? Sim. Coletar na rota inferior.

Um dos maiores desafios do desenvolvimento de um jogo tão grande e atualizado com tanta frequência como o League of Legends, é fazer grandes mudanças nas ferramentas que usamos para construir o jogo sem estragar nada. Olá, eu sou John "Riot Jengles" Englund, um artista técnico que trabalha com ferramentas de arte, e estou aqui para mostrar como criamos uma novíssima ferramenta de edição de efeitos visuais para lançar Kayn, nosso mais recente assassino da selva, capaz de atravessar paredes e se apossar de outros Campeões. (Mas não os meus Campeões! Eu jogo com atiradores imóveis e adotarei uma rígida política de "sempre banir o Kayn" na Seleção de Campeões.)

Uma equipe fiel ao nome

A missão da nossa equipe é criar ferramentas e tecnologias que permitam aos Rioters disponibilizar aos jogadores o que há de melhor (e por "melhor", queremos dizer o que a equipe define como melhor no contexto do trabalho sendo realizado). Fazemos isso oferecendo softwares que visem deixar o ciclo interativo da criação de conteúdo o mais eficiente possível. É por isso que nossa equipe recebe o justíssimo nome de Eficiência de Conteúdo! Somos responsáveis pela plataforma de backend que armazena todos os dados de jogo de LoL e pelas ferramentas usadas por designers e artistas para editar as propriedades dos Campeões, das skins, das habilidades etc...

No final do ano passado, decidimos que estava na hora de desenvolvermos uma ferramenta novinha em folha para a edição de efeitos visuais. Por quê? League tem mais de 110.000 efeitos visuais diferentes. Eles são fundamentais para dar vida às ações do jogo e os jogadores geralmente nos dizem como os efeitos visuais estimulam ou atrapalham suas experiências com Campeões, skins, itens, efeitos de mapa, entre outros.


Diferentemente dos personagens animados, os efeitos visuais não são criados pela sobreposição de poses. Os efeitos visuais são criados por animação procedural e simulados pelo jogo por determinado período de tempo. Os efeitos são compostos por um ou vários sistemas de partículas, ou seja, coleções de emissores de partículas cujo comportamento e aparência são definidos pelo artista visual por meio de texturas, geometria e muitos controles. Se quiser saber mais sobre a arte dos efeitos visuais, confira este artigo de RiotPhoenix, artista visual que trabalhou em Kayn e nos ajudou a desenvolver e a testar a nova ferramenta!


Dá para ver como a qualidade dos efeitos visuais é fundamental para o jogo, mas o nosso fluxo de trabalho para a criação desses efeitos estava começando a sentir os efeitos do tempo. Não tínhamos um botão de "desfazer", o que dificultava muito as tentativas de mudança. Além disso, os artistas de efeitos visuais tinham que manter o jogo em execução, salvar o efeito e esperar ele ser reiniciado sempre que queriam ver os resultados do trabalho. Não tinha como vê-los no ambiente de produção. Por ultimo, todos os dados de efeitos visuais eram armazenados em um sistema de arquivos ultrapassado, que exigia um gerenciamento manual de pastas e nomes de arquivos para funcionar corretamente e não oferecia uma maneira fácil de controlar quais arquivos estavam sendo usados por quais efeitos no jogo.

E cadê o botão de upgrade?

Criar uma melhor ferramenta de efeitos visuais não foi fácil, mas, surpreendentemente, não foi a parte mais difícil. Agora, implantar a nova ferramenta em um ambiente de produção com prazos extremamente alucinantes, converter dados antigos para um novo sistema e garantir que os artistas pudessem fazer essa transição com o mínimo de interrupções... isso já era outra história.

A primeira coisa que tivemos que fazer foi nos certificar de que os artistas de efeitos visuais estavam apoiando a ideia e estavam empolgados e envolvidos com o processo de desenvolvimento. Não teríamos a menor chance de desenvolver a ferramenta certa sem o expertise deles. Os artistas de efeitos visuais já estavam acostumados e satisfeitos com o processo de edição da ferramenta de efeitos que estava sendo usada (apesar de suas limitações), então as expectativas por algo melhor foram para as alturas.

Além disso, a ferramenta anterior tinha esta deliciosa tela de carregamento:

Sim, a ferramenta anterior se chamava Syrup (“Xarope”) e sim, isso é um taco de café da manhã com o desenho de um taco em cima dele.


Como fazer algo melhor que isso? Começamos com várias ideias de como melhorar a interface existente — gráficos mais elaborados, tabelas mais elegantes e simplificações mais precisas — mas no fim das contas, o maior gargalo do fluxo de trabalho original não tinha muito a ver com a interface em si. Sendo assim, nós resolvemos simplesmente implementar a maioria das funções da ferramenta antiga no novo sistema. Até os melhores aprimoramentos em uma interface de software trazem um custo temporário de eficiência (por exemplo, as pessoas têm que reaprender a usar a ferramenta), então nós optamos por uma interface mais familiar para facilitar a transição.

Xarope vs Cidade das Partículas Familiar, um pouco mais enxuta e com um novo visualizador! Ah, e o botão de desfazer!

A maior parte dos nossos esforços visou garantir que os artistas de efeitos visuais e os dados antigos tivessem uma transição tranquila. Além de criarmos uma interface familiar inspirada no Syrup, criamos novas ferramentas para ajudar os artistas a converterem os dados antigos — sistemas de texturas, malhas e partículas que compõem os efeitos visuais — para o novo sistema. Permitimos até que os artistas pudessem copiar dados da ferramenta antiga e colar na ferramenta nova.

Então, é ótimo que os artistas tenham uma nova ferramenta que eles possam usar e tudo mais, mas como vamos implementá-la e usá-la efetivamente?

Bem-vindo à Cidade das Partículas, Sr. Kayn!

Nós precisávamos trazer uns dados suculentos de efeitos visuais para a nova ferramenta, que apelidamos de Particle Town ("Cidade das Partículas”). Queríamos algo substancial e já em andamento para testar a conversão dos dados, mas que ainda não estivesse em um estágio tão avançando para não ameaçar o prazo da produção.

Então falamos com a equipe de Campeões e eles tinham exatamente o que precisávamos: um Campeão com três formas diferentes e efeitos visuais no talo.

Abram alas para Kayn, o Ceifador das Sombras.


Ouvi dizer que você gosta de efeitos visuais em tela cheia

Porém, a equipe de Campeões tem que lidar com seus próprios prazos e nós não queríamos garantir que essa ferramenta reduziria os prazos imediatamente. Na verdade, era bem provável que ela os esticasse um pouco mais por causa do processo de mudança! Embora estivéssemos confiantes de que a ferramenta seria mais eficiente em um futuro próximo, era importante definir expectativas realistas e assumir explicitamente o compromisso de fazer todo o possível para ajudar a lançar Kayn dentro do prazo estabelecido.

Então o que fizemos? Passamos três meses criando um MVP (produto viável mínimo) e durante esse período, toda a nossa equipe ficou focada em desenvolver esta ferramenta. Passamos muito tempo interagindo com os artistas de efeitos visuais para manter um bom nível de confiança de que estávamos desenvolvendo a coisa certa. Algumas coisas foram reduzidas (como um editor gráfico mais sofisticado), não porque o design não estava legal, mas porque descobrimos que outras coisas tinham mais prioridade. Nós sabíamos que teríamos tempo para dar uma refinada depois de lançar algo simples. Outra boa razão para começar com algo bem simples que pode ser melhorado rapidamente é poder receber feedback sobre a ferramenta o mais rápido possível. O feedback direto dos especialistas é indispensável para melhorias futuras e evita que a gente desperdice nosso tempo criando recursos que não seriam tão utilizados.


O brilho ameaçador da foice de Kayn, direto da Cidade das Partículas

Finalmente, no final de março, nós o lançamos... e no começo foi um pouco doloroso mesmo! Os dados não estavam completos, às vezes a ferramenta ficava muito lenta ou até falhava. Foi crucial ter um bom relacionamento com os artistas e assistência em tempo real durante a transição. Recebemos cerca de 100 páginas de feedback e mais de 150 relatórios de bugs e solicitações de recursos, e não levamos em conta que preencher esses relatórios também tomava tempo dos artistas! Nós nos desconectamos o mais rápido possível; houve dias em que resolvíamos cerca de 10 problemas da ferramenta por dia.

Felizmente, pouco tempo depois, as coisas começaram a se estabilizar e podemos colher os frutos do nosso trabalho. Recebemos feedback de artistas que tinham recuperado horas de trabalho com o recurso de Desfazer e outros que amaram o fato de ver as mudanças sendo refletidas imediatamente no novo visualizador e no jogo. E o mais incrível é que os artistas descobriram coisas que permitiram que a criação de Kayn fosse mais rápida do que teria sido na nossa antiga ferramenta!


Movendo o alvo do R de Kayn à esquerda para testar elementos direcionais; habilidade completa à direita

Um exemplo é a ultimate de Kayn. Ela pode ser conjurada em qualquer direção, e por isso sua qualidade visual tinha que ser testada em todas as direções. Antes, os artistas tinham que carregar o jogo, selecionar um alvo, conjurar o R no alvo, mover o alvo, conjurar novamente, e repetir até ter visto a conjuração de todos os ângulos. Agora com a janela de visualização, eles podem simplesmente mover o alvo e ver imediatamente como fica a execução em qualquer direção.


O Q ainda é devastador mesmo sem o sangue

Outro exemplo interessante é o efeito ao contato do Q de Kayn. Por causa de requisitos diferentes para regiões específicas, tivemos que lançar duas versões, uma com sangue e outra sem sangue. Normalmente, os artistas de efeitos visuais teriam que carregar o jogo para ver o efeito; agora eles só precisam ativar o "modo censurado" na janela de visualização.

Em breve, numa Cidade de Partículas perto de você


"Nããããããão. Não não não." - Jhin

Então, o que aprendemos? Lançar uma ferramenta com este grau de complexidade em meio ao um conturbado calendário de produção é muito complicado. Só que nós já sabíamos disso. O que aprendemos é que estamos ficando cada vez melhores nisso. Já tivemos lançamentos bem mais tensos no passado. Esse lançamento foi maravilhoso porque nós conseguimos reunir todas as pessoas envolvidas (artistas, desenvolvedores, produtores) para nos acompanhar nesta jornada. Provavelmente, o mesmo tempo que nós passamos desenvolvendo a ferramenta, nós passamos nos comunicando, definindo expectativas e aprendendo com nossos colegas. Esperamos que todo esse processo, embora ainda não finalizado, nos dê a confiança para continuar fazendo mudanças ousadas nos nossos fluxos de trabalho artísticos. Dessa forma, poderemos continuar a oferecer o melhor conteúdo possível para todos vocês.

Talvez no futuro nós possamos usar os efeitos visuais um pouco mais amplamente, se conseguirmos fazer com que seja mais fácil criá-los! O que vocês acham? Onde devemos acrescentar mais umas pitadas de efeitos visuais?


3 weeks ago