
O surgimento relativamente recente de ferramentas de codificação assistida por IA e todo o conceito de "codificação intuitiva" revolucionaram os fluxos de trabalho de desenvolvimento de software. Embora essas ferramentas estejam disponíveis para programadores iniciantes dispostos a se dedicar à configuração, aqueles com pouca ou nenhuma experiência em programação ainda podem se sentir intimidados pelas interfaces de linha de comando (CLIs), ambientes de desenvolvimento integrados (IDEs) e configurações complexas em terminal necessárias para criar um projeto complexo codificado por IA atualmente.
O mais recente projeto da Meta, baseado em IA, pretende tornar esse tipo de programação intuitiva tão acessível quanto postar em redes sociais. O Pocket — lançado nos EUA na última sexta-feira, 21 de agosto, após a Meta adquirir a equipe por trás do aplicativo de programação intuitiva Gizmo, agora extinto, em março — é um aplicativo móvel que permite aos usuários criar "gizmos" interativos totalmente funcionais apenas digitando comandos em uma caixa de texto, sem sequer precisar olhar uma linha de código. Esses "gizmos" podem então ser compartilhados com o mundo em um estilo de rolagem infinita semelhante ao TikTok, com direito a curtidas, comentários, compartilhamentos e todas as outras características do vício em redes sociais.
Depois de usar o Pocket por quase uma semana, me vi viciado no processo simples de criar rapidamente protótipos de jogos funcionais e relativamente ricos em recursos, apenas conversando com um assistente de linguagem. Mas o resultado de todo esse tempo e esforço com IA é um par de brinquedos interativos que estão efetivamente presos no novo ambiente fechado da Meta, sem nenhuma maneira real de transformá-los em algo independente.
Me atraindo
Para começar a criar com o Pocket, tudo o que você precisa fazer é digitar em uma caixa de texto grande e amigável com a etiqueta "Descreva uma ideia...".
Depois de algumas tentativas frustradas, meu primeiro projeto real. Pocket foi centrado na ideia de um jogo em que você toca e segura a tela do telefone para girar um estilingue e, em seguida, solta para lançar um tiro tangencial contra hordas de inimigos que se aproximam.
Uma visão aérea de um homem no centro da tela. Ao tocar e segurar, ele gira um estilingue ao seu redor em um círculo. Ao soltar o dedo, o estilingue lança uma bola perpendicularmente à sua trajetória. Quanto mais tempo você segurar, mais rápido a bola será lançada".
Após enviar a solicitação e esperar quase dois minutos, fiquei surpreso com a rapidez e precisão com que o Pocket correspondeu à minha visão geral. O que teria levado horas para um programador novato e desinteressado como eu, lutando com modelos de física e referências de código, já estava em um estado funcional e pronto para teste com o mínimo esforço. O Pocket até adicionou alguns alvos explosivos de fardos de feno que eu não havia solicitado, bem como recursos de interface de usuário adicionais, como um contador de pontos e um medidor de potência na tela, que presumo que os dados de treinamento do modelo sugeriram que provavelmente seriam adições bem-vindas.
Com esse protótipo inicial em mãos, mergulhei em horas de ajustes guiados pela atmosfera do jogo. Ao longo de mais de 100 sugestões, comecei a refinar a ideia básica do controle de "estilingue" em algo mais parecido com um jogo completo. Pedi que os robôs marchassem da borda da tela, depois pedi novos tipos de robôs para dar variedade. Pedi um sistema de munição, depois pedi que fosse removido em favor de uma "velocidade mínima do estilingue" que impedisse efetivamente o disparo repetido. Pedi itens e uma cerca elétrica ao redor do jogador, além de inúmeras pequenas alterações no sistema de pontuação, efeitos sonoros, velocidade do estilingue, padrões de inimigos e características grandes e pequenas.
Quando esse projeto estava em um formato razoável, me vi ansioso para continuar criando usando a IA. Comecei quase imediatamente com um jogo de malabarismo simples no estilo arcade, com bolas coloridas que você precisa controlar rebatendo-as em raquetes controladas pelos polegares. Ao longo de mais algumas horas, fui adicionando uma variedade de itens, um sistema complexo de multiplicador de pontuação e um conjunto de gráficos de fim de jogo para acompanhar o progresso.
Nesse ponto, tenho vagas lembranças de lutar para fazer até mesmo programas de computador simples funcionarem enquanto eu cursava minha graduação em ciência da computação. Comparado a isso, o processo de criar jogos com o Pocket parecia quase mágico. Tudo o que eu precisava fazer era pensar em um novo recurso que gostaria de testar, e o Pocket já tinha uma versão do jogo pronta com esse recurso cerca de um minuto depois de eu digitá-lo.
Na maioria das vezes, o resultado de uma solicitação era exatamente o que eu esperava, sem necessidade de ajustes adicionais. Em uma minoria das vezes, precisei interagir com algumas solicitações adicionais para esclarecer o que eu queria dizer ou ajustar a aparência ou o comportamento de um recurso que funcionava melhor na teoria do que na prática. Apenas algumas solicitações fizeram com que o Pocket parecesse ignorar completamente meu pedido ou quebrasse o jogo por completo, caso em que um único toque podia reverter para a versão anterior e me permitir tentar novamente.
Às vezes, eu tentava ser relativamente detalhado nas minhas instruções, especificando exatamente como eu queria que um multiplicador de pontuação funcionasse ou ajustando um limite percentual para a potência do arremesso, por exemplo. Outras vezes, eu deixava minhas instruções relativamente curtas e vagas — "adicione detecção de colisão às bolas pequenas" ou "adicione um pouco mais de impacto ao efeito sonoro da bola perdida", por exemplo — e descobria que o Pocket havia interpretado o que eu queria dizer com uma precisão surpreendente.
O Pocket também possui uma aba "Ideias" que pode sugerir ideias que adicionam conjuntos inteiros de recursos antes mesmo de você pensar neles. Essas ideias eram bastante inconsistentes, com muitas que não faziam sentido para o jogo que eu estava criando ou que replicavam recursos que já existiam no jogo (às vezes de uma forma pior). Mas algumas das ideias do Pocket, como adicionar efeitos visuais importantes ou novas variações divertidas de jogabilidade que eu nem havia considerado, me levaram a uma espécie de crise existencial sobre o quão necessário eu realmente era em todo esse processo.
Cara, cadê meu código?
Criar jogos simples exclusivamente por meio de comandos de IA tem suas desvantagens. Algo tão simples quanto mover um elemento da interface do usuário alguns pixels para a direita, por exemplo, exige um comando completo e uma espera de aproximadamente um minuto enquanto a IA reconstrói completamente o aplicativo. Em um jogo programado manualmente, o mesmo ajuste levaria apenas alguns segundos e não exigiria o que certamente é uma quantidade escandalosa de tokens de IA consumidos nos bastidores.
Testar um Pocket também pode ser um pouco complicado. Sem a possibilidade de configurar rastreamentos de memória ou inserir pontos de parada de execução, às vezes eu tinha que confiar na observação cuidadosa e nas informações exibidas na tela para descobrir por que algo não estava funcionando exatamente como eu queria. Mesmo assim, eu sempre tinha a vaga suspeita de que poderia haver algum bug oculto ou caso extremo estranho que eu simplesmente não havia percebido. Sem poder ver o código, não é algo em que eu confiaria o suficiente para nada além de um simples projeto de teste.
Há também algo um tanto genérico na aparência e na experiência dos recursos que o Pocket tende a gerar. O sistema usa emojis ou formas básicas para muitos elementos gráficos, e os efeitos sonoros do WebAudio tendem a ser apenas "bipes e sons eletrônicos."
Você pode adicionar seus próprios sons gravados ou pedir ao Pocket para gerar gráficos com base em comandos de IA para amenizar um pouco esse problema, mas a sensação genérica de tudo o que ele gera pode ser difícil de superar.
Há um fascínio irresistível em deixar um agente de IA fazer todo o trabalho pesado nos bastidores enquanto você simplesmente pondera sobre ideias, sem se preocupar com as peculiaridades dos motores de física, árvores de código ou erros de sintaxe. Eu me pegava criando novas ideias para o jogo mesmo enquanto o Pocket trabalhava na implementação da minha última, ansioso para alimentar a máquina de criação de jogos com meus conceitos o mais rápido possível. E todo o processo era tão simples e ágil que eu conseguia fazer tudo isso enquanto assistia a um jogo de beisebol na TV ao fundo.
O feed do dispositivo
Por mais mágico que seja o processo de criação de jogos do Pocket, a forma limitada como o Pocket permite compartilhar esses jogos com o mundo é o oposto disso. A única maneira de permitir que outras pessoas experimentem sua criação do Pocket é compartilhando-a como uma publicação, combinando seu pequeno dispositivo interativo com uma legenda curta e uma foto de capa.
