As máquinas evoluíram até chegar aqui
Transformando animação com aprendizado de máquina
“Se você acompanhou nosso progresso na Embark, já nos viu dando dicas do trabalho que temos feito para automatizar a animação de jogos usando aprendizado de máquina. Eu sou o Tom e faço parte da equipe de aprendizado de máquina da Embark, e estou aqui para descrever esse esforço com mais detalhes.
Então, quem somos nós?, você pode se perguntar. Na Embark, analisamos profundamente como criamos conteúdo para jogos e, como parte disso, adotamos o aprendizado de máquina e o conteúdo procedural em muitos dos nossos fluxos de trabalho. Faço parte de um grupo de uma dúzia de engenheiros, pesquisadores, artistas de tecnologia, designers e animadores envolvidos nessa empreitada.
Nosso objetivo principal é aplicar as pesquisas mais recentes do mundo todo para criar experiências de jogo divertidas e interessantes, que possam ser usadas por nossas equipes de jogos. Isso também é o que torna esta equipe especial: o fato de nosso trabalho ser prático, e não apenas voltado para a pesquisa.
A animação é um grande gargalo em todo o desenvolvimento de jogos. Personagens ou criaturas precisam ser projetados e roteirizados manualmente para alcançar interações aparentemente realistas com o mundo. Isso dificulta atingir escala sem aumentar a equipe de jogo.
Então, nos últimos dois anos, continuamos no caminho da animação física baseada em aprendizado por reforço. Em resumo, isso significa que treinamos máquinas físicas para andar, dando-lhes recompensas por fazerem as coisas certas — como petiscos virtuais para cães.
Como você verá nos exemplos abaixo, alcançar bons comportamentos de movimento pode levar a uma jogabilidade mais imersiva e interessante, onde o mundo se torna verdadeiramente vivo — onde não há animações pré-fabricadas, transições entre poses ou bonecos de pano estranhos.
Em vez disso, nosso agente — você pode pensar nele como o jogador da IA — observa seu corpo e o mundo ao seu redor; e decide como mover as pernas nos próximos quadros. Isso significa que, se o agente colidir, for atingido ou gerar alguma força por si só, ele pode se adaptar imediatamente a cada situação específica. Se você tropeçar em uma pedra ou for atingido por uma bola de neve, fará algo único a cada vez — porque nenhuma bola de neve ou pedra é igual à outra.
"Agentes de IA treinados por máquinas recebem recompensas por fazerem as coisas certas — como petiscos virtuais para cães."
Abaixo: você pode ver um de nossos robôs sendo atingido por um objeto. Observe que ele reage e tenta se equilibrar e se recuperar após o impacto, enquanto avança em direção ao seu objetivo.
E neste próximo exemplo, você pode ver que nosso agente aprendeu a atravessar ambientes complexos, escalando terrenos difíceis e irregulares com relativa facilidade.
No entanto, alcançar essa jogabilidade não é o único desafio. Estamos trabalhando em conjunto com um grupo muito talentoso de animadores e designers de jogos, e eles têm opiniões. Eles querem um controle preciso sobre o jogo, e o aprendizado de máquina, na melhor das hipóteses, permitirá que façam recomendações sólidas.
Ensinar outras pessoas a melhor forma de usar o aprendizado de máquina e para que você pode ou não usá-lo é um esforço contínuo. Estamos chegando lá depois de um ano de trabalho conjunto, mas introduzir novas ferramentas procedurais exige aceitação e uma mudança de mentalidade, independentemente de você estar familiarizado com a tecnologia ou não.
Neste novo mundo procedural, estamos mudando o papel de nossos animadores e designers. Embora ainda crucial para a equipe, o papel de nossos animadores não é mais desenhar curvas de animação, criar transições de estado ou mesclar clipes. Eles estão aqui para treinar agentes, assim como nós. Embora engenheiros como eu abordem o assunto de uma perspectiva algorítmica, eles o fazem com o olhar de um animador para os detalhes: Parece bom? Transmite corretamente? Parece crível? Assim como um coreógrafo, eles direcionam a sensação e a intenção do movimento final, em vez de mover cada perna eles mesmos.
“A introdução de novas ferramentas procedurais exige aceitação e uma mudança de mentalidade.”
Neste novo fluxo de trabalho, nossos colegas precisam trabalhar em um nível mais alto de abstração: em vez de decidir curvas de animação, eles descrevem comportamentos de movimento que o aprendizado de máquina deve respeitar. Da mesma forma, nossos designers de jogos não conseguem decidir movimentos exatos para um agente. Em vez disso, eles fornecem objetivos e instruções que são então cumpridos pelo agente com base em como ele foi treinado.
O problema em tudo isso é que estamos trabalhando — obviamente — em uma engine de jogo. A pesquisa na qual baseamos nosso trabalho usa configurações completamente diferentes; focadas em física de alta resolução cientificamente precisa. Nós, por outro lado, precisamos levar o desempenho em consideração e fazer isso funcionar em uma wengine projetada para trocar a correção da física por taxas de quadros mais altas.
Portanto, não estamos apenas construindo nossa própria plataforma, infraestrutura e plug-in de aprendizado de máquina para a Unreal Engine. Também estamos construindo camadas em torno do mecanismo de física para aprimorar e controlar seus recursos de simulação, a fim de obter os resultados desejados.
Mesmo com o ajuste da física, a natureza do aprendizado de máquina significa que os resultados podem ser imprevisíveis. Assim como em "Pensamento Profundo" no Guia do Mochileiro das Galáxias, fazer a pergunta errada leva a comportamentos confusos e inesperados.
Chegar onde estamos hoje significou muito trabalho, esforço, fracassos e recomeços.
Mas valeu a pena. Chegamos a um fluxo de trabalho que nos permite criar muito mais conteúdo com uma equipe relativamente pequena, já que não dependemos de um exército de animadores para roteirizar cada movimento e encontro que colocamos no jogo. Na verdade, nosso objetivo é que nossos designers sejam capazes de ensinar agentes sem a necessidade de engenheiros ou animadores.
E ver uma criatura autodidata, baseada em física, se mover e reagir ao ambiente, tentar se equilibrar e continuar se movendo mesmo quando você joga coisas nela ou arranca um membro — exatamente como você esperaria — é realmente incrível. Isso dá origem a momentos de gameplay emergentes — momentos em jogos que nem mesmo nós, como criadores do jogo, poderíamos ter previsto.
Afinal, não criamos o roteiro deles, então como poderíamos?”
O texto é uma tradução direta da postagem feita pela Embark no site medium.com
Comentários
Postar um comentário