Como é trabalhar nas ferramentas e no motor gráfico de Overwatch
O mundo precisa de heróis mais do que nunca, pelo visto. E os heróis digitais precisam de muita coisa para existir: motivações drásticas, estética emblemática, design profundo. Mas eles precisam de código em quantidades ainda maiores. Mais de 2,7 milhões de linhas de código em evolução alimentam as ferramentas que sustentam Overwatch hoje.
Os Arquitécnicos nas equipes de ferramentas e motor gráfico de Overwatch são os guardiões desse legado e, sem o trabalho deles, não há jogo.
A equipe de motor gráfico
A equipe de motor gráfico de Overwatch monta a infraestrutura técnica dos diversos sistemas do jogo, incluindo gráficos, efeitos visuais, física de jogo e áudio — os componentes que permitem o desenvolvimento. O engenheiro-chefe de software Phil Teschner, que trabalhou na série Halo e em Kingdoms of Amalur: Reckoning antes de entrar na Blizzard, é o principal organizador de componentes na equipe de motor gráfico.
Teschner acumulou o que ele chama de “horas além da conta” em sua jornada jogando cada título da Blizzard. Depois disso, seu histórico em desenvolvimento gráfico e multiplataforma o levou a aceitar um cargo na empresa em 2012, trabalhando em um novo MMO de codinome “Project Titan”. Embora Titan tenha sido cancelado, desde então Teschner ajudou a recombinar alguns dos componentes do projeto para garantir que o DNA dele sobrevivesse em Overwatch.
Phil e o resto da equipe de motor gráfico possibilitam que Overwatch rode em diferentes plataformas (como PC, PlayStation 4, Xbox One e Nintendo Switch) com a melhor taxa de quadros possível. O trabalho deles nas complexidades de código de cada peça de hardware permite que os outros engenheiros de Overwatch se concentrem mais no desenvolvimento de recursos de jogo do que nas complicações tecnológicas das diversas plataformas. Como praticamente todo trabalho feito na equipe de Overwatch, trata-se de um esforço bastante colaborativo. Phil aponta: “Não consigo pensar em nenhum problema que não faça o grupo se reunir para tentar achar uma forma de seguir adiante”.
Outra das responsabilidades da equipe de motor gráfico é monitorar e aprimorar estatísticas de desempenho, consumo de memória, tamanhos das atualizações e tempos de carregamento, não só pelas vantagens inerentes, mas também para abrir espaço para novos recursos. Por exemplo, artistas que querem deixar a pele dos personagens mais realista ou adicionar novas formas de simular o movimento de roupas trabalham com a equipe de motor gráfico para alterar esses componentes fundamentais sem precisar reconstruir o jogo do zero.
Obviamente, novos componentes ainda precisam ser apresentados a designers, artistas e outros engenheiros da equipe de Overwatch de forma útil e eficiente, para garantir um jogo divertido e funcional. É aí que entram as ferramentas de desenvolvimento.
A equipe de ferramentas
A carga da equipe de ferramentas de Overwatch é “TED”, o editor do jogo. É uma interface visual onde artistas, designers e outros engenheiros podem organizar e refinar os componentes do motor gráfico: criar fases, escrever scripts dos heróis, ajustar tempos de recarga, criar os sons e animações que dão vida a essas coisas e, no fim, vincular tudo. A equipe trabalha com duas questões em mente:
1. Onde os outros membros da equipe mais gastam tempo enquanto fazem o jogo?
2. Podemos deixar essa tarefa mais fácil e agradável?
O engenheiro-chefe de software Rowan Hamilton, que trabalhou na série Killzone (e, assim como Phil, em Project Titan antes de Overwatch), fez seu primeiro jogo na faculdade. Ele o descreve como um “clone de Diablo” e, não por coincidência, culpa o tempo que passou jogando Diablo e StarCraft por pelo menos uma nota baixa em prova.
O princípio geral de Rowan para a equipe de ferramentas é sucinto e apropriado: quem fizer mudanças na jogabilidade de Overwatch deve conseguir jogar essas mudanças rapidamente e com frequência. “Quanto mais você gostar de fazer o jogo”, diz Hamilton, “maiores serão as chances de fazer um jogo melhor”.
Para esse fim, TED foi feito sob medida para as experiências dos desenvolvedores de Overwatch, com base nas lições que a equipe aprendeu ao longo dos anos. Ele inclui processos exclusivos de modificação de conteúdos bem específicos, como a seleção de heróis ou a geração de Jogadas da Partida, além de representações de conceitos característicos de Overwatch, como visuais e cores das equipes.
Mas o TED não serve apenas para fazer Overwatch como o conhecemos hoje: também é flexível o bastante para sustentar experimentos criativos para o Overwatch de amanhã. “Seja lá o que os desenvolvedores tentarem”, diz Hamilton, “eles sabem que não deixaremos isso destruir o jogo, e é fácil para eles desfazer o trabalho, voltar e usar uma abordagem diferente.” A visualização do TED ajuda os desenvolvedores a enxergar como os 3 milhões de elementos e os terabytes de dados originais de Overwatch se encaixam, possibilitando retirar com rapidez componentes existentes no jogo para fazer uma releitura deles... ou protótipos de ideias totalmente novas.
Horizontes explosivos
O trabalho nos recursos que tornam Overwatch possível não é apenas um processo de refinamento e atualização. Novos testes surgem todos os dias, alguns deles com um escopo intimidante. As ferramentas de desenvolvimento e o motor gráfico precisam sustentar novos avanços de hardware para Overwatch e experiências novas de jogo em Overwatch 2.
Na BlizzCon 2019, a equipe mostrou a primeira versão jogável de um mapa de Overwatch 2, Rio, amplamente compartilhada fora da Blizzard. Porém, antes de Rio aparecer na BlizzCon, Phil Teschner e a equipe de motor gráfico estavam na vanguarda de um desafio que parece mais simples do que realmente é: os designers queriam explodir uma nave.
Não seria uma pequena explosão predefinida no céu, e sim a destruição, de dentro para fora, de um enorme transporte de comando ômnico, com agentes da Overwatch lutando e fogo saindo do interior da nave. Para forçar ainda mais o motor gráfico, a iluminação mudaria em todo o mapa quando o reator da nave entrasse em estado crítico.
Quando partes de uma fase explodem, nós esperamos que a iluminação delas mude. No mundo real, mudanças de iluminação ocorrem com o tempo, à medida que a visibilidade muda e nossos olhos se ajustam. O impacto dessas mudanças é mais aparente quando se está mais próximo das fontes de luz e menos evidente a distância, e uma mudança na iluminação em uma sala pode afetar a iluminação da outra ao lado.
Uma iluminação “dinâmica” em tempo real como essa pode exigir muito desempenho, e mais ainda se transformar a iluminação de um mapa inteiro. Overwatch foi desenvolvido para rodar em uma ampla gama de sistemas, então a equipe de motor gráfico precisou achar uma solução que possibilitasse esse grande evento sem prejudicar o desempenho do jogo.
Primeiro, a equipe isolou as mudanças dinâmicas na iluminação em partes específicas do mapa do Rio. Os artistas de iluminação espalharam pequenas sondas por toda a fase em construção para identificar superfícies que deveriam ser “significativamente” afetadas pelas mudanças na iluminação (como um incêndio em uma estrutura). Depois, os engenheiros escreveram um script que habilitava iluminação dinâmica somente nessas superfícies afetadas quando a nave começava a explodir e desativava o efeito quando o evento terminava.
Os mapas JxA (Jogador x Ambiente) de Overwatch 2 são maiores e mais complexos do que mapas de Overwatch como Retaliação e Tempestade Iminente. Isso não significa apenas mais distância para percorrer, mas também missões mais longas, que envolvem mais tipos de adversários e batalhas mais elaboradas. Adicionar tipos de inimigos gera interações complexas de habilidades entre inimigos e heróis, mas também entre os inimigos em si, como unidades de curto e longo alcance que coordenam seus ataques.
Os designers que trabalham nas ferramentas de desenvolvimento de Overwatch precisam de uma forma de visualizar uma batalha com diversas ondas e que dura vários minutos. Para criar algo empolgante, eles precisam conseguir visualizar onde um inimigo vai surgir e como vai se movimentar pela fase antes que um intrépido agente da Overwatch o tire de circulação. E, claro, é necessário gerenciar cuidadosamente o impacto dessa complexidade extra no desempenho do jogo.
É um desafio que a equipe de ferramentas ainda não solucionou por completo, mas é exatamente o tipo de problema que ela foi montada para resolver.
Como eles trabalham
Desenvolvedores de ferramentas e motor gráfico colaboram com outros membros da equipe de Overwatch para dar vida a novos elementos de jogabilidade. Criar um grande recurso novo, como novas técnicas de surgimento de unidades, começa com uma reunião entre os engenheiros de jogabilidade e os designers que trabalham nas fases, heróis e habilidades de Overwatch, para entender o que eles estão querendo realizar e como chegar lá. Durante o processo, a equipe de ferramentas tenta encontrar aspectos desses elementos de jogabilidade que sejam complicados de desenvolver e monta protótipos até transformar a criação de dúzias ou centenas em algo “trivial”.
Mudanças em recursos existentes também podem ter vastas ramificações. Quando a equipe de design começou a reformular a habilidade suprema de Symmetra, trocando o Teletransportador pela Barreira de Fótons atual, ela sabia que a barreira projetada precisaria se estender pela fase inteira para causar um impacto poderoso na jogabilidade. Os membros da equipe de motor gráfico e os artistas de efeitos trabalharam em conjunto para refinar a aparência e o comportamento da barreira sem introduzir deformidades visuais ou problemas de desempenho.
A equipe de motor gráfico até ajudou os artistas e designers a refinarem e implementarem “ideias loucas”, como uma suprema que clona um herói. Ela descobre como possibilitar o que era aparentemente impossível trabalhando dentro dos limites de cada plataforma compatível, como definir a habilidade Duplicar de Echo de forma que os heróis clonados eliminados não possam selecionar um novo herói (o que exigiria que o jogo carregasse um 13º herói).
Na elaboração deste artigo, as equipes de ferramentas e motor gráfico, assim como muitos de nós, estão trabalhando de casa e descobrindo que, apesar da distância, os colegas de trabalho estão mais próximos em alguns aspectos. Eles estão se reunindo várias vezes por semana para aliviar a tensão jogando testes de desenvolvimento, tendo conversas animadas sobre tudo que mudou ou foi adicionado desde a semana anterior e usando essas discussões para refinar o que farão em seguida.
Phil e Rowan têm motivos semelhantes para gostar do trabalho que fazem. Seus colegas de trabalho são talentosos e entusiasmados. Todos na equipe opinam em decisões significativas. Eles contribuem para um jogo que gostam de desenvolver e jogar.
Mas ambos concordam que há algo muito especial em Overwatch.
Teschner atribui isso aos jogadores de Overwatch. “Eu trabalhei em um monte de jogos diferentes, e a resposta da comunidade de fãs ao mundo de Overwatch está sendo um grande destaque na minha carreira. A empolgação com o jogo, as artes que recebemos dos fãs, ver os cosplays dos nossos personagens... tudo isso tem sido uma experiência completamente nova para mim.”
Para Hamilton, que sete anos atrás veio da Holanda para Irvine, na Califórnia, a equipe virou uma família. “Eu atravessei o mundo para trabalhar nesse jogo”, diz ele. “Quando você trabalha com um grupo fechado em um único produto por tanto tempo assim, você desenvolve laços bem fortes.”
“Não consigo me imaginar fazendo qualquer outra coisa na minha vida.”
A equipe de Overwatch está procurando engenheiros inteligentes e motivados para ingressar na equipe. Confira a página de carreiras para mais detalhes!