Geração do meu próprio Pokémon no mundo
julho de 2026
Resumo
A partir de seis palavras inseridas durante o jogo, a IA gera uma nova espécie de Pokémon. Alguns minutos depois, essa nova espécie aparece na grama, e o jogador pode encontrá-la, capturá-la e dar um apelido. Foi desenvolvido um protótipo de pesquisa que monta no momento não apenas a aparência e o nome, mas também o tipo, os valores de base, os movimentos e os dados manipulados dentro do jogo.
No protótipo, a conversa, a entrada de palavras, a geração em segundo plano, os encontros na natureza, a captura e a nomeação foram conectados em uma única experiência sem interromper o jogo. As novas espécies são registradas como raças que os sistemas de jogo existentes podem manipular, e não apenas como imagens.
O foco principal desta iniciativa não foi o próprio modelo gerador. É um 'quadro de geração' no qual os humanos projetam as condições para manter o equilíbrio do jogo e a consistência visual, e a IA explora apenas dentro desse escopo. Além disso, ele próprio jogou para examinar preliminarmente se realmente se desenvolveria apego a uma criação que fosse exclusivamente sua.
Pergunta — Se for único e insubstituível, surgirá apego?
Nos jogos, existe a diversão de escolher um personagem, desenvolvê-lo e dar-lhe um nome, tornando-o "único para si mesmo". No entanto, o ponto de partida está entre as opções preparadas pelos desenvolvedores. Quando a IA generativa permite criar uma existência única para o jogador desde o próprio ponto de partida, o apego provavelmente se torna ainda mais forte.
Para verificar essa questão, não basta gerar apenas uma imagem. É necessário que a entidade gerada entre no mundo do jogo, encontre coisas, seja capturada e continue utilizável depois. Portanto, foram preparados dois pontos de entrada diferentes com níveis distintos de envolvimento do jogador. Ao falar com o avô, a geração ocorre sem entrada; ao falar com a avó, o jogador escolhe seis palavras. O método de geração desse jogo é determinado pelo lado com o qual se conversa primeiro.
O objetivo deste protótipo não é tirar conclusões sobre apego. Trata-se de criar uma base para integrar os produtos gerados à experiência normal do jogo e encontrar condições que possam ser comparadas no futuro.
Fluxo do jogo
A seguir está o fluxo de "geração de envolvimento" onde o jogador escolhe palavras. Fale com a senhora na Floresta Touka e escolha seis palavras no "conversa fácil" já existente no jogo. À medida que você continua jogando, a geração avança e, quando pronta, um som será ouvido. Ao entrar na grama, uma nova espécie aparecerá e poderá ser capturada com as mesmas operações usadas para Pokémon selvagens normais. Nome, tipo, valores de base, movimentos, sprites de batalha frontal e traseiro, e ícones de bolso são gerados a cada execução. Esta sequência de ações também pode ser verificada em Vídeo de demonstração.
Problema de design — se gerar livremente, o jogo quebra
O fato de a IA ser capaz de criar um novo personagem e o fato de esse personagem ser viável dentro do jogo são questões separadas. Se suas habilidades forem muito altas, a dificuldade será desequilibrada, e se seu tipo e movimentos não combinarem, será difícil treiná-lo. Se a aparência for muito complexa, ao ser convertida em um sprite de 64×64 pixels, a forma se tornará ilegível.
Por outro lado, se você fixar tudo, não faz sentido que algo diferente surja a cada execução. O que é necessário não é eliminar a liberdade da IA, mas separar as partes que devem ser protegidas como um jogo das partes que podem variar.
Portanto, o alvo do design foi mudado de um único Pokémon para um espaço capaz de gerar Pokémon. O ser humano define os objetivos, restrições, proibições e métodos de verificação, e a IA concretiza os candidatos dentro desses parâmetros. Isso é uma tentativa de experimentar o design baseado em restrições, que é Minha filosofia de design, como um protótipo funcional.
Abordagem — projetar as condições de produção, não os produtos
Não permita que o LLM escreva texto livre; faça com que ele preencha apenas os itens determinados, como nome, tipo, estatísticas de espécie, habilidades, tamanho e cor. Não utilize a saída diretamente, mas verifique-a com um validador. Se houver violação, devolva ao modelo quais regras foram infringidas e gere novamente até que as condições sejam atendidas.
- Os humanos determinam os limites. Transformar o equilíbrio do jogo, a forma legível na tela e as expressões a serem evitadas em regras verificáveis.
- A IA concretiza os candidatos. Com base nas palavras do jogador, sugira valores dos itens permitidos.
- A máquina verifica as regras. Julga automaticamente números, combinações de técnicas e expressões proibidas.
- Fornecer feedback apenas sobre violações. Candidatos que não atendem aos critérios devem ser devolvidos com os motivos e regenerados.
Restrições que protegem o brincar. O total de valores de base dos tipos foi definido na faixa de 280 a 360, e limites superior e inferior foram aplicados a cada habilidade. As técnicas foram extraídas da fonte do jogo e restringidas ao tipo daquela espécie ou ao tipo normal. Além disso, foram excluídas técnicas de um golpe fatal, autodestruição, dano fixo e técnicas excessivamente fortes, e também foram verificadas o número de técnicas de ataque e a presença de técnicas combinadas com o tipo. Taxas de captura, velocidade de crescimento e outros foram fixados para que as diferenças geradas pudessem ser comparáveis.
Restrições para proteger a aparência. O tipo de corpo foi escolhido a partir de candidatos que mantêm facilmente o contorno mesmo em sprites pequenos, e o vocabulário de cores e características também foi limitado. Características humanas, sangue, armas e caracteres foram excluídos. Por fim, condições para prevenir falhas, como 'apenas um corpo', 'corpo inteiro' e 'não criar membros extras', devem ser sempre adicionadas às instruções de geração de imagens.
Em um registro, o modelo inicialmente propôs uma ideia com um total de valor de espécie de 380. O framework detectou violações e incentivou a regeneração, eventualmente convergindo para uma especificação de 320. O importante não é que bons resultados surjam por acaso, mas que foi projetado um processo que não adota resultados fora do padrão.
Concluir a experiência dentro do jogo
O que o jogador toca são apenas as conversas dentro do jogo, a escolha das palavras e os encontros na grama. Não há necessidade de abrir outra tela para a geração. Por outro lado, os processos de cálculo intenso são realizados por um processo Python no PC, que colabora com o jogo através de arquivos. O script Lua no mGBA faz a ponte entre os dois, separando a sensação de jogo existente do processamento da IA externa.
- Criar especificações. O modelo de linguagem local converte seis palavras em dados de raças verificadas.
- Formar uma figura. O modelo de imagem desenha uma ilustração de referência e, a partir dela, gera ícones de frente, de costas e de mão de forma consistente.
- Converter para dados de jogo. Reduzir a imagem para 15 cores e converter/comprimir para sprites e paletas compatíveis com GBA.
- Refletir no jogo em execução. Grave dados na área reservada e faça novas espécies aparecerem sem reiniciar o jogo.
Como os mesmos dados também são gravados no disco, a raça refletida permanece mesmo após recarregar o jogo. A geração ocorre apenas uma vez e não pode ser desfeita. Se você fugir ou perder em um encontro, eles permanecem no mundo, mas se você os derrotar, nunca mais aparecerão. Essa irreversibilidade também é um design feito para dar à experiência o significado de "apenas um por mundo".
Coisas que puderam ser confirmadas com o protótipo
Esta é uma verificação de viabilidade feita sozinho, e não um jogo completo ou um experimento com usuários. Os pontos alcançados e as áreas não verificadas estão divididos da seguinte forma.
- O alcance em que a operação foi verificada. Verifiquei de forma contínua no mGBA desde a conversa dentro do jogo, a entrada de seis palavras, a geração de fundo, a reflexão no jogo em execução, o encontro em estado selvagem, a captura, até a entrada do apelido.
- Algo implementado para comparação. Preparamos duas entradas: "geração passiva" sem entrada e "geração envolvente" que escolhe palavras, permitindo registrar conversas, encontros, capturas, entre outros.
- Há uma base, mas a área não foi verificada de forma contínua. O aumento de nível após a captura, o aprendizado de habilidades, batalhas, armazenamento na caixa e o uso contínuo após salvar estão conectados ao sistema existente, mas não foram realizados testes através de longas sessões de jogo.
- Escopo não implementado. A função de gerar o destino da evolução no local e o experimento de comparação de apego por múltiplos participantes foram deixados como desafios futuros.
Como resultado de tentar sozinho — apenas ser único não gerou apego
Pelo que pude jogar do protótipo sozinho, não desenvolvi um apego forte pelos Pokémon gerados. Esta é apenas a impressão pessoal do próprio implementador e não é um resultado de experimento que possa ser generalizado. No entanto, serviu como uma pista para pensar sobre o que mudar em seguida para comparar.
Existem duas condições que parecem influenciar o apego.
- Qualidade do produto gerado. Se não superar um nível que desperte encanto na aparência e na configuração, apenas a raridade de 'ser o único no mundo' não pode sustentar o apego.
- Profundidade de envolvimento. Apenas escolher seis palavras fez com que eu sentisse o resultado mais como algo que foi "entregue" do que algo que eu "criei". Acredita-se que o que gera a sensação de envolvimento não é a quantidade de entradas, mas a qualidade do processo de produção, como reescolher, comparar, ajustar e assumir responsabilidade pelo resultado.
O que se tornou um contraste foi "Hanagitsune", que foi criado com múltiplas IAs geradoras em combinação com trabalho manual, separado da geração automática para jogos. Tenho afeto por esse personagem, que foi cuidadosamente desenvolvido até uma forma satisfatória, comparando opções e fazendo ajustes. Acredito que isso se deve tanto à qualidade suficiente quanto ao envolvimento, incluindo tentativa e erro.
Este protótipo não responde à pergunta 'O conteúdo gerado cria apego?'. Transformou a questão vaga em dois elementos que podem ser intencionalmente alterados: a qualidade do produto gerado e a profundidade do envolvimento. Na próxima verificação, será necessário incorporar escolhas, comparações e revisões no processo de produção, e depois realizar comparações entre vários participantes, garantindo que a qualidade dos produtos gerados esteja em um nível uniforme.
Implementação
O pipeline de geração, o quadro de restrições e validação, a conversão de dados para GBA e as alterações do lado do jogo estão divulgados em Repositório GitHub.
pret/pokeemerald Baseado na descompilação, foi criado como pesquisa pessoal. Nenhum ROM, patch de ROM ou recurso do jogo foi distribuído. Todos os sprites publicados aqui são originais gerados por IA. Pokémon é uma marca registrada da Nintendo, da Creatures Inc. e da Game Freak Inc., e este projeto não tem relação com essas empresas, nem recebeu aprovação delas.