Generazione del tuo Pokémon unico al mondo
luglio 2026
Panoramica
Dalle sei parole inserite durante il gioco, un'IA genera una nuova specie di Pokémon. Pochi minuti dopo, questa nuova specie appare nell'erba alta, e il giocatore può incontrarla, catturarla e darle un soprannome. È stato realizzato un prototipo di ricerca che compone sul momento non solo l'aspetto e il nome, ma anche il tipo, i valori di base, le mosse e i dati gestiti all'interno del gioco.
Nel prototipo, conversazioni, inserimento di parole, generazione in background, incontri selvatici, cattura e attribuzione del nome sono stati collegati in un'unica esperienza senza fermare il gioco. Le nuove specie vengono registrate non solo come semplici immagini, ma come razze che il sistema di gioco esistente può gestire.
Il fulcro di questo approccio non è il modello generativo in sé. Gli esseri umani progettano le condizioni per mantenere l'equilibrio del gioco e la coerenza visiva, e lasciano che l'IA esplori solo entro quei confini, creando una 'struttura di generazione'. Inoltre, ho sperimentato personalmente giocando, per esaminare preliminarmente se davvero si sviluppa affetto per un oggetto generato solo da sé.
Domanda — Se è unico al mondo, nascerà un attaccamento?
Nei giochi, c'è il piacere di scegliere, sviluppare e dare un nome a un personaggio, rendendolo un "essere unico" proprio. Tuttavia, il punto di partenza si trova tra le opzioni preparate dagli sviluppatori. Quando l'AI generativa permette di creare un essere unico del giocatore già dal punto di partenza, l'attaccamento diventerebbe probabilmente ancora più forte?
Per verificare questa domanda, non basta generare un'unica immagine. È necessario che l'entità generata entri nel mondo del gioco, incontri, venga catturata e possa essere utilizzata anche successivamente. Per questo, sono stati preparati due ingressi con diverso coinvolgimento del giocatore. Parlando con il nonno, la generazione avviene senza input, mentre parlando con la nonna il giocatore sceglie sei parole. Il metodo di generazione di quella partita viene determinato dal lato con cui si parla per primo.
Lo scopo di questo prototipo non è trarre conclusioni sull'attaccamento. Si tratta di creare una base per integrare i prodotti generati nell'esperienza di gioco normale e trovare le condizioni che potranno essere confrontate in futuro.
Flusso del gioco
Di seguito è illustrato il flusso di "generazione coinvolgente" in cui il giocatore sceglie le parole. Si parla con la nonna nella Foresta di Touka e si selezionano sei parole nel "dialogo semplice" presente originariamente nel gioco. Man mano che si continua a giocare, la generazione procede e, quando è pronta, si sente un verso. Entrando nell'erba alta appare una nuova specie, catturabile con le stesse modalità dei Pokémon selvatici normali. Nome, tipo, valori di base, mosse, sprite di battaglia frontale e posteriore e icona del team vengono generati a ogni esecuzione. L'intera sequenza di azioni può essere verificata anche in Video dimostrativo.
Problema di progettazione — se generato liberamente, il gioco si rompe
Il fatto che l'AI possa inventare un nuovo personaggio e il fatto che quel personaggio possa funzionare all'interno del gioco sono due questioni separate. Se le abilità sono troppo elevate, la difficoltà viene compromessa, e se il tipo e le mosse non sono compatibili, sarà difficile allenarlo. Se l'aspetto è troppo complesso, quando viene convertito in uno sprite da 64×64 pixel, la forma diventa illeggibile.
D'altra parte, se si fissa tutto, non ha senso che ogni esecuzione produca qualcosa di diverso. Ciò che era necessario non era eliminare la libertà dell'IA, ma separare le parti da proteggere come gioco da quelle a cui permettere variazioni.
Quindi, l'oggetto di design è stato spostato da un singolo Pokémon a uno spazio in cui i Pokémon possono essere generati. Gli esseri umani definiscono obiettivi, vincoli, divieti e metodi di verifica, mentre l'IA concretizza le opzioni all'interno di tali parametri. Questo è un esempio di design vincolato, La mia filosofia di design, testato come prototipo funzionante.
Approccio: progettare le condizioni di generazione, non il prodotto generato
Non far scrivere frasi libere al LLM, ma far compilare solo le voci prestabilite come nome, tipo, valori della razza, mosse, corporatura e colore. Non adottare direttamente l'output, ma verificarlo con un validatore. Se ci sono violazioni, restituire al modello quale regola è stata infranta e rigenerare fino a soddisfare le condizioni.
- L'essere umano stabilisce i confini. Trasformare l'equilibrio di gioco, la forma leggibile sullo schermo e le espressioni da evitare in regole verificabili.
- L'IA concretizza le proposte. Suggerire i valori delle voci consentite basandosi sulle parole del giocatore.
- La macchina verifica le regole. Valuta automaticamente numeri, combinazioni di tecniche ed espressioni vietate.
- Fornire feedback solo sulle violazioni. I candidati che non soddisfano i requisiti vengono restituiti con le motivazioni e rigenerati.
Vincoli che proteggono il gioco. Il totale dei valori di base è stato fissato nell'intervallo tra 280 e 360, e sono stati posti limiti superiori e inferiori anche per ogni abilità. Le mosse sono state estratte dai sorgenti del gioco e limitate ai tipi della specie o di tipo Normale. Inoltre, sono state escluse mosse one-hit KO, autodistruzione, danno fisso e mosse eccessivamente potenti, e sono stati controllati anche il numero di mosse offensive e la presenza di mosse dello stesso tipo. Tasso di cattura e velocità di crescita sono stati fissati in modo tale che le differenze generate rientrassero in un intervallo confrontabile.
Vincolo per proteggere l'aspetto. La forma del corpo è stata scelta da candidati che mantengono facilmente il contorno anche in piccoli sprite, e il vocabolario dei colori e delle caratteristiche è stato limitato. Sono escluse caratteristiche umane, sanguinamenti, armi, testi, ecc. Infine, condizioni per prevenire errori come "solo un corpo", "tutto il corpo" e "non creare arti extra" devono sempre essere aggiunte alle istruzioni per la generazione delle immagini.
Secondo un record, il modello ha inizialmente proposto un'idea con un totale dei valori di specie pari a 380. Il quadro rilevava le violazioni e incoraggiava la rigenerazione, portando infine a una specifica di 320. L'importante non è che venga fuori un buon risultato per caso, ma che sia stato progettato un processo che non adotta risultati fuori dal quadro.
Completare l'esperienza all'interno del gioco
L'unica cosa con cui il giocatore interagisce sono le conversazioni nel gioco, la scelta delle parole e gli incontri tra l'erba alta. Non è necessario aprire un'altra schermata per la generazione. D'altra parte, i processi di calcolo più complessi sono gestiti da un processo Python sul PC, che collabora con il gioco tramite file. Lo script Lua su mGBA fa da ponte tra i due, separando la sensazione di gioco tradizionale dall'elaborazione dell'intelligenza artificiale esterna.
- Creare le specifiche. Il modello linguistico locale converte sei parole in dati di specie verificati.
- Creare una figura. Il modello di immagini disegna un'illustrazione di riferimento e da essa genera icone frontali, posteriori e da mano in una postura coerente.
- Convertire in dati per il gioco. Ridurre l'immagine a 15 colori e convertire/comprimere in sprite e palette gestibili dal GBA.
- Riflettere sul gioco in esecuzione. Scrivi i dati nell'area prenotata e fai apparire una nuova specie senza riavviare il gioco.
Poiché gli stessi dati vengono scritti anche sul disco, la razza riflessa rimane anche se si ricarica il gioco. La generazione avviene una sola volta e non può essere annullata. Se si scappa o si perde durante un incontro, rimane nel mondo, ma se viene sconfitta non apparirà mai più. Questa irreversibilità è stata concepita anche come parte del design per dare all'esperienza il senso di 'un solo esemplare nel mondo'.
Cose che abbiamo potuto confermare con il prototipo
Questa è una verifica di fattibilità realizzata da una sola persona, e non un gioco completato né un esperimento con utenti. I punti raggiunti e le aree non verificate sono suddivisi come segue.
- Ambito in cui il funzionamento è stato verificato. Abbiamo verificato in modo completo su mGBA le conversazioni in gioco, l'inserimento delle sei parole, la generazione dello sfondo, la riflessione nel gioco in esecuzione, gli incontri selvatici, la cattura e l'inserimento del soprannome.
- Implementato per scopi di confronto. Sono stati predisposti due ingressi: la 'generazione passiva' senza input e la 'generazione coinvolta' per scegliere le parole, in modo da poter registrare conversazioni, incontri, catture, ecc.
- Esiste una base, ma l'ambito non è stato testato nella sua interezza. L'aumento di livello dopo la cattura, l'apprendimento delle mosse, le battaglie, la conservazione nella box e l'uso continuativo dopo il salvataggio sono collegati ai sistemi esistenti, ma non sono stati effettuati test attraverso sessioni di gioco prolungate.
- Ambito non implementato. La funzione di generare l'evoluzione in loco e l'esperimento di confronto dell'attaccamento tra più partecipanti sono rimasti come compiti futuri.
Il risultato dei miei esperimenti — solo essere unico non ha fatto nascere attaccamento.
Da quanto ho potuto giocare personalmente al prototipo, non è nata una forte affezione per i Pokémon generati. Questa è solo l'impressione di chi ha implementato il gioco e non costituisce un risultato sperimentale generalizzabile. Tuttavia, è stato un indizio utile per pensare a cosa cambiare e confrontare successivamente.
Ci sono due condizioni che sembrano influenzare l'attaccamento.
- La qualità del prodotto generato. Se non supera un livello che suscita attrazione nell'aspetto o nelle impostazioni, la rarità di essere "l'unico nel mondo" da sola non può sostenere l'affetto.
- Profondità dell'impegno. Scegliere solo sei parole ha fatto sentire il risultato più come qualcosa di "ricevuto" che di "creato da sé". Si può pensare che a generare il senso di coinvolgimento non sia la quantità di input, ma la qualità del processo creativo, come rifare le scelte, confrontare, correggere e assumersi la responsabilità del risultato.
In contrast, there is "Hanagitsune," which was created through multiple interactions with generative AIs and manual work, separate from game-generated content. I am attached to this character, for whom I compared candidates, made corrections, and refined until it reached a satisfactory form. I believe this is because both sufficient quality and involvement, including trial and error, were present.
Questo prototipo non risponde alla domanda «Il contenuto generato suscita attaccamento?». Ha suddiviso la domanda vaga in due elementi, la qualità del prodotto generato e la profondità del coinvolgimento, che possono essere intenzionalmente modificati. Nella verifica successiva sarà necessario integrare nella fase di produzione la scelta, il confronto e la correzione, uniformare la qualità del prodotto generato a un livello costante e permettere il confronto tra più partecipanti.
Implementazione
La pipeline di generazione, il quadro dei vincoli e della verifica, la conversione dei dati per GBA e le modifiche lato gioco sono pubblicati su Repository GitHub.
pret/pokeemerald È stato realizzato come ricerca personale basandosi sulla decompilazione. Non vengono distribuiti né ROM, né patch della ROM, né asset del gioco. Tutti gli sprite pubblicati qui sono originali generati dall'AI. Pokémon è un marchio di Nintendo, Creatures Inc. e Game Freak Inc., e questo progetto non ha alcun collegamento con queste aziende né ha ricevuto la loro approvazione.