E aí pessoal, eu sou Fabrício Carraro e boas-vindas a mais um episódio da websérie sobre IAs Generativas no canal da Alura. Sempre temos, todo mês, episódios novos dessa websérie com novidades sobre o mundo da IA, com aplicações também. E hoje, como vocês já viram na descrição do episódio, vamos criar juntos um jogo, um jogo do zero, que você vai usar a IA para criar o jogo, você não vai precisar codar nada na sua mão e você vai rodar diretamente de uma IDE.
No caso, será o Visual Studio Code, mas fica tranquilo porque vou segurar na sua mão e vamos fazer tudo isso juntos. Inicialmente, você vai precisar abrir o ChatGPT. Você pode usar, na verdade, qualquer modelo para fazer esse projeto.
Você pode usar também o Claude, que é um dos melhores, se não o melhor para código hoje em dia, mas ele tem um leve problema. A melhor versão dele se chama Claude 3. 5 Sonnet.
E como você viu aqui, quando eu estou abrindo, ele está usando o Claude Haiku na versão gratuita, que é a versão um pouco menos robusta, um pouco menos poderosa. Normalmente, eles disponibilizam o Claude 3. 5 Sonnet para você utilizar, mas como eles têm alguns problemas, às vezes, de muitas pessoas utilizando ao mesmo tempo, só as pessoas que têm a versão paga vão poder utilizar o Claude 3.
5 Sonnet. Então, por causa disso, eu optei por utilizar o ChatGPT 4o, que está disponível na versão gratuita, mas se você tiver a versão paga do ChatGPT, eu recomendo você utilizar, não o ChatGPT 4o, mas utilizar essa versão do o1-preview. Ele ainda está em uma versão Preview na data de gravação desse vídeo.
Daqui a pouquinho, já vai lançar na versão completa, mas ele é o modelo mais poderoso, porque ele tem um pensamento, entre muitas aspas, claro, um raciocínio interno na cadeia de pensamento. Se você não sabe o que é isso, vou deixar na descrição também o vídeo sobre engenharia de prompt, que eu explico mais sobre o que é Chain of Thought, a cadeia de pensamento, e ele utiliza esse método para melhorar a resposta. Mas podemos começar com o ChatGPT 4o, que está disponível na versão paga quanto na gratuita, é o mesmo modelo, então vamos poder fazer isso juntos sem problema.
E o jogo que vamos criar é um joguinho clássico da nossa infância, pelo menos da minha infância, que é o Pac-Man, e para isso vamos utilizar a linguagem Python, mas como eu falei, você não precisa se preocupar, porque você manualmente não vai ter que rodar absolutamente nada. Vamos pedir tudo aqui para o ChatGPT, para ele dar o código para a gente. Vou começar aqui pedindo muito, de uma maneira muito simples, muito tranquila.
Vamos criar um jogo em Python, usando a biblioteca Pygame. É uma biblioteca muito legal, que ela vai te ajudar muito para liberar, na verdade, muito do trabalho. Ela já tem muitas coisas ali embutidas, então vai ficar muito mais fácil da gente fazer esse jogo.
O jogo se chama Pylura, e é baseado no clássico jogo do Pac-Man, como eu falei. E aqui abaixo podemos começar a dar as instruções detalhadas de como esse jogo vai funcionar. Então, o que é o jogo do Pac-Man?
Então, você vai ter que pensar para dar essas instruções de uma maneira muito clara para a IA. Para o modelo de linguagem do ChatGPT, ou qualquer outro que você use, do Claude, do Gemini do Google também que você pode utilizar. Vamos começar.
O que é a ideia do jogo? Existe um labirinto, correto? É o primeiro ponto.
Segundo, o personagem principal é uma bolinha amarela com uma boca aberta na frente. Vamos dizer assim, ele é controlado pelo jogador. No labirinto, existem vários pontinhos brancos.
Quando o personagem principal come esses pontinhos, a pontuação dele aumenta em 1 ponto. Vamos explicando bem detalhadamente, de uma maneira bem calma, bem explícita também, tudo o que acontece no jogo. Então, já temos o labirinto, já temos o personagem principal, já temos os pontinhos que ficam lá.
E agora temos os fantasminhas também. Existe um fantasma que se move de maneira aleatória pelo labirinto, tentando atacar o personagem principal. Se o fantasma tocar no personagem principal, o personagem principal morre.
Eu poderia ter dito, ele morre, mas como sempre, eu prefiro deixar de uma maneira muito mais clara, para não haver nenhum tipo de confusão, problems que poderíamos encontrar mais a frente. Então, se ele tocar no personagem principal, o personagem principal morre e o jogo recomeça com a pontuação igual a zero. Eu acho que isso já é um bom início, já é um bom ponto.
Eu vou até dar um "Ctrl+C", para caso não dê certo, com o ChatGPT-4o, eu vou mostrar para vocês também, daqui a pouco, como funciona isso no o1-preview, no outro modelo que comentei para vocês, que é na versão paga. Vamos dar um "Enter" e ver se isso já funciona dessa maneira. Ele já começou diretamente, como você já deve estar acostumado, a criar o jogo.
Ele terminou já a criação do código inteiro, e se você der uma olhada, ele importou o Pygame, Random, fez várias configurações também, da posição do labirinto e essas coisas, desenhou o labirinto utilizando a biblioteca Pygame. Uma função para mover o fantasma, para checar se houve uma colisão ou não, então tem várias coisas que ele fez. Ele fez o código inteiro, mesmo você não sabendo necessariamente o que esse código está fazendo, e ele explica até como executar.
Então ele fala que você tem que instalar a biblioteca Pygame, se não tiver, e rodar e executar o arquivo Pylura. Para fazer isso, vamos precisar de uma IDE, ou seja, que é um lugar onde você vai poder escrever, na verdade, rodar esse código. Eu prefiro usar a mais famosa de todas, que é a Visual Studio Code.
Ela é gratuita, é só você ir no site do Google, baixar, fazer o download para Windows ou Mac, seja qual sistema operacional você estiver utilizando, e instalar. Quando você instalar, ela vai estar aqui. Essa será a abertura, a página inicial do Visual Studio Code.
Para começar, vou criar uma pasta para deixar as coisas mais organizadas, no meu desktop mesmo, vou chamar a pasta de Pylura. E voltando ao Visual Studio Code, eu posso simplesmente abrir, Open Folder, ir no meu desktop, abrir a pasta Pylura, que não tem nada dentro. Sim, vou confiar nos autores.
Dentro dela, eu clico no botão direito do lado, dentro dessa parte, na lateral esquerda, que tem esse Explorer, clico em New File, que aí eu vou criar o Pylura. py, que é o nome do meu arquivo, Pylura, o nome do joguinho, . py, que é a extensão dos arquivos Python.
E aí agora eu posso voltar no ChatGPT, e clicar em Copy Code, para copiar o código, e aí é só colar, literalmente copia e cola, e eu posso salvar esse código da maneira que ele está. Outra coisa, se você não tiver o Python instalado no seu computador, você vai precisar instalá-lo. É só você digitar Python no Google, opa, escrevi errado, perdão.
Welcome to Python. org, você vai em Downloads, faz o download da última versão do Python e instala porque senão não vai rodar, e também você vai precisar dessa biblioteca Pygame, que eu vou fazer junto com vocês a instalação delas. Para fazer isso, você vai no Terminal, você clica em New Terminal, para abrir um novo terminal, ele vai abrir dentro da própria pasta, não tem problema nenhum.
E aí como você já instalou o Python, você vai poder utilizar o pip, que ele vai basicamente controlar as bibliotecas, manejar as bibliotecas do seu sistema. E você vai fazer a instalação, pip install pygame, só isso. Você roda isso, e ele vai baixar, vai instalar essa biblioteca Pygame, você vai ver que ela está em amarelinho aqui, que não está disponível, ela não existe no sistema, você vai ver que agora que está instalada, ela vai sumir isso daqui, já não está mais com aquele underline, aquele sublinhado amarelinho nela, e agora podemos, se você quiser, podemos já rodar o jogo, você acha que vai funcionar ou não?
Vamos ver. E bom, voltando no ChatGPT, ele falou exatamente o que fizemos, pip install pygame, para instalar essa biblioteca Pygame, ele falou para rodar, execute o arquivo python pylura. py, então eu vou dar um "Ctrl+C", "Ctrl+V" aqui, executar o pylura.
py, e olha, ele está mais ou menos funcionando, já está criando um joguinho, tem uma coisa amarela, eu estou movendo aqui o pontinho amarelo com os meus cursores, com as minhas setinhas do mouse, ele está com menos pontos, então está funcionando, realmente funcionou, a pontuação está crescendo, ele só está meio rápido demais, eu quero ver se eu consigo encostar no fantasma e morrer. Está até difícil encostar no fantasma. Zerou a pontuação, estava mais de 100, agora está em 24.
E claro, ele ficou dessa maneira um pouco estranha, mas você poderia pedir alterações nesse jogo. Então, não gostei, o fantasma está muito rápido, e eu não vejo a boca do personagem principal, e eu quero mais fantasmas. Eu fiz tudo em uma mesma linha, mas eu poderia fazer em linhas diferentes, o fantasma está muito rápido, ponto 1.
Ponto 2, eu não vejo a boca do personagem principal. Ponto 3, eu quero, vamos especificar, mais 2 fantasmas. E agora ele vai melhorar o jogo e vai escrever o código novamente, voltamos daqui a pouco.
Ele criou o jogo inteiro novamente, de uma maneira interessante, você pode literalmente conversar com o LLM, com o ChatGPT, com o Claude ou com o Google Gemini. Então eu copiei, cliquei no Copy Code, vou substituir, colar, vou dar um Save, e vou rodar novamente, python pylura. py.
Olha, agora tem a boquinha, eu estou vendo, os fantasmas estão mais lentos realmente, e tem 3 fantasmas, exatamente como eu pedi. Mas não está perfeito, ainda está um pouco estranho, deixa eu tentar encostar no fantasma, a pontuação minha está em 93, 100 e pouco, zerou, e eu comecei lá do começo. Está funcionando e você pode continuar conversando, melhorando isso, mas eu quero agora mostrar outra coisa para vocês, que é fazer o mesmo prompt, literalmente o mesmo prompt, posso até voltar lá em cima e copiar para mostrar para vocês que estou copiando exatamente o mesmo, mas em vez de utilizar esse modelo, o ChatGPT 4o, eu quero usar o modelo pago, o o1-preview, que é o que faz isso que eu comentei lá atrás para vocês, do Chain of Thought, a cadeia de pensamento.
Vou colar aqui, e simplesmente dar um "Enter", e uma coisa que vocês vão notar diferente, ele não começa a dar resposta já direto, ele está "thinking", que é pensando, Creating a Game, que é criando um jogo, fazendo o código, então ele vai mostrando do lado direito, as coisas que ele está pensando e fazendo, ele funciona de uma maneira diferente, e olha, ele está desenhando o labirinto, uma coisa que não tinha naquele jogo que a gente tinha criado até agora, então daqui a pouco eu volto com o código completo. Voltando, o código já está completo, ele deu umas explicações muito legais, o X representa a parede, a bolinha é o ponto que o jogador pode comer, vamos dar um copy code, copiar esse código, vou apagar e substituir pelo código novo, você está vendo que a cara do código está um pouco diferente daquela que a estávamos fazendo até agora, mas para rodar é a mesma coisa, python pylura. py, porque ele está no mesmo arquivo.
Vamos ver, olha a diferença! ele fez de uma maneira muito diferente, ele está batendo nas paredes, ele não está perfeito também, mas ficou de uma maneira bem diferente como ele criou, como ele foi pensar em fazer o jogo, e podemos pedir para ele mudar isso, a pontuação está estranha, está simples demais, algumas coisas estão erradas. Eu vou falar para ele que tem bugs nesse código, a movimentação está um pouco estranha, o fantasma parece meio travado.
Vamos pedir para ele refazer isso. você vai ver que ele está pensando, eu posso até clicar aqui. Ele vai refazer esse código, está fazendo, analisando o movimento das dinâmicas, examinando o código, então ele está fazendo uma cadeia de pensamento lá dentro, para ver os caminhos que ele pode tomar, para melhorar as coisas que você pediu aqui, lá no código original, refinando o movimento do pac-man, melhorando as mecânicas do jogo, analisando problemas, ele faz algumas coisas em inglês, outras em português, é bem interessante.
Voltamos daqui a pouco com o código completo. Ele falou que ele pensou por 56 segundos, ele está mostrando todos os passos do pensamento, quase todos os passos do pensamento dele, e ele fala aqui, as correções que ele fez, a movimentação do pac-man, da dinâmica do jogo, do fantasma, eu vou simplesmente fazer um copy code para copiar esse código, vou apagar e substituir, dar um salvar, e aí vou rodar novamente, vamos ver se mudou. Já está bem melhor aparentemente, mas olha, uma coisa que eu notei, é que ele está, quando eu fico só em cima do pontinho, ele já fica contando a pontuação sem parar, então ele continua ainda com erros, mas eu morri, consegui morrer e zerar.
Então, são algumas coisas que você pode ir melhorando, fica como desafio para você continuar melhorando, e se você fizer um jogo completo, um código completo, recomendo que você suba no seu GitHub. Se você não sabe, recomendo muito que você aprenda o que é o GitHub. Aqui está o meu, com alguns dos meus repositórios, e lá você pode compartilhar o seu código.
Pode deixar também, na descrição desse vídeo, o link para o seu GitHub, para a gente olhar o seu código. Se ficar bom, vamos até fazer algo juntos no futuro, quem sabe. Mas se você curtiu esse vídeo, vale se inscrever no canal da Alura, dá um like, que isso sempre nos ajuda muito a continuar.
Se você quiser aprender mais coisas sobre inteligência artificial, temos tanto a escola nova de inteligência artificial na Alura, que vai te ensinar coisas práticas, como usar a IA na programação, mas também em outras áreas, como design, marketing, finanças e etc. Ou também, se você quer aprender como desenvolver modelos, como modelos de linguagem, você também pode fazer os cursos da escola de Data Science, onde vai aprender a base do Machine Learning, aprendizado de máquina e muito, muito mais. Claro também, se você quiser aprender outras coisas, tem a escola de programação, tem a escola de front-end, tem a escola de gestão e inovação, se você quiser aprender sobre soft skills, vai ter tudo lá na Alura.
Por hoje é isso pessoal, nos vemos no mês que vem, em mais um episódio da webséries sobre IAs generativas. Até mais pessoal, tchau, tchau!