Generado de mia propra Pokemon en la mondo
julio 2026
Resumo
AI generos novan Pokemonon el ses vortoj enigitaj dum la ludo. Post kelkaj minutoj, la nova specio aperos en herbejo, kaj la ludanto povas renkonti ĝin, kapti ĝin kaj doni al ĝi kromnomon. Oni kreis esploran prototipon kiu samtempe konstruas ne nur la aspekton kaj nomon, sed ankaŭ la tipon, rasvalorojn, kapablojn kaj datumojn uzatajn en la ludo.
En la prototipo, konversacio, vortopezo, generacio en la fono, renkontoj en la natura medio, kapto kaj nomado estis ligitaj kiel unu sperto sen halti la ludon. Novaj specioj estas registritaj ne nur kiel bildoj, sed kiel raso, kiun la ekzistanta lud-sistemo povas manipuli.
La fokuso de ĉi tiu iniciato ne estis la generativa modelo mem. Homoj dizajnis la kondiĉojn por protekti ludbalancon kaj videcan kongruon, kaj la AI nur esploris ene de tiu kadro, kiu estas nomata 'generativa kadro'. Krome, oni ludis la ludon mem por provizore konsideri, ĉu oni vere sentus afekton nur por sia propra kreado.
Demando — Se ĝi estas unica, ĉu amo naskiĝos
En ludoj ekzistas la ĝojo elekti, kreskigi kaj nomi karakterojn por igi ilin 'propraj unikaj estoj.' Tamen, la startpunkto troviĝas inter la elektoj preparitaj de la evoluiganto. Ĉu, kiam per generativa AI eblos krei ludanton-propran ekziston jam de la startpunkto mem, la afekcio fariĝos eĉ pli forta?
Por konfirmi ĉi tiun demandon, unu generita bildo ne sufiĉas. La generita estaĵo devas eniri la ludmondo, renkonti, kapti kaj poste daŭre esti uzebla. Tial ni preparis du malsamajn eniron kun malsama ludantpartopreno. Se oni parolas al la avo, ĝi estas generita sen enigo, kaj se oni parolas al la avino, la ludanto elektas ses vortojn. La flanko al kiu oni unue parolas determinas la metodon de generado por tiu ludo.
La celo de ĉi tiu prototipo ne estas trakti konkludojn pri ligado. Ĝi celas krei bazon por integri generitajn enhavojn en normalan ludeksperton kaj trovi kondiĉojn por estontaj komparoj.
Ludo-fluo
Jen la fluo de "partoprena generacio", kie ludanto elektas vortojn. Oni parolas al la avino en la arbaro Touka, kaj elektas ses vortojn per la jam ekzistanta ludo "facila konversacio". Dum la ludo progresas, la generacio antaŭeniĝas, kaj kiam ĝi estas preta, oni aŭdas krion. Enirante en la herbejon aperas nova specio, kiun eblas kapti per la sama operacio kiel ordinaraj sovaĝaj Pokmonoj. Nomo, tipo, stataj valoroj, teknikoj, batalŝpritoj de la fronto kaj malantaŭo, kaj tenil-ikonoj generiĝas ĉiufoje. La tuta proceduro povas esti kontrolita ankaŭ en Demonstracia video.
Projektada problemo — Se oni liberforme generas, la ludo rompiĝas.
Ke AI povas krei novajn karakterojn kaj ke tiuj karakteroj funkcias en la ludo estas malsamaj aferoj. Se la kapabloj estas tro potencaj, la malfacileco rompiĝas, kaj se tipo kaj teknikoj ne kongruas, estas malfacile evoluigi ilin. Se la apero estas tro komplika, ĝi malfacile percepteblas kiam ĝi estas transformita al 64×64-piksela sprite.
Aliflanke, se oni fiksus ĉion, ne estus senco ke ĉiu ekzekuto produktu malsaman rezulton. Kio estas bezonata ne estas forigi la liberecon de AI, sed distingi inter tiuj partoj kiuj devas esti protektataj kiel ludo kaj tiuj kiuj povas ŝanĝiĝi.
Tial, oni ŝanĝis la celon de dezajno de unu Pokemono al spaco, kiu povas generi Pokemonojn. Homoj difinas celojn, limigojn, malpermesojn kaj metodojn de kontrolo, kaj AI konkretigas kandidatojn ene de tiuj limigoj. Ĉi tio estas provo testi limobazitan dezajnon, kiu estas Mia desegnfilozofio, kiel movan prototipon.
Alproksimiĝo — dizajni la generajn kondiĉojn anstataŭ la produktojn
Oni ne lasas la LLM skribi liberan tekston, sed nur plenigi antaŭdifinitajn kampojn kiel nomo, tipo, statistikoj, kapabloj, korpotipo, kaj koloro. La eligo ne estas tuj uzata, sed estas kontrolata per validigilo. Se estas malobservoj, oni redonas al la modelo kiuj reguloj estis rompita kaj refaras la generadon ĝis ĉiuj kondiĉoj estas plenumitaj.
- Homo difinas limojn. Transformi ludbalancon, legeblan formon sur ekrano, kaj esprimojn evendajn en inspektible reguloj.
- AI konkretigas la kandidatojn. Baze sur la vortoj de la ludanto, sugesti la valorojn de la permesitaj eroj.
- Maŝino kontrolas la regulojn. Aŭtomate taksi nombrojn, teknikajn kombinojn kaj malpermesitajn esprimojn.
- Nur la malobservojn retrokuplu. Kandidatoj kiuj ne plenumas la kondiĉojn estos resenditaj kun klarigo kaj regeneritaj.
Restriktoj por protekti ludon. La suma valoro de rasoj estis limitita al la intervalo de 280 ĝis 360, kaj limoj estis metitaj ankaŭ por ĉiu kapablo. Atakoj estis eltiritaj el la fonto de la ludo kaj limigitaj al la tipo de tiu raso aŭ la normala tipo. Krome, mortigaj unu-frapaj atakoj, memdetruo, fiksa damaĝo kaj tro fortaj teknikoj estis ekskluditaj, kaj ankaŭ la nombro de atakaj teknikoj kaj ĉu estas teknikoj kiu kongruas kun la tipo estis kontrolitaj. Kaptadofrekvenco kaj kreskorapideco estis fiksitaj, tiel ke diferencoj pro generado povus esti komparitaj.
Limigo por protekti aspekton. La korpformo estas elektita el kandidatoj kiuj eĉ kiel malgranda elglita figuro facile konservas konturon, kaj la vortprovizo pri koloroj kaj trajtoj estas limigita. Homaj trajtoj, sangado, armiloj, literoj ktp estas ekskluditaj. Fine, la kondiĉoj por malhelpi katastrofojn kiel "nur unu ekzemplo", "tuta korpo" kaj "ne krei kromajn membrojn" estas ĉiam aldonitaj al la instrukcioj por bildogenerado.
Unu registro montris, ke modelo unue proponis sumon de bazaj statistikoj de 380. La kadro detektis malobservojn kaj instigis rekreadon, finfine kuniĝante al specifo de 320. La graveco ne estis, ke bonaj rezultoj okazis hazarde, sed ke oni desegnis procezon, kiu ne adoptas rezultojn ekster la kadro.
Kompleti la sperton interne de la ludo
La ludanto nur tuŝas la en-ludan konversacion, la elekton de vortoj kaj renkontojn en la herbejo. Ne necesas malfermi alian ekranon por generacio. Dume, procesoj kun granda kalkula kvanto estas traktataj de Python-procezo sur la komputilo, kun kunordigo kun la ludo per dosieroj. Lua-skrypto sur mGBA servas kiel ponto inter ambaŭ, tiel apartigante la tradician ludan sperton de la prilaborado de la ekstera AI.
- Krei specifojn. Loka lingvomodelo konvertas ses vortojn en kontrolitajn rasecajn datumojn.
- Formi formon. La bildmodeloj desegnas referencajn ilustraĵojn kaj el tio generas frontan, malantaŭan kaj manajn ikonojn kun kohera aspekto.
- Konverti al datumoj por ludo. Redukti la bildon al 15 koloroj kaj konverti/kumprimi ĝin al spritoj kaj paletroj uzeblaj de GBA.
- Speguli al la kuranta ludo. Skribu datumojn en la rezervitan areon kaj enkonduku novan specon sen restartigi la ludon.
Por ke la samaj datumoj ankaŭ estu skribitaj al la disko, la reflektitaj rasoj restos eĉ post rekomenco de la ludo. Generado okazas nur unufoje kaj ne povas esti nuligita. Se oni forkuras aŭ perdiĝas de renkontiĝo, la estaĵoj restos en la mondo, sed se oni venkas ilin, ili neniam plu aperos. Ĉi tiu nereversibleco ankaŭ estas desegnita por doni al la sperto signifon de „nur unu ekzemplero en la mondo“.
Aĵoj kiuj estis konfirmitaj en la prototipo
Ĉi tio estas specimeno por konfirmi realigeblon fare de unu persono, ne kompleta ludo aŭ uzula eksperimentado. La atingopunktojn kaj neekzamenitajn kampojn oni dividas jene.
- La intervalo kie la movado estis konstatita. Ni kontrolis ĉion de konversacio en la ludo, eniro de ses vortoj, fonproduktado, reflektado al la kuranta ludo, renkontoj en la naturo, kapto kaj eniro de kromnomo rekte sur mGBA.
- Tio estis efektivigita por komparo. Ni preparis du enirejojn: 'pasiva generado' sen enigo kaj 'partoprena generado' por elekti vortojn, per kiuj oni povas registri konversaciojn, renkontiĝojn kaj kaptojn.
- Estas fundamento, sed la tuta gamo ankoraŭ ne estas testita. Post kaptado, levoltiĝo, lerni teknikojn, batalo, konservado en skatolo kaj daŭra uzo post ŝparado estas konektitaj al la ekzistanta sistemo, sed ne estis farita testado per longtempa ludado.
- Neimplentita gamo. La funkcio por generi la evoluan celon surloke kaj la kompara eksperimento pri alligiteco farita de pluraj partoprenantoj restis kiel estontaj taskoj.
Post provi ĝin mem — simple esti unika ne sufiĉis por ke veniĝu emocia ligado
Surbaze de mia propra ludo de la prototipo, mi ne evoluigis fortan apecon al la generitaj Pokemono. Tio estas nur la persona opinio de la programisto kaj ne estas eksperimenta rezulto ĝeneraligebla. Tamen, ĝi donis indikon pri kion ŝanĝi por kompari poste.
Estas du kondiĉoj kiuj ŝajnas influi alligitecon.
- La kvalito de la produktaĵo. Se ĝi ne superas la nivelon, kie oni povas specifi ĝian aspekton aŭ agordon kiel allogan, simple la maloftaĵo 'la sola en la mondo' ne sufiĉas por subteni afektecon.
- Profundo de engaĝiĝo. Nur elektante ses vortojn, oni sentis, ke la rezulto estis 'liverita' prefere ol 'proprigita'. Ŝajnas, ke la sento de engaĝiĝo ne devenas de la kvanto de enigo, sed de la kvalito de la kreada proceso, kiel reelekti, kompari, korekti kaj respondi pri la rezulto.
Kontraste al tio estas la „Hanagitsune“, kiu estis kreita ne per aŭtomata generacio por ludo, sed per ripetaj interagoj kun pluraj generaj AI-oj kaj per manlaboro. Mi sentas afektecon al ĉi tiu karaktero, ĉar mi komparis la proponojn, korektis ilin kaj ellaboris ĝin ĝis kontentiga formo. Mi kredas, ke tio estas pro la samaŭ altura kvalito kaj la implikiĝo, inkluzive de provo kaj eraro.
Ĉi tiu prototipo ne respondas al la demando 'Ĉu generita enhavo kreas afektecon'. La neklara demando estis disigita en du elementojn kiuj povas esti intence ŝanĝitaj: kvalito de la generitaĵo kaj profundo de engaĝiĝo. En la sekva esploro, estos necese inkluzivi elekton, komparon kaj korekton en la kreoprocezo kaj post egali la kvaliton de la generitaĵoj al certa nivelo, fari komparon de pluraj partoprenantoj.
Integriĝo
La generada fluo, kadro por limigoj kaj validigo, datumtransigo por GBA, kaj ŝanĝoj sur la ludflanko estas publikigitaj en GitHub-deponejo.
pret/pokeemerald Bazante sur la dekompilado, mi kreis ĝin kiel persona esplorprojekto. Mi ne distribuas ROM-on, ROM-reparon aŭ iamajn ludajn aktivaĵojn. Ĉiuj la spritbildoj publikigitaj ĉi-tie estas originale generitaj de AI. Pokémon estas komerca marko de Nintendo, Creatures Inc. kaj Game Freak Inc., kaj ĉi tiu projekto ne havas rilaton kun tiuj kompanioj nek ricevis ilian aprobon.