Mi Pokémon único en el mundo
julio de 2026
Resumen
A mitad de la partida, en una ventana dentro del propio juego, el jugador escribe unas pocas palabras. Con el juego aún en marcha, una IA las convierte en una especie de Pokémon completamente nueva —ilustración, nombre, tipo, estadísticas base y movimientos— y la registra como una especie de pleno derecho. La encuentras en la hierba alta, la capturas, le pones mote y la crías como a cualquier otra.
Nada está escrito de antemano. La especie que acaba en la partida guardada no había existido nunca y no existe en ningún otro sitio.
Parte de lo que los videojuegos siempre han ofrecido es hacer algo que sea tuyo. En la práctica, eso ha significado elegir dentro de un conjunto fijo. Este proyecto existe para comprobar si la IA generativa hace que tuyo sea literalmente cierto y, sobre todo, si algo literalmente tuyo es algo a lo que un jugador llega a tomar cariño.
Recorrido
Todo empieza al hablar con una anciana en el Bosque Petalia. Describes la criatura que tienes en mente; esas palabras se convierten en una especie mientras sigues jugando; y unos minutos después está esperando en la hierba alta, lista para ser encontrada, capturada y usada a partir de entonces exactamente igual que cualquier otra cosa del juego. Todo se fabrica en el momento: el nombre, el tipo, las estadísticas base, el conjunto de movimientos, los dos sprites de combate y el icono del equipo.
Aquí hay una partida completa, de principio a fin: My Own Pokémon Generation — demo02.
Por qué esto y no un generador de criaturas
El problema interesante no es si una IA puede inventar un Pokémon. Es si puede inventar uno que el juego sea capaz de absorber sin romperse. Abandonado a su suerte, un generador produce o bien algo inservible —un monstruo de 900 puntos de estadísticas que trivializa el juego— o bien algo desagradable: un sprite deforme que deja de leerse como criatura.
Así que el trabajo de diseño aquí no es la criatura. Es el espacio dentro del cual se genera: las bandas de estadísticas, las reglas de legalidad de los movimientos, las siluetas que sobreviven a un sprite de 64×64, el vocabulario con el que al jugador se le permite siquiera describir. El modelo explora ese espacio. No llega a definirlo.
Este proyecto es donde mi filosofía de diseño deja de ser un argumento y se pone a prueba: definir los objetivos, valores, restricciones y límites que dan forma a un espacio de diseño, dejar que la generación ocurra dentro de él y averiguar si el resultado se sostiene.
El marco es la investigación
El LLM nunca escribe libremente. Rellena huecos de un esquema fijo, y cada salida vuelve a ser revisada por un validador. Las infracciones se devuelven para regenerarse junto con la regla concreta que se ha incumplido.
Las restricciones de equilibrio mantienen el juego jugable. El total de estadísticas base se ciñe a una banda fija —de 280 a 360, más o menos el nivel de un inicial— con rangos por estadística, y las especificaciones fuera de banda se rechazan de plano. Los movimientos se extraen automáticamente del código de pokeemerald y luego se filtran al tipo propio de la especie o a Normal, eliminando los movimientos de KO fulminante, los efectos de autodestrucción y el daño fijo o desmedido. El conjunto resultante se comprueba por coherencia: suficientes movimientos ofensivos, al menos un ataque del mismo tipo, como mucho un movimiento de alta potencia. La asignación de niveles la hace el marco de forma determinista, no el modelo. Todo lo demás queda fijado —una habilidad por tipo, ratio de captura, curva de crecimiento, proporción de géneros, compatibilidad con MT— de modo que la variación individual se queda confinada a los huecos del esquema y las ejecuciones siguen siendo comparables.
Las restricciones de apariencia impiden que la salida se descomponga. Los planes corporales salen de una lista blanca de siluetas que sobreviven a un sprite de 64×64: cuadrúpedo, roedor, ave, lagarto. El color se elige de una lista blanca con nombres, y el color corporal de la Pokédex se deriva mecánicamente. Los rasgos se limitan a entre una y tres frases cortas prefijadas, con una lista negra que rechaza rasgos humanos, sangre, armas y texto. El marco compone él mismo la instrucción final y le añade un epílogo fijo: una sola criatura, cuerpo entero, anatomía coherente, sin extremidades de más, expresión serena.
Funciona, y se puede ver funcionando. En una ejecución registrada, el modelo propuso un total de estadísticas base de 380; el validador lo devolvió tres veces —380, 360, 340— hasta que la especificación aterrizó dentro de la banda, en 320.
Cómo funciona
El juego en sí no genera nada. El trabajo lo hace un proceso de Python residente en el PC, y las dos mitades se hablan a través de un buzón de archivos que un script de Lua en mGBA consulta en cada fotograma.
- Texto. Un modelo local (
qwen3:8b) convierte las palabras en un registro de especie validado. - Imagen. Un modelo de imagen dibuja una ilustración de referencia y, a partir de ella, tres vistas coherentes entre sí: el sprite frontal de combate, el trasero y el icono del equipo.
- Conversión. El arte se cuantiza a una paleta común de 15 colores y se convierte al formato de sprites de pokeemerald.
- Codificación. Los sprites pasan a binarios de GBA: tiles de 4bpp y 1bpp, paletas
gbapaly compresión LZ77 compatible con la BIOS. - Inyección. Los binarios se escriben en una región reservada de la ROM.
Escribir en el cartucho en tiempo de ejecución significa que la instancia en marcha recoge la especie nueva sin reiniciar, y que la misma secuencia de bytes va al disco, de modo que el cambio sobrevive a una recarga.
Lo que aparece es permanente e irreversible. Deambula: si huyes o pierdes, se queda en el mundo. Si lo debilitas, se pierde para siempre.
Implementación
El generador, el marco de restricciones, los codificadores de GBA y el parche del lado del juego están publicados por completo: github.com/takafumihoriuchi/my-own-pokemon-generation.
Posdata — sobre el apego
El prototipo zanja una cuestión técnica. Detrás de ella está la que de verdad me importa: un Pokémon generado para ti, que no existe en ningún otro sitio, ¿acaba significando más que uno que venía con el juego?
De jugar a mi propia versión —una muestra de uno, y no conviene leerla como nada más— parecen desprenderse dos condiciones que gobiernan la respuesta.
- Cuánto de ti ha entrado en ello. Escribir seis palabras es participar, pero de una forma delgada: lo que vuelve se siente entregado más que hecho. Lo que parece importar no es el volumen de la aportación, sino su carácter: esfuerzo, iteración, margen para revisar y alguna responsabilidad sobre cómo ha salido.
- Calidad. El apego parece necesitar que lo generado supere un umbral. Por debajo de él, que algo sea único y tuyo no sostiene el sentimiento por sí solo.
Un caso de fuera del juego habla de las dos. Trabajando a mano con ChatGPT, yendo y viniendo hasta quedar satisfecho, diseñé una especie propia: Hanagitsune. Le tengo cariño. La había hecho en lugar de encargarla, y lo que salió superaba el listón de calidad.
Ambas condiciones son abordables. Un proceso de creación más hondo —elegir, revisar, descartar— mueve la primera; mejores modelos y un marco de instrucciones diseñado con más cuidado mueven la segunda. Ahí es donde sigue esto.
Así que el resultado del prototipo no es un veredicto sobre la pregunta. Es la pregunta hecha medible: dos variables que ahora pueden moverse a propósito y observarse.
Construido sobre la descompilación pret/pokeemerald como investigación personal. No se distribuye ninguna ROM, parche de ROM ni recurso del juego, y todos los sprites que aparecen aquí son arte original generado por IA. Pokémon es una marca registrada de Nintendo, Creatures Inc. y GAME FREAK Inc.; este proyecto no está afiliado a ellas ni cuenta con su respaldo.