Jacquard un rakstītās pasaules AI veidotām spēlēm
The demo is the easy part
The first Jacquard demo is deliberately seductive. An agent opens a browser-native engine, calls a typed tool, creates a scene, sculpts terrain, places objects, wires behaviour, saves the bundle, and hands the world back to a human who can press play. No multi-gigabyte editor. No desktop-engine ceremony. No ritual of installing a native toolchain before the first idea can move.
If that were the whole story, Jacquard would be easy to explain: faster prototypes, cheaper training sims, and small interactive worlds made from plain language. The source material supports some of that shape: Jacquard is a Dweve research project, written as strict TypeScript, and designed to run in a browser tab. The route metadata describes aweb-native game engine where AI agents build complete games through a typed API, with visual editor, physics, and NPC behaviour included.
But a good demo can hide the real problem. Making an agent produce a plausible game scene is not the hard part anymore. The hard part is making the generated world constrained enough to inspect, editable enough for a designer, physical enough to play, behavioural enough to matter, and safe enough that generation does not become a new way to create unreviewable state.
That is the interesting question: can a game engine expose every meaningful operation as a typed surface shared by agents and humans, while preserving replay, authorship, safety, and the texture of design?
Why the question is still open
A normal packaged tool tries to freeze its promise. Here is what it does. Here is the support model. Here is the boundary. Here is the failure mode. Jacquard is more interesting before those sentences become too smooth, because the hard questions are still connected to each other.
The current source describes an agent-first engine, an MCP surface, deterministic replay, Rapier3D in WASM, WebGPU with WebGL2 fallback, glTF 2.0 assets, and a browser-only path. Those are concrete engineering choices. They are also only the beginning of the social contract around AI-authored games.
Games are not documents with collision boxes. A game world is a live arrangement of geometry, timing, physics, inputs, state transitions, player expectation, and authored surprise. If an AI system generates a report, a reader can mark a paragraph wrong. If an AI system generates a game world, the error may appear as a door that cannot be reached, a non-player character that lies about the quest state, a physics impulse that breaks replay, or an editor operation the agent performed but the designer cannot understand later.
The uncomfortable questions are the point. What should an agent be allowed to mutate directly? Which editor affordances must be first-class typed operations? Which generated assets are safe to package? Which behaviours must be inspectable before they run? Which world state belongs in an event log rather than a hidden engine heap? These are not cosmetic backlog items. They are the engine.
The engine is an argument about reach
Most game engines are excellent tools for humans at a desk. That does not make them good substrates for agents. Their power often lives behind menus, panels, engine-specific scripting languages, proprietary asset pipelines, and UI flows that assume a person can visually search for the next control. An agent can learn to click, but clicking through an editor is not the same as having a programmatic contract.
Jacquard ieņem pretēju nostāju. Ja redaktors to spēj, tad rīka izsaukumam arī būtu jāspēj. Funkcija, kuru aģents nevar sasniegt caur kodu, šim pētnieciskajam jautājumam īsti neeksistē. Šis noteikums izklausās skarbs, līdz redzi, kā aģents mēģina būvēt pasauli tikai ar GUI dzinēju. Aģents ir spiests uz aptuvenību: uzminēt izvēlni, cerēt, ka izvēlētais panelis ir aktīvs, nokasīt kļūdas virkni un tad turpināt ar stāvokli, kuru tas nevar pierādīt.
Avots skaidri nosauc berzi: tikai GUI funkcijas, smagi instalētāji, dzinējam specifiski DSL, slēgti cauruļvadi. Jacquard atbild ar pārlūka cilni, atvērtiem formātiem, glTF līdzekļiem, serializējamām pasaulēm, ar shēmu validētiem parametriem, tipizētām kļūdām un vienu tipizētu virsmu, ko koplieto vizuālais redaktors un aģents. Tāpēc dzinējs nav tikai dzinējs. Tas ir eksperiments sasniedzamībā.
Sasniedzamība nav ērtība. Tā ir drošība. Kad katra darbība ir izsaukums, katru darbību var nosaukt, ierobežot, reģistrēt, noraidīt, atkārtot un izskaidrot. Kad iespēja ir paslēpta aiz izvēlnes, aģentam nolūks jāiegādā caur virsmu, kas tam nekad nav bijusi paredzēta. Atšķirība ir tāda pati kā starp inženieri, kas lasa API izsekošanu, un cilvēku, kurš mēģina atcerēties, kurš panelis bija atvērts, kad aina mainījās.
Pasaule nav attēls
AI attēlu ģenerēšana iemācīja cilvēkiem pieņemt dīvainu darījumu: prasi attēlu, saņem attēlu, piedod struktūru, ja virsma izskatās pareizi. Spēles nevar izdzīvot ar šādu darījumu. Spēles līmenis netiek vērtēts tikai pēc tā, kam tas līdzinās no viena kameras leņķa. To vērtē pēc tā, vai spēlētājs var caur to pārvietoties, vai fizika paliek stabila, vai mērķi atrisinās, vai NPC uzvedība respektē pasauli un vai stāvokli var atkārtot, kad kaut kas noiet greizi.
Šeit tipizēti ierobežojumi kļūst centrāli. Reljefa rīks nevar vienkārši uzkrāsot pakalnus. Tam ir jāzina, kur atrodas staigājamas virsmas, kā nogāzes mijiedarbojas ar varoņu kontrolleriem, kā veģetācija un apgaismojums ietekmē redzamību un kā sēklotā ģenerēšana vēlāk reproducēs to pašu rezultātu. Scēnas rīks nevar vienkārši novietot lietas. Tam ir jāveido adresējamas entītijas, jāpievieno komponenti, jāversijē grafs un jāpadara rezultāts pietiekami salīdzināms pārskatīšanai.
Jacquard rīku palete to padara redzamu. Lapā ir nosauktas piecpadsmit kategorijas: scēna, entītija, komponents, aktīvs, materiāls, fizika, reljefs, apgaismojums, audio, interfeiss, uzdevums, NPC, būve, atkļūdošana un spēļu testēšana. Tajā ir nosaukti arī tikai lasāmi resursi, piemēram, projekta metadati, scēnas grafs, aktīvu katalogs, veiktspējas rādītāji un kļūdu žurnāls. Tā nav patvaļīga izvēlne. Tā ir taksonomija tam, kas spēļu pasaulei ir jāatklāj, pirms aģents var būt vairāk nekā gudrs makro ierakstītājs.
Pētniecības problēma nav tas, vai visas piecpadsmit kategorijas var pastāvēt. Tās jau pastāv kā avota apgalvojums. Problēma ir tas, cik izteiksmīgai, drošai un salikstāmai katrai no tām ir jābūt, pirms ģenerētās pasaules pārstāj būt trausli artefakti un sāk uzvesties kā autorētas sistēmas. Atbilde netiks atrasta, spēcīgāk mudinot. Tā tiks atrasta, padarot reprezentāciju grūtāk melojamu.
Redaktors nav dekorācija
Vāja aģentam paredzētu rīku interpretācija uztver redaktoru kā skatītāju. Aģents rada lietas; cilvēks skatās. Tas ir nepareizs modelis Jacquard. Avota teksts ir rūpīgs: vizuālais redaktors izmanto to pašu API kā aģenti. Tas ir neprivileģēts tās pašas virsmas klients. Šis viens fakts novērš dziļas plaisas veidošanos projekta iekšienē.
Ja aģentam ir privāts ceļš uz pasauli un redaktoram ir cits, cilvēks galu galā zaudē. Ģenerētais stāvoklis kļūst tehniski derīgs, bet praktiski nerediģējams. Dizaineris var redzēt pili, bet nevar atklāt, kāpēc uzdevuma karogs ir piesaistīts šai entītijai, kāpēc reljefam ir neredzams bloķētājs vai kāpēc NPC grafiks mainās pēc otrās nakts. Rezultāts izskatās pēc produktivitātes un uzvedas kā parāds.
Kopīgs API nozīmē, ka redaktoram ir jābūt iespējām tiem pašiem jēdzieniem, ar kuriem manipulē aģents. Tam ir jāparāda scēnas grafs, komponenti, uzvedības, resursi, kļūdas un veiktspēja tā, lai cilvēks par to varētu spriest. Tam ir jāļauj dizainerim labot pasauli, neizejot ārpus līguma, no kura atkarīga atkārtošana. Redaktors tāpēc ir daļa no pētniecības instrumenta.
Šī ir neērta prasība, jo tā palēnina fantāziju. Vieglāk ir ļaut aģentam ģenerēt slēptu vadu un pēc tam cerēt, ka demonstrācija turpina darboties. Jacquard prasa, lai slēptais vads kļūtu pietiekami redzams, lai dizaineris varētu uzņemties atbildību. AI būvētas spēles kļūst nopietnas tikai tad, kad cilvēks tās var mantot bez kriminālistikas arheoloģijas.
Fizika ir vieta, kur šarms kļūst par atbildību
Fizikai ir nežēlīgs veids, kā neskaidru ģenerēšanu pārvērst redzamā neveiksmē. Stāsts var paciest nedaudz naratīvas roku māšanas. 3D pasaule ar ķermeņiem, sadursmēm, reljefu un spēlētāja ievadi nevar. Ja solis mainās ar kadru ātrumu, atkārtošana novirzās. Ja varoņa kontrole ir atkarīga no nereģistrēta impulsa, kļūdu ziņojums kļūst par baumu. Ja tā pati sēkla citā mašīnā rada atšķirīgas ķermeņa pozīcijas, pasaule nav reproducējams pierādījums.
Jacquard to pamato ar Rapier3D WASM vidē un fiksētu 60 Hz laika soli. Avota materiāls apraksta deterministisku fiziku, sēklotu nejaušību, ierakstītu ievadi un mehānisku atkārtojumu no tipizēta notikumu žurnāla. Tā pati sēkla, tas pats žurnāls, tie paši kadri. Kļūdas ziņojums ir pievienotais žurnāls; atskaņo to un redzi to, ko redzēja spēlētājs. Tas ir spēcīgāks apgalvojums nekā ekrāna ieraksts, jo tas saglabā interaktīvos cēloņus, ne tikai pikseļus.
Pētniecības jautājums ir, kas notiek, kad ģenerēšana iesaistās šajā cilpā. Aģents var izveidot tiltu, bet tiltam ir jāpakļaujas masai, sadursmei, sasniedzamībai un spēļu testēšanas ierobežojumiem. Tas var radīt NPC, bet NPC ir jāpārvietojas pasaulē, kuras ģeometrija var mainīties. Tas var pielāgot reljefu, bet iegūtajām nogāzēm ir jāpaliek spēlējamām. Tas var pievienot skriptētu notikumu, bet šim notikumam ir jābūt reģistrētam tā, lai atkārtojums to varētu iekļaut.
Fizika tāpēc nav apakšsistēma steka apakšā. Tā ir viena no ģenerēšanas tiesnešiem. Ģenerēta spēļu pasaule nav laba tāpēc, ka tā izskatās ticama. Tā ir laba, kad spēlētājs tajā var dzīvot, kad noteikumi turas un kad vēlāks recenzents var atkārtot to pašu kļūmi, nevis jautāt modelim, ko tas domāja.
NPC uzvedība ir slānis, kur valoda beidzas
Ne-spēlētāju varoņi padara Jacquard grūtāku par līmeņu redaktoru. Statisku telpu var pārbaudīt kā ģeometriju. NPC ir stāvoklis laikā: grafiks, mērķis, uztvere, dialogs, sociālais tīkls, uzdevumu attiecības, ceļa meklēšana, atmiņa un kļūme. Avota materiāls nosauc uzvedības kokus, grafikus, mērķus, stāstījumu kā datus, nosacījumu grafikus un sazarotu progresiju. Šie vārdi ir vieta, kur AI būvētas spēles pārstāj būt rotaļlieta.
Valoda ir noderīga nolūkam. Tā ir slikta galīgā reprezentācija uzvedībai. Uzvedne var teikt, ka sargs naktī ir aizdomīgs, laipns pret ciema iedzīvotājiem, naidīgs pret zagļiem un piedodošs pēc tam, kad spēlētājs izpilda uzdevumu. Dzinējam ir vajadzīgs kas asāks: kurš sensors nolasa briesmas, kurš nosacījums maina attieksmi, kurš uzdevumu karogs atceļ aizdomas, kurš grafiks pārvieto sargu un kura dialoga rinda ir atļauta pēc stāvokļa pārejas.
Šī asums ir iemesls, kāpēc tipizēti NPC rīki ir svarīgi. Bez tiem aģents ražo noskaņu. Ar tiem tam ir jāraksta uzvedība pārbaudāmās struktūrās. Dizainers tad var jautāt, vai sargs ir negodīgs, vai uzdevums var nonākt strupceļā, vai sociālais tīkls rada neiespējamas saistības vai arī ģenerēta instrukcija liktu katram NPC saplūst vienā un tajā pašā garlaicīgajā rutīnā.
NPC uzvedība arī padara drošību praktisku. Nedroša ģenerēšana nav tikai aizvainojošs teksts vai aizliegts saturs. Tā var būt uzvedības cilpa, kas iesprosto spēlētāju, uzdevums, kas nevar noslēgties, ģenerēts sociālais tīkls, kas ietver naidīgu stereotipu, vai grafiks, kas rada veiktspējas sabrukumu. Drošībai ap ģenerēšanu jādarbojas spēļu sistēmu līmenī, ne tikai vārdu līmenī.
Drošība ir formas problēma
Vienkāršākais drošības stāsts saka, ka aģents var vai nevar ģenerēt satura gabalu. Jacquard ir nepieciešams strukturālāks stāsts. Jautājums nav tikai par to, vai ģenerēts resurss ir atļauts. Tas ir par to, vai ģenerētās izmaiņas atbilst pasaules līgumam. Vai tās maina tikai tam piešķirto apjomu? Vai tās atklāj, kas tika mainīts? Vai redaktors var tās pārbaudīt? Vai atkārtojums var tās reproducēt? Vai būvēšanas un spēļu testēšanas rīki var tās noraidīt, pirms cilvēks kļūdaini uzskata jaunumu par pabeigtību?
Avots norāda uz to caur tipizētiem izsaukumiem, shēmas validāciju, tikai lasāmiem resursiem, atkļūdošanu, spēļu testēšanu, pārnēsājamiem komplektiem un atvērtiem failiem. Tās nav glamūrīgas drošības funkcijas, bet tās ir svarīgākas par dramatisku atteikuma ziņojumu. Ierobežotu izsaukumu var noraidīt. Tipizētu kļūdu var labot. Tikai lasāms resurss var ļaut aģentam pārbaudīt bez mainīšanas. Būvēšanas solis var iepakot tikai to, kas ir serializējams. Deterministisks spēļu tests var atklāt, ka ģenerētās durvis nekad neatveras.
Droša ģenerēšana nozīmē arī pretoties kārdinājumam slēpt nenoteiktību. Ja aģents nevar zināt, vai mīkla ir atrisināma, sistēmai to nevajadzētu iepakot kā atrisinātu. Ja NPC uzvedība ir atkarīga no neskaidra stāvokļa, redaktoram šī neskaidrība būtu jāpadara redzama. Ja fizikas atkārtojums atšķiras, apgalvojumam vajadzētu neizdoties. Neveiksmju vārdu krājums vēl tiek veidots.
Jacquard vajadzētu padarīt nenoteiktību redzamu, nevis pulēt to viltus solījumā. Kad ģenerētais saturs nav pietiekami ierobežots, redaktoram, žurnālam, atkārtojuma ceļam un tipizētām kļūdām vajadzētu atklāt šo plaisu, kamēr tā vēl ir pietiekami maza, lai to labotu. Tā nav raupjība pašas dēļ. Tas ir veids, kā ģenerētās pasaules izvairās no kļūšanas par satura parādu.
Pārlūkprogramma maina iterācijas ekonomiku
Jacquard, kas darbojas pārlūkprogrammas cilnē, var izklausīties kā izplatīšanas funkcija, un tā arī ir. Nulles instalēšana samazina pasaules izmēģināšanas izmaksas. WebGPU un WebGL2 dod dzinējam praktisku renderēšanas ceļu. Klasei, pētniecības partnerim vai dizaina sesijai nav jāsākas ar smagu vietējo instalāciju. Bet pārlūkprogrammai ir nozīme dziļāka iemesla dēļ.
Tā padara iterācijas cilpu īsāku. Aģents var būvēt, redaktors var pārbaudīt, spēlētājs var testēt, un žurnālu var atkārtot, nepārvietojot pasauli cauri patentētu rīku ķēdei. Tā pati vide var atklāt skatuves grafiku, darbināt fiziku, atskaņot audio, pārbaudīt veiktspēju un iepakot pārnēsājamu komplektu. Tas neatrisina spēļu dizainu, bet tas noņem daudz nejaušas ceremonijas no tā pētīšanas.
Pārlūkprogramma arī padara robežas skaidrākas. Ja pasaule atveras kā tīmekļa lapa, robežu starp to, kas tika izpildīts, kas tika ielādēts, kāds stāvoklis mainījās un kas tika eksportēts, var padarīt nepārprotamu. Ja dzinējs ir stingrs TypeScript, kas mērķē uz ES2022, ar atvērtiem glTF aktīviem un serializējamām pasaulēm, artefaktu var lasīt vairāk cilvēku nekā mazo priesteru loku, kas apkalpo vienu galddatora dzinēju.
Šī atvērtība ir praktiska priekšrocība. Vairāk acu var pārbaudīt attēlojumu. Vairāk aģentu var savienot, izmantojot MCP. Vairāk kļūmju var reproducēt kā žurnālus, nevis stāstīt kā anekdotes. Pārlūkprogramma nepadara problēmu vieglu. Tā padara problēmu novērojamu.
Prototipa spiediens to salauztu
Pastāv pazīstams programmatūras reflekss: kad kaut kas labi demonstrējas, to nogludina, līdz to var iepakot. Jacquard ir tieši tāda sistēma, kas soda šo refleksu. Nogludini to pārāk agri, un komandai ir jāizliekas, ka autorēšanas līgums ir noslēgts, pirms ir atrisināti sarežģītie jautājumi. Kāds ir stabilais autorēšanas līgums? Kuras ģenerētās darbības ir atbalstāmas? Kuri fizikas apgalvojumi ir spēkā visās pārlūkprogrammās? Kuri redaktora jēdzieni tagad ir pastāvīgi? Kuras drošības pārbaudes ir obligātas?
Priekšlaicīgs iepakojums liktu izlikties, ka atbildes jau ir noskaidrotas. Tas sašaurinātu pētniecību līdz tam, ko ir visvieglāk iepakot. Rezultāts būtu jautra rotaļlieta ar pulētu priekšpusi un trauslu aizmuguri. Interesantais Jacquard solījums ir lielāks: spēļu dzinējs, kurā AI aģenti un cilvēku dizaineri dala vienu un to pašu tipizēto darba virsmu, kur pasaules stāvoklis ir pārbaudāms, kur atkārtošana ir mehāniska un kur ģenerēšanu ierobežo sistēmas, nevis noskaņas.
Šis solījums ir pelnījis pacietību, jo tas skar vairākas sarežģītas jomas vienlaikus. Programmēšanas valodas dizains parādās rīku shēmās. Cilvēka un datora mijiedarbība parādās redaktorā. Simulācija parādās fizikā. Spēļu AI parādās NPC uzvedībā. Drošība parādās robežās ap ģenerēšanu. Infrastruktūra parādās iepakošanā, pārlūkprogrammas izpildē un atvērtajos formātos. Šaura ieviešana izvēlētos vienu un citus nosauktu par malējiem gadījumiem. Jacquard tos notur savienotus.
Mērķis ir saglabāt apgalvojumu precīzu. Jacquard ir pētniecība par aģentu kontrolētu, pārlūkprogrammā vietēju spēļu veidošanu. Tas var būt noderīgs eksperimentiem un partneru darbam, neizliekoties, ka katrs autorēšanas līgums ir galīgs. Šī godīgums ir daļa no inženierijas.
Kas padara pētniecību ticamu
Pazīmes nav mārketinga pazīmes. Tās ir tehniskas un pieredzes pazīmes. Ģenerētai pasaulei jābūt pārbaudāmai caur redaktoru bez slēpta stāvokļa. Rīka izsaukumiem jābeidzas ar noderīgām tipizētām kļūdām. Atkārtošanai jāreproducē jēgpilnas kļūmes. NPC uzvedībai jābūt lasāmai kā datiem un atkļūdojamai kā sistēmām. Spēļu testēšanai jāpamana acīmredzamas neiespējamības, pirms tās kļūst par cilvēku vilšanos.
Dzinējam arī jāsaglabā autorība. AI veidotām spēlēm joprojām ir vajadzīga cilvēka gaume. Aģents var uzmest pasaules melnrakstu, bet dizainerim jāspēj to veidot, nezaudējot pēdas tam, kā tā tika radīta. Ja cilvēkam ir jāsāk no jauna, lai atgūtu kontroli, aģents nebija sadarbības partneris. Tas bija ātrs tehnisko parādu avots.
Drošībai jākļūst mazāk teatrālai un vairāk mehāniskai. Ģenerētām izmaiņām jānes līdzi darbības joma, izcelsme un pārskatīšanas stāvoklis. Tikai lasāma pārbaude jānošķir no mutācijas. Būvēšanai jāatsaka tas, ko nevar tīri iepakot. Atkļūdošanai jāparāda, no kurienes nāk darbība. Spēļu testēšanai jābūt pietiekami skriptējamai, lai apgalvojumus padarītu atkārtojamus. Tie ir garlaicīgi vārdi, tāpēc tiem ir nozīme.
Kad šīs īpašības ir ikdienišķas, Jacquard var atbalstīt spēcīgākus solījumus. Līdz tam pētniecība ir godīgais apzīmējums. Tas stāsta komandai un lasītājam, ka mērķis nav tikai likt AI ražot spēles, bet padarīt AI radītās spēļu pasaules pietiekami salasāmas, lai tās varētu piederēt.
Noderīgais apgalvojums
Jacquard un tipizētas pasaules ar AI veidotām spēlēm, jo patiesībā nav runa par spēlēm, kas rodas no uzvednēm. Runa ir par mehānismiem, kas nepieciešami, pirms uzvedņu radītas spēles kļūst par nopietniem artefaktiem: tipizēti ierobežojumi, kopīgas redaktora iespējas, deterministiska fizika, pārbaudāma NPC uzvedība, atvērti resursi, pārnēsājami komplekti un drošība ģenerēšanas procesā.
Noderīgais tēls nav maģisks dzinējs. Tā ir darbnīca, kur aģents un dizaineris strādā ar vieniem un tiem pašiem rīkiem. Aģentam nav slēptu durvju. Redaktoram nav vājākas kartes. Fizikas sistēma nekļūst neobligāta, kad aina izskatās skaista. Notikumu žurnāls nepazūd pēc demonstrācijas. Ģenerētā pasaule paliek pasaule, ko kāds var pārbaudīt, atskaņot, mainīt un aizstāvēt.
Tā ir gara inženierijas programma, nevis sauklis. Ja tā izdosies, lietotājam redzamās virsmas būs skaidrākas, jo sarežģītie jautājumi netika sasteigti. Ja tā neizdosies, neveiksme joprojām iemācīs kaut ko par apstākļiem, kādos AI var droši veidot interaktīvas sistēmas. Abi iznākumi ir noderīgi.
Pagaidām visprecīzākais apgalvojums ir šāds: Jacquard ir atvērts pētniecības dzinējs ar AI veidotām spēļu pasaulēm. Tam ir atļauts būt aizraujošam. Tam ir arī pienākums būt precīzam. AI autorētu spēļu nākotni neuzvarēs visskaistākā pirmā aina. To uzvarēs pasaule, kurai joprojām ir jēga pēc tam, kad spēlētājs, dizaineris, aģents un atskaņošanas žurnāls tajā atgriežas.