Jacquard és géppel írt világok AI-építésű játékokhoz
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 az ellenkező álláspontot képviseli. Ha a szerkesztő képes rá, egy eszközhívásnak is képesnek kell lennie rá. Egy olyan funkció, amelyhez egy ágens kódon keresztül nem fér hozzá, valójában nem is létezik e kutatási kérdés szempontjából. Ez a szabály keménynek hangzik, amíg nem látod, ahogy egy ágens megpróbál világot építeni egy csak grafikus felületű motorral. Az ágens kénytelen közelíteni: kitalálja a menüt, reméli, hogy a kiválasztott panel aktív, lekapar egy hibaszöveget, majd folytatja egy olyan állapottal, amelyet nem tud bizonyítani.
A forrás egyértelműen megnevezi a súrlódást: csak grafikus felületű funkciók, nehézkes telepítők, motorspecifikus DSL-ek, zárt folyamatok. Jacquard erre egy böngészőlappal, nyílt formátumokkal, glTF-objektumokkal, szerializálható világokkal, séma által ellenőrzött paraméterekkel, típusos hibákkal és egyetlen típusos felülettel válaszol, amelyet a vizuális szerkesztő és az ágens is megoszt. Ezért a motor nem csak egy motor. Ez egy kísérlet az elérhetőség terén.
Az elérhetőség nem kényelem. Ez biztonság. Amikor minden művelet egy hívás, minden művelet elnevezhető, korlátozható, naplózható, elutasítható, visszajátszható és megmagyarázható. Amikor a képesség egy menü mögött rejtőzik, az ágensnek egy olyan felületen kell átcsempésznie a szándékát, amelyet soha nem erre terveztek. A különbség az, mint egy mérnök, aki egy API-nyomkövetést olvas, és egy ember, aki próbálja felidézni, melyik panel volt nyitva, amikor a jelenet megváltozott.
A világ nem kép
A mesterséges intelligencia képalkotása arra tanította az embereket, hogy elfogadjanak egy furcsa alkut: kérj egy képet, kapsz egy képet, bocsásd meg a szerkezetet, ha a felszín jól néz ki. A játékok nem élik túl ezt az alkut. Egy játékszintet nem csak az alapján ítélnek meg, hogy egy kameraállásból mire hasonlít. Az alapján ítélik meg, hogy a játékos át tud-e haladni rajta, hogy a fizika stabil marad-e, hogy a célok teljesülnek-e, hogy az NPC-viselkedés tiszteletben tartja-e a világot, és hogy az állapot visszajátszható-e, ha valami rosszul sül el.
Itt válik központi jelentőségűvé a típusos megszorítás. Egy terepeszköz nem csupán dombokat festhet. Tudnia kell, hol vannak járható felületek, hogyan hatnak a lejtők a karaktervezérlőkre, hogyan befolyásolják a növényzet és a világítás a láthatóságot, és hogyan reprodukálja a magalapú generálás később ugyanazt az eredményt. Egy jeleneteszköz nem csupán elhelyez dolgokat. Címezhető entitásokat kell létrehoznia, komponenseket csatolnia, verzióznia a gráfot, és elég összehasonlíthatóvá tennie az eredményt az áttekintéshez.
A Jacquard eszközpaletta ezt láthatóvá teszi. Az oldal tizenöt kategóriát nevez meg: jelenet, entitás, komponens, eszköz, anyag, fizika, terep, világítás, hang, UI, küldetés, NPC, build, hibakeresés és playtest. Emellett megnevez csak olvasható erőforrásokat is, például projektmetaadatokat, jelenetgráfot, eszközkatalógust, teljesítménymutatókat és hibanaplót. Ez nem önkényes menü. Ez egy taxonómia arról, mit kell egy játékvilágnak feltárnia ahhoz, hogy egy ágens több lehessen egy okos makrófelvevőnél.
A kutatási probléma nem az, hogy mind a tizenöt kategória létezhet-e. Már léteznek forrásállításként. A probléma az, hogy mindegyiknek mennyire kifejezőnek, biztonságosnak és összeilleszthetőnek kell lennie ahhoz, hogy a generált világok megszűnjenek törékeny műtermékek lenni, és szerzői rendszerként viselkedjenek. A választ nem a kitartóbb promptolással találjuk meg. Úgy találjuk meg, hogy a reprezentációt nehezebbé tesszük hazudni.
A szerkesztő nem dekoráció
Az ágensközpontú eszközök gyenge értelmezése a szerkesztőt nézőként kezeli. Az ágens alkot; az ember nézi. Ez rossz modell a Jacquard számára. A forrásszöveg gondos: a vizuális szerkesztő ugyanazt az API-t használja, mint az ágensek. Ez ugyanannak a felületnek egy nem privilegizált kliense. Ez az egyetlen tény megakadályozza, hogy mély szakadék alakuljon ki a projekten belül.
Ha az ágensnek privát útja van a világba, a szerkesztőnek pedig egy másik, az ember végül veszít. A generált állapot technikailag érvényessé, de gyakorlatilag szerkeszthetetlenné válik. A tervező látja a kastélyt, de nem tudja felfedezni, miért van a küldetésjelző ahhoz az entitáshoz csatolva, miért van láthatatlan blokkoló a terepen, vagy miért változik az NPC menetrendje a második éjszaka után. Az eredmény termelékenységnek tűnik, és adósságként viselkedik.
A közös API azt jelenti, hogy a szerkesztőnek kezelőfelületeket kell kínálnia ugyanazokhoz a fogalmakhoz, amelyeket az ágens manipulál. Meg kell mutatnia a jelenetgráfot, a komponenseket, a viselkedéseket, az erőforrásokat, a hibákat és a teljesítményt olyan módon, ahogy az ember át tudja gondolni. Lehetővé kell tennie a tervezőnek, hogy kijavítsa a világot anélkül, hogy kilépne a szerződésből, amelytől a visszajátszás függ. A szerkesztő ezért a kutatási eszköz része.
Ez kényelmetlen követelmény, mert lelassítja a fantáziát. Könnyebb hagyni, hogy az ágens rejtett vezetékezést generáljon, majd remélni, hogy a demó működik. A Jacquard azt kéri, hogy a rejtett vezetékezés elég láthatóvá váljon ahhoz, hogy a tervező átvehesse a felelősséget. Az AI-építette játékok csak akkor válnak komollyá, ha az ember örökölheti őket törvényszéki régészet nélkül.
A fizika az, ahol a báj elszámoltathatósággá válik
A fizika kegyetlen módon változtatja a homályos generálást látható kudarccá. Egy történet elvisel egy kis narratív legyintést. Egy 3D világ testekkel, ütközésekkel, tereppel és játékosbemenettel nem. Ha a lépés a képkockasebességgel változik, a visszajátszás eltér. Ha a karaktervezérlés nem naplózott impulzustól függ, a hibajelentés pletykává válik. Ha ugyanaz a mag más testpozíciókat eredményez egy másik gépen, a világ nem reprodukálható bizonyíték.
A Jacquard ezt a Rapier3D-re építi WASM-ben, rögzített 60 Hz-es időlépéssel. A forrásanyag determinisztikus fizikát, magozott véletlenszerűséget, rögzített bemenetet és mechanikus visszajátszást ír le egy típusos eseménynaplóból. Ugyanaz a mag, ugyanaz a napló, ugyanazok a képkockák. A hibajelentés a csatolt napló; játsszuk vissza, és látjuk, amit a játékos látott. Ez erősebb állítás, mint egy képernyőfelvétel, mert megőrzi az interaktív okokat, nem csak a pixeleket.
A kutatási kérdés az, mi történik, amikor a generáció belép ebbe a hurokba. Egy ágens létrehozhat egy hidat, de a hídnak engedelmeskednie kell a tömeg, az ütközés, az elérhetőség és a játékteszt korlátainak. Létrehozhat egy NPC-t, de az NPC-nek navigálnia kell egy világban, amelynek geometriája változhat. Hangolhatja a terepet, de az így kapott lejtőknek játszhatónak kell maradniuk. Hozzáadhat egy scriptelt eseményt, de annak az eseménynek olyan módon kell naplózódnia, hogy a visszajátszás fel tudja dolgozni.
A fizika tehát nem egy alrendszer a verem alján. Hanem a generáció egyik bírája. Egy generált játékvilág nem azért jó, mert hihetőnek tűnik. Akkor jó, ha a játékos be tudja lakni, ha a szabályok érvényesek, és ha egy későbbi felülvizsgáló vissza tudja játszani ugyanazt a hibát, ahelyett hogy megkérdezné a modellt, mit is akart.
Az NPC-viselkedés az a réteg, ahol a nyelv kifogy
A nem játékos karakterek nehezebbé teszik a Jacquard-ot, mint egy pályaszerkesztőt. Egy statikus szoba geometriaként vizsgálható. Egy NPC állapot az időben: beosztás, cél, észlelés, párbeszéd, társas gráf, küldetéskapcsolat, útvonaltervezés, memória és kudarc. A forrásanyag viselkedésfákat, beosztásokat, célokat, narratívát adatként, feltételgráfokat és elágazó előrehaladást nevez meg. Ezek azok a szavak, ahol az AI-építette játékok megszűnnek játékszernek lenni.
A nyelv hasznos a szándékhoz. Gyenge végső reprezentáció a viselkedéshez. Egy prompt mondhatja, hogy egy őr legyen gyanakvó éjjel, segítőkész a falusiakkal, ellenséges a tolvajokkal, és megbocsátó, miután a játékos teljesít egy feladatot. A motornak valami élesebbre van szüksége: melyik érzékelő érzékeli a veszélyt, melyik feltétel változtatja meg a hozzáállást, melyik küldetésjelző írja felül a gyanút, melyik beosztás mozgatja az őrt, és melyik párbeszédsor megengedett az állapotátmenet után.
Ez az élesség az, amiért a típusos NPC-eszközök számítanak. Nélkülük az ágens hangulatot produkál. Velük viselkedést kell írnia vizsgálható struktúrákba. A tervező ezután megkérdezheti, hogy az őr igazságtalan-e, hogy a küldetés holtpontra juthat-e, hogy a társas gráf lehetetlen kötelezettségeket teremt-e, vagy hogy egy generált utasítás minden NPC-t ugyanarra az unalmas rutinra kényszerítene-e.
Az NPC-viselkedés a biztonságot is gyakorlatiasabbá teszi. A nem biztonságos generálás nem csak sértő szöveget vagy tiltott tartalmat jelent. Lehet viselkedési hurok, amely csapdába ejti a játékost, megoldhatatlan küldetés, olyan generált társas gráf, amely ellenséges sztereotípiát kódol, vagy olyan menetrend, amely teljesítményösszeomláshoz vezet. A generálás körüli biztonságnak a játékrendszerek szintjén kell működnie, nem csak a szavak szintjén.
A biztonság alakzatprobléma
A legkönnyebb biztonsági történet szerint az ágens generálhat vagy nem generálhat egy tartalmat. A Jacquard-nak strukturálisabb történetre van szüksége. A kérdés nem csak az, hogy egy generált eszköz megengedett-e. Hanem az, hogy a generált változás illeszkedik-e a világ szerződéséhez. Csak a kapott hatókörön belül módosít? Felfedi-e, hogy mit változtatott meg? Az editor meg tudja vizsgálni? A visszajátszás reprodukálni tudja? A build és playtest eszközök el tudják utasítani, mielőtt egy ember az újdonságot befejezettségnek vélné?
A forrás tippelt hívásokon, séma-ellenőrzésen, csak olvasható erőforrásokon, debug, playtest, hordozható csomagokon és nyitott fájlokon keresztül mutat erre. Ezek nem látványos biztonsági funkciók, de többet számítanak, mint egy drámai elutasító üzenet. Egy korlátozott hívás megtagadható. Egy tippelt hiba kijavítható. Egy csak olvasható erőforrás lehetővé teszi, hogy az ágens módosítás nélkül vizsgálódjon. Egy build lépés csak azt csomagolhatja, ami szerializálható. Egy determinisztikus playtest felfedheti, hogy a generált ajtó soha nem nyílik ki.
A biztonságos generálás azt is jelenti, hogy ellenállunk a bizonytalanság elrejtésének kísértésének. Ha az ágens nem tudja, hogy egy rejtvény megoldható-e, a rendszer ne csomagolja megoldottként. Ha egy NPC-viselkedés kétértelmű állapottól függ, az editor tegye láthatóvá ezt a kétértelműséget. Ha a fizikai visszajátszás eltér, az állításnak meg kell buknia. A hibák szókincse még épül.
A Jacquard-nak láthatóvá kell tennie a bizonytalanságot, ahelyett hogy hamis ígéretté csiszolná. Ha a generált tartalom nem elég korlátozott, az editor, a napló, a visszajátszási útvonal és a tippelt hibák fedjék fel ezt a rést, amíg még elég kicsi ahhoz, hogy kijavítsák. Ez nem öncélú nyersesség. Így kerülik el a generált világok, hogy tartalmi adóssággá váljanak.
A böngésző megváltoztatja az iteráció gazdaságosságát
A böngészőlapban futó Jacquard hangozhat terjesztési funkciónak, és az is. A nulla telepítés csökkenti a világ kipróbálásának költségét. A WebGPU és a WebGL2 gyakorlati megjelenítési utat ad a motornak. Egy tanteremnek, kutatási partnernek vagy tervezési munkamenetnek nem kell nehéz natív telepítéssel kezdődnie. De a böngésző mélyebb ok miatt számít.
Rövidebbé teszi az iterációs hurkot. Egy ágens építhet, az editor vizsgálhat, a játékos tesztelhet, és a napló visszajátszható anélkül, hogy a világot szabadalmaztatott eszközök láncán mozgatnánk át. Ugyanaz a környezet felfedhet egy jelenetgráfot, futtathat fizikát, játszhat le hangot, vizsgálhat teljesítményt és csomagolhat hordozható csomagot. Ez nem oldja meg a játéktervezést, de sok véletlenszerű formaságot eltávolít a tanulmányozásából.
A böngésző a határokat is világosabbá teszi. Ha a világ úgy nyílik meg, mint egy weboldal, akkor egyértelművé tehető, hogy mi futott, mi töltődött be, mi változott meg, és mi került exportálásra. Ha a motor szigorú TypeScript, amely ES2022-t céloz meg, nyílt glTF-eszközökkel és szerializálható világokkal, akkor az artefaktumot többen olvashatják, mint egyetlen asztali motor beavatottjainak kis csoportja.
Ez a nyitottság gyakorlati előny. Több szem ellenőrizheti a reprezentációt. Több ügynök csatlakoztatható MCP-n keresztül. Több hiba reprodukálható naplóként, nem pedig anekdotaként mesélhető el. A böngésző nem teszi könnyűvé a problémát. Megfigyelhetővé teszi a problémát.
A prototípus nyomása tönkretenné
Létezik egy ismerős szoftveres reflex: ha valami jól mutat bemutatón, simítsd addig, amíg csomagolható nem lesz. A Jacquard pontosan az a fajta rendszer, amely megbünteti ezt a reflexet. Ha túl korán simítod, a csapatnak úgy kell tennie, mintha a szerzői szerződés már eldőlt volna, mielőtt a nehéz kérdések megoldódnának. Mi a stabil szerzői szerződés? Mely generált viselkedések támogathatók? Mely fizikai állítások érvényesek minden böngészőben? Mely szerkesztői fogalmak válnak véglegessé? Mely biztonsági ellenőrzések kötelezőek?
Egy korai csomagolásnak azt kellene állítania, hogy a válaszok már eldőltek. Ez leszűkítené a kutatást arra, amit a legkönnyebb csomagolni. Az eredmény egy szórakoztató játék lenne, polírozott előlappal és törékeny háttérrel. A Jacquard érdekes ígérete nagyobb: egy játékmotor, ahol az AI-ügynökök és az emberi tervezők ugyanazt a gépelt működési felületet osztják meg, ahol a világ állapota ellenőrizhető, ahol a visszajátszás mechanikus, és ahol a generálást rendszerek határolják, nem pedig megérzések.
Ez az ígéret türelmet érdemel, mert egyszerre több nehéz területet érint. A programozási nyelvtervezés megjelenik az eszközök sémáiban. Az ember-számítógép interakció megjelenik a szerkesztőben. A szimuláció megjelenik a fizikában. A játék-AI megjelenik az NPC-viselkedésben. A biztonság megjelenik a generálás körüli határokban. Az infrastruktúra megjelenik a csomagolásban, a böngészős végrehajtásban és a nyílt formátumokban. Egy szűk megvalósítás egyet választana, a többit pedig peremfeltételnek nevezné. A Jacquard összekapcsolva tartja őket.
A lényeg az, hogy az állítás pontos maradjon. A Jacquard kutatás az ügynök által vezérelt, böngészőben natív játékkészítés területén. Hasznos lehet kísérletekhez és partneri munkához anélkül, hogy azt állítaná, minden szerzői szerződés végleges. Ez az őszinteség a mérnöki munka része.
Mi teszi hitelessé a kutatást
A jelek nem marketingjelek. Technikai és tapasztalati jelek. Egy generált világnak ellenőrizhetőnek kell lennie a szerkesztőn keresztül, titkos állapot nélkül. Az eszközhívásoknak hasznos, típusos hibákkal kell meghiúsulniuk. A visszajátszásnak reprodukálnia kell a jelentős hibákat. Az NPC-viselkedéseknek adatként olvashatónak és rendszerként hibakereshetőnek kell lenniük. A játéktesztnek el kell kapnia a nyilvánvaló lehetetlenségeket, mielőtt emberi csalódássá válnának.
A motornak meg kell őriznie a szerzőséget is. Az AI által épített játékoknak továbbra is szükségük van emberi ízlésre. Az ügynök felvázolhat egy világot, de a tervezőnek képesnek kell lennie alakítani azt anélkül, hogy elveszítené a nyomát annak, hogyan készült. Ha az embernek elölről kell kezdenie az irányítás visszaszerzéséhez, az ügynök nem volt együttműködő partner. Gyors technikai adósságforrás volt.
A biztonságnak kevésbé színházinak és inkább mechanikusnak kell lennie. Egy generált változásnak hordoznia kell a hatókört, a származást és a felülvizsgálati állapotot. A csak olvasható ellenőrzésnek különböznie kell a módosítástól. A buildnek vissza kell utasítania, ami nem csomagolható tisztán. A hibakeresésnek meg kell mutatnia, honnan származik egy viselkedés. A játéktesztnek elég szkriptelhetőnek kell lennie ahhoz, hogy az állítások megismételhetők legyenek. Ezek unalmas szavak, ezért számítanak.
Amikor ezek a tulajdonságok hétköznapivá válnak, a Jacquard erősebb ígéreteket támogathat. Addig a kutatás a becsületes címke. Azt mondja a csapatnak és az olvasónak, hogy a cél nem csupán az, hogy az AI játékokat hozzon létre, hanem hogy az AI által létrehozott játékvilágok elég olvashatók legyenek ahhoz, hogy a tulajdonunkká váljanak.
A hasznos állítás
Jacquard és a típusos világok az AI által készített játékokhoz, mert itt valójában nem arról van szó, hogy játékok jelennek meg promptokból. Hanem arról a gépezetről, amelyre addig van szükség, amíg a promptolt játékok komoly artefaktumokká nem válnak: típusos megszorítások, megosztott szerkesztői lehetőségek, determinisztikus fizika, átvizsgálható NPC-viselkedés, nyílt eszközök, hordozható csomagok és a generálás körüli biztonság.
A hasznos kép nem egy varázsmotor. Hanem egy műhely, ahol az ágens és a tervező ugyanazokhoz az eszközökhöz nyúl. Az ágens nem kap rejtett ajtót. A szerkesztő nem kap gyengébb térképet. A fizikarendszer nem válik opcionálissá, ha a jelenet szép. Az eseménynapló nem tűnik el a demó után. A generált világ olyan világ marad, amelyet valaki átvizsgálhat, visszajátszhat, módosíthat és megvédhet.
Ez hosszú mérnöki program, nem szlogen. Ha sikerül, a felhasználó felé forduló felületek világosabbak lesznek, mert a nehéz kérdéseket nem kapkodták el. Ha kudarcot vall, a kudarc akkor is tanít valamit azokról a feltételekről, amelyek mellett az AI biztonságosan szerzősztethet interaktív rendszereket. Mindkét kimenetel hasznos.
Egyelőre a legpontosabb megfogalmazás ez: a Jacquard egy nyílt kutatási motor az AI által készített játékvilágokhoz. Lehet izgalmas. Ugyanakkor pontosnak is kell lennie. Az AI által szerzősztett játékok jövőjét nem a legszebb első jelenet nyeri meg. Hanem az a világ, amelynek még mindig van értelme, miután a játékos, a tervező, az ágens és a visszajátszási napló mind visszatér hozzá.