Jacquard ja trükitud maailmad AI-loodud mängudele

AI- ehitatud mängud näevad demos lihtsad välja. Raske osa on tüübitud piirangud, redaktori võimalused, füüsika, NPC-de käitumine, taasesitus ja ohutu...

Jacquard ja trükitud maailmad AI-loodud mängudele

Demo on lihtne osa

Esimene Jacquardi demo on tahtlikult ahvatlev. Agent avab brauseripõhise mootori, kutsub tüübitud tööriista, loob stseeni, modelleerib maastiku, paigutab objektid, ühendab käitumise, salvestab kogumi ja annab maailma tagasi inimesele, kes saab vajutada mängimise nuppu. Ei mitu gigabaiti mahukat redaktorit. Ei lauaarvuti mootori tseremooniat. Ei rituaali, kus enne esimese idee liikumist tuleb installida natiivne tööriistaahel.

Kui see oleks kogu lugu, oleks Jacquardi lihtne selgitada: kiiremad prototüübid, odavamad treeningusimulatsioonid ja väikesed interaktiivsed maailmad, mis on loodud tavakeelest. Lähtematerjal toetab osaliselt sellist kuju: Jacquard on Dweve uurimisprojekt, kirjutatud range TypeScriptina ja loodud töötama brauseri vahekaardil. Marsruudi metaandmed kirjeldavad veebipõhist mängumootorit, kus AI-agendid ehitavad tüübitud API kaudu täielikke mänge, sealhulgas visuaalse redaktori, füüsika ja NPC-käitumisega.

Kuid hea demo võib varjata tegelikku probleemi. Panna agent tootma usutavat mängustseeni pole enam raske osa. Raske osa on muuta loodud maailm piisavalt piiratuks, et seda saaks kontrollida, piisavalt redigeeritavaks, et disainer saaks seda muuta, piisavalt füüsikaliseks, et seda saaks mängida, piisavalt käitumuslikuks, et see loeks, ja piisavalt turvaliseks, et genereerimine ei muutuks uueks viisiks luua kontrollimatut olekut.

See on huvitav küsimus: kas mängumootor saab avaldada iga tähendusliku toimingu tüübitud pinnana, mida jagavad nii agendid kui ka inimesed, säilitades samal ajal taasesituse, autorluse, turvalisuse ja disaini tekstuuri?

Miks on küsimus endiselt lahtine

Tavaline pakendatud tööriist püüab oma lubaduse külmutada. Siin on, mida see teeb. Siin on tugimudel. Siin on piir. Siin on rikkerežiim. Jacquard on huvitavam enne, kui need laused muutuvad liiga siledaks, sest rasked küsimused on endiselt omavahel seotud.

Praegune lähtekood kirjeldab agentide esikohal mootorit, MCP-pinda, deterministlikku taasesitust, Rapier3D-d WASM-is, WebGPU-d WebGL2-varulangemisega, glTF 2.0 varasid ja ainult brauseripõhist teed. Need on konkreetsed insenerivalikud. Need on ka alles algus sotsiaalsele lepingule AI-loodud mängude ümber.

Mängud ei ole dokumendid kokkupõrkekastidega. Mängumaailm on elav geomeetria, ajastuse, füüsika, sisendite, olekusiirete, mängija ootuste ja autorikujundusliku üllatuse paigutus. Kui AI-süsteem genereerib aruande, saab lugeja märkida lõigu valeks. Kui AI-süsteem genereerib mängumaailma, võib viga ilmneda uksena, milleni ei pääse, mitte-mängijatähena, kes valetab ülesande oleku kohta, füüsikaimpulsina, mis rikub taasesituse, või redaktoritoiminguna, mille agent tegi, kuid mida disainer hiljem ei mõista.

Ebamugavad küsimused ongi asja mõte. Mida peaks agent tohtima otse muuta? Millised redaktori võimalused peavad olema esmaklassilised tüübitud toimingud? Millised genereeritud varad on ohutud pakendada? Millist käitumist tuleb enne käivitamist kontrollida? Milline maailma olek kuulub sündmuste logisse, mitte peidetud mootori hunnikusse? Need ei ole kosmeetilised tagavaraloendi üksused. Need on mootor.

Mootor on argument ulatuse üle

Enamik mängumootoreid on suurepärased tööriistad inimestele laua taga. See ei tee neist häid aluseid agentidele. Nende võimsus elab sageli menüüde, paneelide, mootorispetsiifiliste skriptikeelte, patenteeritud varatorustike ja kasutajaliideste voogude taga, mis eeldavad, et inimene oskab visuaalselt otsida järgmist juhtnuppu. Agent saab õppida klõpsama, kuid redaktoris klõpsamine ei ole sama, mis programmilise lepingu omamine.

Jacquard muutub keeruliseks just ulatuse tõttu: iga loodud maailmategevus vajab tüübitud rada.

Jacquard võtab vastupidise seisukoha. Kui redaktor suudab seda teha, peaks seda suutma ka tööriistakutse. Funktsioon, milleni agent koodi kaudu ei jõua, ei ole selle uurimisküsimuse jaoks tegelikult olemas. See reegel kõlab karmilt, kuni näed agenti proovimas maailma ehitada ainult GUI-põhise mootoriga. Agent on sunnitud ligikaudsele lahendusele: arvab menüü, loodab, et valitud paneel on aktiivne, kraabib veateate ja jätkab olekuga, mida ta ei suuda tõestada.

Allikas nimetab takistuse selgelt: ainult GUI-põhised funktsioonid, rasked installerid, mootoripõhised DSL-id, suletud torustikud. Jacquard vastab brauseri vahelehe, avatud vormingute, glTF-varade, serialiseeritavate maailmade, skeemiga valideeritud parameetrite, tüübitud vigade ja ühe tüübitud pinnaga, mida jagavad nii visuaalne redaktor kui agent. Sellepärast pole mootor lihtsalt mootor. See on ulatuse eksperiment.

Ulatus ei ole mugavus. See on ohutus. Kui iga toiming on kutse, saab iga toimingut nimetada, piirata, logida, tagasi lükata, taasesitada ja selgitada. Kui võimekus on peidetud menüü taha, peab agent toimetama kavatsuse läbi pinna, mida pole kunagi selleks kavandatud. Erinevus on sama mis erinevus inseneri jaoks, kes loeb API-jälge, ja inimese jaoks, kes püüab meenutada, milline paneel oli avatud, kui stseen muutus.

Maailm ei ole pilt

AI-pildigeneratsioon on õpetanud inimesi aktsepteerima kummalist tehingut: küsi pilti, saa pilt, andesta struktuur, kui pind näeb õige välja. Mängud ei jää selle tehingu juurde ellu. Mängutaset hinnatakse mitte ainult selle järgi, millele see ühest kaameranurgast sarnaneb. Seda hinnatakse selle järgi, kas mängija saab sellest läbi liikuda, kas füüsika püsib stabiilsena, kas eesmärgid lahenevad, kas NPC-käitumine austab maailma ja kas olekut saab taasesitada, kui midagi valesti läheb.

Maailm ei ole pilt. See on olek, reeglid, aeg ja taasesitatavad tagajärjed.

Siin muutub tüübitud piirangute roll keskselt oluliseks. Maastikutööriist ei saa lihtsalt künkaid maalida. See peab teadma, kus on kõnnitavad pinnad, kuidas nõlvad mõjutavad tegelase juhtimist, kuidas taimestik ja valgustus mõjutavad nähtavust ning kuidas seemnestatud genereerimine annab hiljem sama tulemuse. Stseenitööriist ei saa lihtsalt asju paigutada. See peab looma adresseeritavaid üksusi, kinnitama komponente, versioonihaldama graafi ja muutma tulemuse piisavalt eristatavaks ülevaatamiseks.

Jacquard'i tööriistapalet teeb selle nähtavaks. Leht nimetab viisteist kategooriat: stseen, üksus, komponent, vara, materjal, füüsika, maastik, valgustus, heli, kasutajaliides, ülesanne, NPC, ehitus, silumine ja mängutestimine. Samuti nimetab see kirjutuskaitstud ressursse, nagu projekti metaandmed, stseenigraaf, varakataloog, jõudlusmõõdikud ja vealogi. See ei ole suvaline menüü. See on taksonoomia sellest, mida mängumaailm peab avalikustama, enne kui agent saab olla rohkem kui nutikas makrosalvesti.

Teadusprobleem ei ole see, kas kõik viisteist kategooriat saavad eksisteerida. Need eksisteerivad juba allikaväitena. Probleem on see, kui väljendusrikas, ohutu ja kombineeritav igaüks neist peab olema, enne kui genereeritud maailmad lakkavad olemast haprad artefaktid ja hakkavad käituma nagu autorite loodud süsteemid. Vastust ei leita kõvemini küsimisega. See leitakse, muutes esituse selliseks, millele on raskem valetada.

Redaktor ei ole kaunistus

Nõrk lugemine agendipõhisest tööriistast käsitleb redaktorit vaatajana. Agent loob asju; inimene vaatab. See on Jacquard'i jaoks vale mudel. Allikatekst on täpne: visuaalne redaktor kasutab sama API-d mis agendid. See on sama pinna mitteprivilegeeritud klient. See üksainus fakt hoiab ära sügava lõhe tekkimise projekti sees.

Kui agendil on eratee maailma ja redaktoril teine, kaotab inimene lõpuks. Genereeritud olek muutub tehniliselt kehtivaks, kuid praktiliselt mittemuudetavaks. Disainer näeb lossi, kuid ei saa avastada, miks ülesande lipp on kinnitatud selle üksuse külge, miks maastikul on nähtamatu tõkestaja või miks NPC ajakava muutub pärast teist ööd. Tulemus näeb välja nagu tootlikkus ja käitub nagu võlg.

Ühine API tähendab, et redaktoril peavad olema võimalused samade kontseptsioonide jaoks, mida agent manipuleerib. See peab näitama stseenigraafi, komponente, käitumisi, ressursse, vigu ja jõudlust viisil, millest inimene saab aru. See peab laskma disaineril maailma parandada ilma lepingust välja astumata, millest taasesitus sõltub. Redaktor on seega osa uurimisinstrumendist.

See on ebamugav nõue, sest see aeglustab fantaasiat. Lihtsam on lasta agendil varjatud juhtmestikku genereerida ja seejärel loota, et demo töötab edasi. Jacquard palub, et varjatud juhtmestik muutuks piisavalt nähtavaks, et disainer saaks selle üle vastutuse võtta. AI-loodud mängud muutuvad tõsiseks alles siis, kui inimene saab need pärida ilma kohtuekspertiisita.

Füüsika on koht, kus võlu muutub vastutuseks

Füüsikal on jõhker viis muuta ähmane genereerimine nähtavaks ebaõnnestumiseks. Lugu talub veidi narratiivset käteviibutust. 3D-maailm kehade, kokkupõrgete, maastiku ja mängija sisendiga ei talu. Kui samm muutub koos kaadrisagedusega, triivib taasesitus. Kui tegelase juhtimine sõltub logimata impulsist, muutub veateade kuulujutuks. Kui sama seeme annab teisel masinal erinevad kehaasendid, ei ole maailm korratav tõendusmaterjal.

Füüsika on esimene koht, kus loodud võlu peab vastama mehaanilisele süsteemile.

Jacquard toetub sellele Rapier3D-le WASM-is ja fikseeritud 60Hz ajasammule. Lähtematerjal kirjeldab deterministlikku füüsikat, seemnestatud juhuslikkust, salvestatud sisendit ja mehaanilist taasesitust tüpiseeritud sündmuste logist. Sama seeme, sama logi, samad kaadrid. Veateade on lisatud logi; esita see uuesti ja näed, mida mängija nägi. See on tugevam väide kui ekraanisalvestus, sest see säilitab interaktiivsed põhjused, mitte ainult piksleid.

Uurimisküsimus on, mis juhtub, kui generatsioon sellesse ahelasse siseneb. Agent saab luua silla, kuid sild peab järgima massi, kokkupõrke, ligipääsetavuse ja mängutesti piiranguid. See võib luua NPC, kuid NPC peab liikuma maailmas, mille geomeetria võib muutuda. See saab häälestada maastikku, kuid sellest tulenevad nõlvad peavad jääma mängitavaks. See võib lisada skriptitud sündmuse, kuid see sündmus tuleb logida nii, et taasesitus saab selle kaasa võtta.

Füüsika ei ole seega alamsüsteem virna põhjas. See on üks generatsiooni hindajaid. Loodud mängumaailm ei ole hea sellepärast, et see näeb usutav välja. See on hea, kui mängija saab selles elada, kui reeglid peavad ja kui hilisem ülevaataja saab sama ebaõnnestumise uuesti esitada, selle asemel et küsida mudelilt, mida see mõtles.

NPC-käitumine on kiht, kus keel saab otsa

Mängijavälised tegelased muudavad Jacquardi raskemaks kui tasemeredaktor. Staatilist ruumi saab uurida geomeetriana. NPC on olek ajas: ajakava, eesmärk, taju, dialoog, sotsiaalne graaf, ülesannete seos, teekonna leidmine, mälu ja ebaõnnestumine. Lähtematerjal nimetab käitumispuid, ajakavasid, eesmärke, narratiivi andmetena, tingimusgraafe ja hargnevat progressiooni. Need sõnad on kohad, kus AI-loodud mängud lakkavad olemast mänguasi.

Keel on kasulik kavatsuse jaoks. See on halb lõplik esitus käitumise jaoks. Käsk saab öelda, et valvur peaks öösel kahtlustav olema, külaelanikele abivalmis, varastele vaenulik ja andestav pärast seda, kui mängija ülesande lõpetab. Mootor vajab midagi teravamat: milline andur loeb ohtu, milline tingimus muudab suhtumist, milline ülesande lipp tühistab kahtluse, milline ajakava liigutab valvurit ja milline dialoogirida on lubatud pärast oleku üleminekut.

See teravus on põhjus, miks tüpiseeritud NPC-tööriistad on olulised. Ilma nendeta toodab agent meeleolusid. Nendega peab see kirjutama käitumise kontrollitavatesse struktuuridesse. Disainer saab seejärel küsida, kas valvur on ebaõiglane, kas ülesanne võib ummikusse jääda, kas sotsiaalne graaf loob võimatuid kohustusi või kas loodud juhend paneks kõik NPC-d koonduvad samale igavale rutiinile.

NPC-käitumine muudab ka ohutuse praktiliseks. Ebaturvaline genereerimine ei ole ainult solvav tekst või keelatud sisu. See võib olla käitumissilmus, mis lõksustab mängija, lahendamatu ülesanne, loodud sotsiaalne graaf, mis kodeerib vaenulikku stereotüüpi, või ajakava, mis põhjustab jõudluse kokkuvarisemise. Ohutus genereerimise ümber peab toimima mängusüsteemide tasandil, mitte ainult sõnade tasandil.

Ohutus on kuju probleem

Kõige lihtsam ohutuslugu ütleb, et agent võib või ei või genereerida sisutükki. Jacquard vajab struktuursemat lugu. Küsimus ei ole ainult selles, kas genereeritud vara on lubatud. Küsimus on selles, kas genereeritud muudatus sobib maailma lepinguga. Kas see muudab ainult seda ulatust, mis talle anti? Kas see paljastab, mida ta muutis? Kas toimetaja saab seda kontrollida? Kas taasesitus suudab seda reprodutseerida? Kas ehituse ja mängutestimise tööriistad suudavad selle tagasi lükata enne, kui inimene peab uudsust ekslikult valmimiseks?

Ohutus ei ole hoiatussilt. See on kuju, mille kehtestavad eelarved, tüübid, taasesitus ja piirangud.

Allikas osutab sellele tüpiseeritud kutsete, skeemi valideerimise, kirjutuskaitstud ressursside, silumise, mängutestimise, kaasaskantavate pakettide ja avatud failide kaudu. Need ei ole glamuurne ohutusfunktsioonid, kuid need loevad rohkem kui dramaatiline keeldumissõnum. Piiratud kutset saab keelata. Tüpiseeritud viga saab parandada. Kirjutuskaitstud ressurss võimaldab agendil kontrollida ilma muutmata. Ehituse samm saab pakendada ainult selle, mis on serialiseeritav. Deterministlik mängutest võib paljastada, et genereeritud uks ei avane kunagi.

Ohutu genereerimine tähendab ka kiusatusele vastupanu osutamist ebakindluse varjamisel. Kui agent ei saa teada, kas mõistatus on lahendatav, ei tohiks süsteem seda lahendatuna pakendada. Kui NPC-käitumine sõltub mitmetähenduslikust olekust, peaks toimetaja selle mitmetähenduslikkuse nähtavaks tegema. Kui füüsika taasesitus lahkneb, peaks väide ebaõnnestuma. Ebaõnnestumise sõnavara alles ehitatakse.

Jacquard peaks muutma ebakindluse nähtavaks, mitte lihvima seda valelubaduseks. Kui genereeritud sisu ei ole piisavalt piiratud, peaksid toimetaja, logi, taasesituse tee ja tüpiseeritud vead selle lünga paljastama, kui see on veel piisavalt väike, et seda parandada. See ei ole karedus iseenda pärast. Nii väldivad genereeritud maailmad muutumast sisuvõlaks.

Brauser muudab iteratsiooni majandust

Jacquard brauseri vahekaardil võib kõlada nagu levitamisfunktsioon, ja see ongi. Nullinstallatsioon alandab maailma proovimise kulusid. WebGPU ja WebGL2 annavad mootorile praktilise renderdamistee. Klassiruum, teaduspartner või disainiseanss ei pea algama raske natiivse installiga. Kuid brauser loeb sügavamal põhjusel.

See muudab iteratsioonitsükli lühemaks. Agent saab ehitada, toimetaja saab kontrollida, mängija saab testida ja logi saab taasesitada ilma maailma liigutamata läbi patenteeritud tööriistade ahela. Sama keskkond saab paljastada stseenigraafi, käivitada füüsikat, mängida heli, kontrollida jõudlust ja pakendada kaasaskantava paketi. See ei lahenda mängudisaini, kuid eemaldab palju juhuslikku tseremooniat selle uurimiselt.

Brauser muudab ka piirid selgemaks. Kui maailm avaneb nagu veebileht, saab muuta nähtavaks, mis käivitus, mis laaditi, mis olek muutus ja mis eksporditi. Kui mootor on range TypeScript, mis sihib ES2022, avatud glTF-varade ja serialiseeritavate maailmadega, saab artefakti lugeda rohkem inimesi kui ühe töölauamootori väike preesterkond.

See avatus on praktiline eelis. Rohkem silmi saab esitust kontrollida. Rohkem agente saab MCP kaudu ühendada. Rohkem tõrkeid saab taasesitada logidena, mitte jutustada anekdootidena. Brauser ei tee probleemi lihtsaks. Ta teeb probleemi jälgitavaks.

Prototüübi surve murraks selle

On tuttav tarkvararefleks: kui miski demonstreerib hästi, silu seda, kuni seda saab pakendada. Jacquard on täpselt selline süsteem, mis seda refleksi karistab. Kui seda liiga vara siluda, peab meeskond teesklema, et autorluse leping on paigas, enne kui rasked küsimused on lahendatud. Mis on stabiilne autorluse leping? Millised genereeritud käitumised on toetatavad? Millised füüsikaväited kehtivad kõigis brauserites? Millised redaktori kontseptsioonid on nüüd püsivad? Millised ohutuskontrollid on kohustuslikud?

Enneaegne pakett peaks teesklema, et vastused on juba paigas. See kitsendaks uurimistööd sellele, mida on kõige lihtsam pakendada. Tulemuseks oleks lõbus mänguasi poleeritud esikülje ja habras seljaga. Jacquardi huvitav lubadus on suurem: mängumootor, kus AI-agendid ja inimdisainerid jagavad sama tüpiseeritud tööpinda, kus maailma olek on kontrollitav, kus taasesitus on mehaaniline ja kus genereerimine on piiratud süsteemide, mitte tunnetega.

See lubadus väärib kannatlikkust, sest see puudutab korraga mitut rasket valdkonda. Programmeerimiskeele disain ilmneb tööriista skeemides. Inimese ja arvuti interaktsioon ilmneb redaktoris. Simulatsioon ilmneb füüsikas. Mängu-AI ilmneb NPC-käitumises. Ohutus ilmneb genereerimise piirides. Infrastruktuur ilmneb pakendamises, brauseri täitmises ja avatud vormingutes. Kitsas rakendus valiks ühe ja nimetaks teisi äärejuhtumiteks. Jacquard hoiab neid ühendatuna.

Mõte on hoida väide täpsena. Jacquard on uurimistöö agendipõhise, brauseripõhise mänguloomise vallas. See saab olla kasulik katsetuste ja partneritöö jaoks, ilma et peaks teesklema, et iga autorluse leping on lõplik. See ausus on osa inseneritööst.

Mis teeb uurimistöö usaldusväärseks

Märgid ei ole turundusmärgid. Need on tehnilised ja kogemuslikud märgid. Genereeritud maailm peaks olema redaktori kaudu kontrollitav ilma salajase olekuta. Tööriistakutsete ebaõnnestumine peaks andma kasulikke tüpiseeritud vigu. Taasesitus peaks taasesitama tähenduslikke tõrkeid. NPC-käitumine peaks olema loetav andmetena ja silutav süsteemidena. Mängutestimine peaks tabama ilmseid võimatusi enne, kui need muutuvad inimlikuks pettumuseks.

Mootor peaks ka säilitama autorluse. AI-loodud mängud vajavad siiski inimese maitset. Agent saab maailma visandada, kuid disainer peab saama seda kujundada, kaotamata jälge, kuidas see loodi. Kui inimene peab kontrolli taastamiseks otsast alustama, polnud agent kaastöötaja. See oli kiire tehnilise võla allikas.

Ohutus peaks muutuma vähem teatraalseks ja rohkem mehaaniliseks. Genereeritud muudatus peaks kandma ulatust, päritolu ja ülevaatusseisundit. Ainult lugemiseks mõeldud kontroll peaks erinema muutmisest. Ehitus peaks keelduma sellest, mida ei saa puhtalt pakendada. Silumine peaks näitama, kust käitumine pärineb. Mängutestimine peaks olema piisavalt skriptitav, et muuta väited korratavaks. Need on igavad sõnad, mistõttu need loevad.

Kui need omadused on tavalised, saab Jacquard toetada tugevamaid lubadusi. Seni on uurimistöö aus silt. See ütleb meeskonnale ja lugejale, et eesmärk pole mitte ainult panna AI mänge tootma, vaid muuta AI-loodud mängumaailmad piisavalt loetavaks, et neid omada.

Kasulik väide

Jacquard ja tüübistatud maailmad tehisintellekti loodud mängude jaoks, sest tegelikult pole asi selles, et mängud tekivad käsklustest. Asi on masinavärgis, mida on vaja enne, kui käsklustest loodud mängudest saavad tõsised artefaktid: tüübistatud piirangud, ühised redaktori töövahendid, deterministlik füüsika, kontrollitav NPC-käitumine, avatud varad, kaasaskantavad paketid ja ohutus genereerimise ümber.

Kasulik pilt pole maagiline mootor. See on töökoda, kus agent ja disainer puudutavad samu tööriistu. Agendil pole peidetud ust. Redaktoril pole nõrgemat kaarti. Füüsikasüsteem ei muutu valikuliseks, kui stseen näeb kena välja. Sündmuslogi ei kao pärast demot. Genereeritud maailm jääb maailmaks, mida keegi saab uurida, taasesitada, muuta ja kaitsta.

See on pikk inseneriprogramm, mitte loosung. Kui see õnnestub, on kasutajapoolsed pinnad selgemad, sest raskeid küsimusi ei ole kiirustades lahendatud. Kui see ebaõnnestub, õpetab ebaõnnestumine ikkagi midagi selle kohta, millistel tingimustel saab AI ohutult autorina luua interaktiivseid süsteeme. Mõlemad tulemused on kasulikud.

Praegu on kõige täpsem öelda nii: Jacquard on avatud uurimismootor AI loodud mängumaailmade jaoks. Sellel on lubatud olla põnev. Sellelt nõutakse ka täpsust. AI autorluses loodud mängude tulevikku ei võida kõige ilusam esimene stseen. Selle võidab maailm, mis on endiselt mõistlik, kui mängija, disainer, agent ja taasesituslogi sinna tagasi pöörduvad.