Inteligência Artificial na Programação de Jogos: Uma Breve Análise

Rodrigo Moraes
4 min readOct 8, 2024

--

O crescimento exponencial da indústria de jogos é possível observar o também o crescimento de custo no processo de criação, não só de capacitação de desenvolvedores como em agilidade para se adaptar aos diversos formatos que a indústria adota. Este artigo é uma breve análise de como venho utilizando IA(AI) para avançar nos projetos e melhorar minha curva de aprendizado nos estudos de programação e ferramentas como Unreal Engine. Além de levantar pontos sobre o impacto dessa tecnologia no design de jogos.

A Evolução da IA no Desenvolvimento de Jogos

Na cultura popular dentro da indústria de jogos IA pode ser facilmente associada a NPCs (Personagens não jogáveis) e inimigos que parecem ter vida própria durante combates. Dentro da indústria podemos associar a uma árvore com diversas possbilidades de aplicação, sendo elas em mecânicas complexas ou automação.

O ChatGPT pode ser uma ferramenta integrado em qualquer etapa da pipeline de desenvolvimento para ajudar a automatizar a geração de código, testar lógicas de gameplay e até mesmo criar diálogos que compoem narrativas dinâmicas.

Dentro da Unreal Engine essa ferramenta pode cortar pela metade o tempo de criação de protótipos quando utilizada por um iniciante ou profissional. Precisamos primeiro reconhecer que a curva de aprendizado de uma ferramenta impacta e muito na escalada de carreira do profissional, a IA no auxilio do aprendizado pode funcionar com um Senior orientando e corrigindo em tempo real.

No processo de escrita desse artigo o que foi possível construir com o auxílio do chatGPT?

Gerar código Blueprints e C++ automaticamente.

Corrigir erros

Criar mecânicas complexas, como o controle de vários objetos em cena

Aplicações Práticas da IA na programação

Um dos exemplos práticos abordados foi a criação de um jogo em que o jogador controla várias armas posicionadas em diferentes ângulos em um trem(que será apresentado completo em um outro artigo) e durante esse processo foi interessante observar diversos pontos estratégicos para chegar a esse tipo de mecânica, o que mesmo agilizando no quesito lógica não facilitou o trabalho manual.

Outro recurso comum em jogos de tiro é o disparo automático, onde o jogador segura um botão para fazer com que as armas disparem repetidamente em intervalos regulares. A lógica de disparo automático foi implementada, orientada pela IA, usando o node Set Timer by Function Name em Blueprints; permitindo que as armas disparassem automaticamente enquanto o jogador pressionava o botão, e parassem ao soltar.

Após o disparo já estar implementado foi solicitado ao chatGPT que orientasse a configuração de controles de câmera, hierarquias dos componentes e ajustes a serem feitos. O resultado foi nodes utilizando Yaw e Pitch. Ao integrar funções de Add Controller Yaw Input e Add Controller Pitch Input, o movimento da câmera pode ser controlado com precisão, oferecendo uma experiência mais fluida para o jogador.

Benefícios da IA na Programação de Jogos

A IA permite que os desenvolvedores automatizem muitas tarefas tediosas e repetitivas, como depuração de código e criação de mecânicas simples. Isso acelera o desenvolvimento de jogos, permitindo que o time foque em aspectos mais criativos, como a narrativa, o design dos níveis e a jogabilidade.

Redução de Erros

Ao usar assistentes de IA para escrever e revisar código, muitos erros comuns podem ser evitados antes de serem compilados, reduzindo o tempo gasto na correção de bugs.

Suporte à Criatividade

Simplificando a programação, a IA possibilita que desenvolvedores possam experimentar novas ideias de game design que poderiam ser limitadas por tempo ou capacidade técnica, desenvolver comportamentos dinâmicos. Esse método também pode reduzir gastos com pré produção ao testar as mais diversas possibilidades de implementação criativa em um jogo.

Desafios do Uso de IA na Programação de Jogos

Dependência da Automação

Existe um pequeno risco observável durante o uso contínuo da IA como assistente no desenvolvimento. O risco de dependência da automatização para soluções de problemas que podem levar desenvolvedores menos experientes a perderem o entendimento de conceitos fundamentais de programação e design de jogos.

Automação pode acabar sendo uma ferramenta utilizada para a “prática de fordismo” e causando um estresse em profissionais que ao ter tempo sobrando para outras práticas dentro do desenvolvimento podem acabar uma linha de produção veloz e funções repetitivas. Esse parágrafo é um ponto a ser levantado sobre a indústria de desenvolvimento, para outro momento.

Limitações da Criatividade da IA

Embora a IA possa gerar código rapidamente, a criatividade e a nuance do design de um jogo ainda dependem do toque humano. A IA pode auxiliar nas tarefas mais mecânicas, mas a criação de experiências únicas ainda depende muito da intuição e visão criativa do desenvolvedor.

Podemos concluir que a inteligência artificial está rapidamente transformando diversos campos de desenvolvimento do trabalho humano e certamente atuando forte no desenvolvimento de jogos, oferecendo não só novas maneiras de programar, testar e integrar rapidamente mecânicas complexas. Também permite que principalmente desenvolvedores economizem tempo, reduzam erros e explorem novas ideias criativas com mais eficiência.

A integração de Inteligência Artificial (IA) na Unreal Engine oferece uma perspectiva promissora para o futuro do desenvolvimento de jogos, não apenas pela automação de tarefas, mas também pelo acesso à vasta biblioteca de nodes nativos disponíveis na engine. No entanto, é importante que os desenvolvedores utilizem a IA com cautela, evitando a dependência excessiva de assistentes automatizados. Embora a IA possa agilizar e facilitar o processo de programação, o entendimento dos conceitos fundamentais e o domínio das ferramentas são essenciais para garantir a flexibilidade e a criatividade do desenvolvedor.

#unreal #gamedev #AI #IA

--

--

Rodrigo Moraes
Rodrigo Moraes

Written by Rodrigo Moraes

Designer, 3D art, Animation, UX... Artist.

No responses yet