Criando Jogos com IA: uma Experiência Deliciosamente Frustrante

Criando Jogos com IA: uma Experiência Deliciosamente Frustrante

Aqui na Moyens I/O, cobrimos muitas notícias e recursos relacionados à IA. Você deve ter visto nossos artigos sobre plug-ins ChatGPT, GPT-4 e muito mais. Naturalmente, então, passo muito tempo analisando o que a IA pode fazer e, sim, tentando incorporar a IA ao meu fluxo de trabalho para ver se ela pode fazer uma diferença drástica na minha produtividade no trabalho. Recentemente, no entanto, eu queria tentar usar a IA para algo diferente do trabalho. Eu queria ver se eu poderia usar o ChatGPT para desenvolvimento de jogos com IA.

Encontrando um jogo para construir

O primeiro passo para construir um jogo é descobrir o que exatamente construir. Obviamente, você não pode escrever o código para um jogo sem saber para o que está codificando.

Felizmente, esse tipo de coisa é fácil para uma ferramenta como o ChatGPT. Você pode simplesmente pedir para ele sugerir jogos que você pode construir, e ele pode sugerir (na maioria das vezes) tudo, desde jogos básicos e simples de construir, até jogos mais complexos e complicados.

Então, pedi ao ChatGPT para sugerir alguns jogos simples que eu possa construir usando HTML, CSS e JavaScript. Dessa lista, escolhi construir “Whack-a-Mole”. Parece um jogo fácil de construir, com uma lógica simples o suficiente.

Fazendo o ChatGPT escrever código

Neste ponto, alguém que sabe programar pode facilmente construir este jogo. No entanto, eu queria que o ChatGPT construísse o jogo inteiro para mim, então eu tive que criar prompts para isso.

Também não foi muito difícil. Você pode simplesmente pedir para o ChatGPT escrever o código para o jogo, e como o ChatGPT é sensível ao contexto, ele sabe do que você está falando e pode escrever o código para isso, como você pode ver na captura de tela abaixo.

Originalmente, eu tinha decidido ser um programador limpo e separar o HTML, CSS e JS em arquivos individuais, chamados index.html, styles.css e script.js… seguindo o padrão da indústria para nomes de arquivos.

desenvolvimento de jogos de IA código HTML
fazendo jogos com ia pedindo o código de estilo css
desenvolvimento de jogos com IA pedindo ao chatgpt para fornecer código para lógica javascript

No entanto, isso rapidamente me irritou, porque o ChatGPT não é tão bom em escrever código.

Corrigindo bugs… Porque sim, existem bugs

A primeira iteração do jogo Whack-a-Mole foi um desastre absoluto. Abri o arquivo no Chrome e o jogo simplesmente não funcionou. Havia buracos de toupeira na minha tela, mas nenhuma toupeira apareceu para eu bater e ganhar pontos.

Nesse ponto, eu poderia tentar consertar o script, mas sendo um programador totalmente inepto, eu não conseguia, nem que tentasse, ter certeza de que o problema estava no script ou se o problema era que o código HTML atribuiu um ID às tags HTML diferente do que o JavaScript estava tentando usar para a lógica do jogo.

Decidindo desistir completamente do trabalho manual, pedi ao ChatGPT para colocar todo o código HTML, CSS e JavaScript em um único arquivo. Felizmente, ele atendeu. Mas, obviamente, o código não funcionaria ainda porque não havia alguns emitir, em algum lugar.

desenvolvimento de jogos de IA combina trechos de código

Para começar, e isso não é exatamente um bug, o ChatGPT colocou o código inteiro em um arquivo, mas deixou espaço para o código JavaScript. Felizmente, você pode simplesmente pedir para ele lhe dar o resto do código, e ele gentilmente cospe o arquivo HTML inteiro, completo com o código.

o desenvolvimento de jogos de IA às vezes deixa espaço em branco para o código
chatgpt fornece o restante do código JS

Como esse é basicamente o código original (que não funciona), ele não roda. E como eu não conseguia (e não queria) descobrir exatamente onde estava o problema, tentei apenas dizer ao ChatGPT que o código não funciona.

O ChatGPT me deu um código novo e atualizado. E ele me disse, com muita confiança, devo acrescentar, que corrigiu o problema que estava fazendo com que o código não fosse executado.

corrigindo bugs com ia para desenvolver um jogo
Diga o que quiser sobre o ChatGPT, ele está muito confiante em suas terríveis capacidades de correção de bugs.

No entanto, após o teste, o mesmo problema persistiu. Desta vez, decidi contar ao ChatGPT qual problema eu estava enfrentando com o código. Ele rapidamente apresentou uma versão atualizada do código e, desta vez, conseguiu descobrir o problema, felizmente.

código fixo de desenvolvimento de jogos de IA

O novo código funcionou corretamente, e eu tinha um jogo de Whack-a-Mole que eu podia jogar no meu navegador. Isso é divertido, certo?

Iterando e melhorando o jogo

Notei uma coisa estranha. O jogo pareceu parar de rodar depois de alguns segundos. As toupeiras simplesmente não apareciam. Analisando o código, rapidamente percebi que o jogo estava codificado para rodar por 10 segundos.

duração do jogo codificada

Tudo bem, mas eu queria deixar o jogador escolher a duração do jogo por si só. Em vez de descobrir como fazer isso, eu simplesmente pedi para o ChatGPT fazer isso por mim.

desenvolvimento de jogos com duração alterada por IA

Com o novo código, o jogo agora tem um campo de entrada onde o jogador pode digitar o número de segundos que o jogo precisa para rodar e então iniciá-lo.

jogo whack a mole rodando no navegador

Verdade, o jogo não parece nada de especial, e a UI é… utilizável, na melhor das hipóteses. No entanto, isso mostra que o ChatGPT pode, com muito trabalho, construir um jogo para você do zero.

Testes e Considerações Finais

Depois de jogar algumas rodadas de Whack-a-Mole, decidi tentar fazer o ChatGPT construir outra coisa também. Dessa vez, decidi por Hangman. Travessuras semelhantes aconteceram em minhas tentativas de fazer o ChatGPT me dar um código funcional para o jogo, no entanto, dessa vez, tive que ser muito mais específico em meu prompt para obter o código corrigido.

O ChatGPT pode, na maioria das vezes, identificar bugs no código. No entanto, pelo que experimentei até agora, ele só é bom em encontrar problemas com sintaxe. Ele não conseguiu, por exemplo, descobrir antes de várias tentativas que o problema com o código que ele escreveu era um caso simples de conversão de caracteres maiúsculos para minúsculos.

desenvolvimento de jogos com correções de bugs de IA
desenvolvendo jogos com ia
construindo um jogo com ia
tentando consertar bugs no desenvolvimento de jogos com IA
finalmente o desenvolvimento do jogo chatGPT conseguiu consertar o bug
O ChatGPT sempre acha que tem o código correto… mesmo quando não tem

Do ponto de vista da sintaxe, o código estava perfeitamente correto. No entanto, os caracteres que o jogador está adivinhando estão em letras maiúsculas, e como o código os estava verificando em relação à palavra pré-definida — que está em letras minúsculas — ele simplesmente nunca os correspondia corretamente.

O legal é que o ChatGPT até colocou o código para exibir uma imagem representativa do carrasco. Tudo o que eu tive que fazer foi criar os vários estágios da jornada do carrasco. Na verdade, eu posso até pedir para o ChatGPT me dizer como criar as imagens.

desenvolvimento de jogos com ia obtendo ajuda para criar imagens de forca

Claro, a qualidade dessas imagens é bem ruim, mas isso é porque eu não queria me preocupar em criar imagens adequadas no Photoshop e decidi fazer capturas de tela.

Fazer jogos com IA é divertido e um pouco irritante
Fazer jogos com IA é divertido e um pouco irritante

A IA é razoavelmente boa em codificação, mas não é perfeita

O ponto principal da minha experiência em desenvolvimento de jogos com IA é simples: ferramentas como o ChatGPT podem fazer um trabalho muito bom de escrever código. No entanto, o ChatGPT não parece escrever o código correto para as coisas na primeira tentativa. Se alguma coisa, você vai é preciso apresentá-lo com diversas descrições dos problemas que você está enfrentando antes que ele possa fornecer um pedaço de código que realmente funcione da maneira que você deseja.

Ainda assim, é impressionante no que pode fazer, e você pode, pelo menos, obter uma versão básica do que está procurando para construir e melhorar. Se você estava, no entanto, se perguntando se criará jogos completos para distribuição, o ChatGPT (e modelos de IA em geral) não estão lá; ainda não.

Apoie o nosso trabalho ❤️

Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.

Pagamento seguro no PayPal
Veja também:  Projeto de Lei do Interruptor de Segurança da OpenAI: Congresso Busca Regular IA
Moyens I/O Staff motivou você, dando conselhos sobre tecnologia, desenvolvimento pessoal, estilo de vida e estratégias que irão ajudá-lo.