Jacquard a typované svety pre hry postavené AI

AI hry vyzerajú v demu jednoducho. Skutočná výzva je v typovaných obmedzeniach, editorových nástrojoch, fyzike, správaní NPC, prehrávaní a bezpečnej...

Jacquard a typované svety pre hry postavené AI

Ukážka je tá ľahšia časť

Prvá ukážka Jacquard je zámerne podmanivá. Agent otvorí engine bežiaci priamo v prehliadači, zavolá typovaný nástroj, vytvorí scénu, modeluje terén, umiestni objekty, zapojí správanie, uloží balík a odovzdá svet späť človeku, ktorý môže stlačiť play. Žiadny editor s veľkosťou niekoľkých gigabajtov. Žiadna ceremónia desktopového enginu. Žiadny rituál inštalácie natívneho nástrojového reťazca predtým, než sa môže pohnúť prvý nápad.

Ak by to bol celý príbeh, Jacquard by sa dal ľahko vysvetliť: rýchlejšie prototypy, lacnejšie tréningové simulácie a malé interaktívne svety vytvorené z bežného jazyka. Zdrojový materiál túto predstavu čiastočne podporuje: Jacquard je výskumný projekt Dweve, napísaný v prísnom TypeScripte a navrhnutý tak, aby bežal v karte prehliadača. Metadáta trasy opisujú webový natívny herný engine, v ktorom agenti umelej inteligencie vytvárajú kompletné hry prostredníctvom typovaného API, vrátane vizuálneho editora, fyziky a správania NPC.

Ale dobrá ukážka môže skryť skutočný problém. Prinútiť agenta vytvoriť vierohodnú hernú scénu už nie je tá ťažká časť. Ťažká časť je vytvoriť generovaný svet, ktorý je dostatočne obmedzený na kontrolu, dostatočne editovateľný pre dizajnéra, dostatočne fyzikálny na hranie, dostatočne behaviorálny na to, aby mal význam, a dostatočne bezpečný na to, aby sa generovanie nestalo novým spôsobom vytvárania neskontrolovateľného stavu.

To je zaujímavá otázka: môže herný engine sprístupniť každú zmysluplnú operáciu ako typované rozhranie zdieľané agentmi aj ľuďmi, pričom si zachová prehrávanie, autorstvo, bezpečnosť a textúru dizajnu?

Prečo je otázka stále otvorená

Bežný zabalený nástroj sa snaží zmraziť svoj prísľub. Toto robí. Toto je model podpory. Toto je hranica. Toto je spôsob zlyhania. Jacquard je zaujímavejší, kým tieto vety nie sú príliš uhladené, pretože ťažké otázky sú stále navzájom prepojené.

Aktuálny zdroj opisuje engine zameraný na agentov, rozhranie MCP, deterministické prehrávanie, Rapier3D vo WASM, WebGPU s fallbackom na WebGL2, assety glTF 2.0 a cestu len pre prehliadač. Toto sú konkrétne inžinierske rozhodnutia. Sú však len začiatkom spoločenskej zmluvy okolo hier vytvorených umelou inteligenciou.

Hry nie sú dokumenty s kolíznymi políčkami. Herný svet je živé usporiadanie geometrie, načasovania, fyziky, vstupov, prechodov stavov, očakávaní hráča a autorom pripraveného prekvapenia. Ak systém umelej inteligencie vygeneruje správu, čitateľ môže označiť odsek za nesprávny. Ak systém umelej inteligencie vygeneruje herný svet, chyba sa môže prejaviť ako dvere, ku ktorým sa nemožno dostať, nehráčska postava, ktorá klame o stave questu, fyzikálny impulz, ktorý naruší prehrávanie, alebo operácia v editore, ktorú agent vykonal, ale dizajnér jej neskôr nerozumie.

Nepríjemné otázky sú podstatou. Čo by malo byť agentovi dovolené priamo meniť? Ktoré editory musia byť prvotriednymi typovanými operáciami? Ktoré generované assety je bezpečné zabaliť? Ktoré správania musia byť kontrolovateľné pred spustením? Ktorý stav sveta patrí do denníka udalostí a nie do skrytej haldy enginu? Toto nie sú kozmetické položky backlogu. Toto je engine.

Engine je argumentom o dosahu

Väčšina herných enginov je vynikajúcim nástrojom pre ľudí pri stole. To z nich nerobí dobré prostredie pre agentov. Ich sila často žije za ponukami, panelmi, enginovými špecifickými skriptovacími jazykmi, proprietárnymi assetovými pipeline a používateľskými tokmi, ktoré predpokladajú, že človek môže vizuálne hľadať ďalší ovládací prvok. Agent sa môže naučiť klikať, ale klikanie cez editor nie je to isté ako mať programátorskú zmluvu.

Jacquard sa stáva náročným, pretože problémom je dosah: každá vygenerovaná akcia vo svete potrebuje typovanú cestu.

Jacquard zastáva opačný postoj. Ak to editor dokáže, malo by to dokázať aj volanie nástroja. Funkcia, ktorú agent nedokáže dosiahnuť cez kód, pre túto výskumnú otázku v skutočnosti neexistuje. Toto pravidlo znie prísne, kým neuvidíte agenta, ako sa snaží postaviť svet cez engine ovládaný iba grafickým rozhraním. Agent je nútený k priblíženiu: odhadnúť menu, dúfať, že je vybraný panel aktívny, zoškrabať chybový reťazec a potom pokračovať so stavom, ktorý nemôže dokázať.

Zdroj pomenúva trenie jasne: funkcie iba cez grafické rozhranie, ťažké inštalátory, DSL špecifické pre engine, uzavreté pipeline. Jacquard odpovedá kartou prehliadača, otvorenými formátmi, glTF aktívami, serializovateľnými svetmi, parametrami validovanými podľa schémy, typovanými chybami a jedným typovaným povrchom zdieľaným vizuálnym editorom aj agentom. Preto engine nie je len engine. Je experimentom v dosahu.

Dosah nie je pohodlie. Je to bezpečnosť. Keď je každá operácia volaním, každá operácia môže byť pomenovaná, obmedzená, zaznamenaná, odmietnutá, prehratá a vysvetlená. Keď je schopnosť skrytá za menu, agent musí prepašovať zámer cez povrch, ktorý na to nikdy nebol navrhnutý. Rozdiel je rozdiel medzi inžinierom čítajúcim APItrace a človekom, ktorý sa snaží zapamätať si, ktorý panel bol otvorený, keď sa scéna zmenila.

Svet nie je obraz

Generovanie obrázkov pomocou AI naučilo ľudí prijať zvláštnu dohodu: požiadajte o obrázok, dostanete obrázok, odpustite štruktúru, ak povrch vyzerá správne. Hry si túto dohodu nemôžu dovoliť. Úroveň hry sa neposudzuje len podľa toho, čomu sa podobá z jedného uhla kamery. Posudzuje sa podľa toho, či sa hráč môže cez ňu pohybovať, či fyzika zostáva stabilná, či sa ciele plnia, či správanie NPC rešpektuje svet a či sa dá stav prehrať, keď sa niečo pokazí.

Svet nie je obrázok. Je to stav, pravidlá, čas a prehrateľné dôsledky.

Tu sa dostávajú do centra pozornosti typované obmedzenia. Nástroj na terén nemôže len tak maľovať kopce. Musí vedieť, kde sú pochôdzne povrchy, ako svahy interagujú s ovládaním postáv, ako vegetácia a osvetlenie ovplyvňujú viditeľnosť a ako generovanie so zadaným seedom neskôr reprodukuje rovnaký výsledok. Nástroj na scénu nemôže len tak umiestňovať veci. Musí vytvárať adresovateľné entity, pripájať komponenty, verzovať graf a výsledok urobiť dostatočne porovnateľným na kontrolu.

Paleta nástrojov Jacquard to robí viditeľným. Stránka uvádza pätnásť kategórií: scéna, entita, komponent, asset, materiál, fyzika, terén, osvetlenie, zvuk, UI, quest, NPC, build, debug a playtest. Taktiež uvádza zdroje len na čítanie, ako sú metadáta projektu, graf scény, katalóg assetov, metriky výkonu a denník chýb. Toto nie je ľubovoľné menu. Je to taxonómia toho, čo musí herný svet sprístupniť, kým môže byť agent viac než šikovný makrorekordér.

Výskumný problém nie je v tom, či všetkých pätnásť kategórií môže existovať. Už existujú ako tvrdenie v zdrojovom texte. Problém je, aké expresívne, bezpečné a komponovateľné musí byť každá z nich, kým generované svety prestanú byť krehkými artefaktmi a začnú sa správať ako autorské systémy. Odpoveď sa nenájde usilovnejším promptovaním. Nájde sa tým, že reprezentáciu bude ťažšie oklamať.

Editor nie je dekorácia

Slabé čítanie nástrojov zameraných na agenta vníma editor ako prehliadač. Agent vytvára veci, človek sa pozerá. To je pre Jacquard nesprávny model. Zdrojový text je starostlivý: vizuálny editor používa rovnaké API ako agenti. Je to neprivilegovaný klient toho istého rozhrania. Tento jediný fakt zabraňuje vzniku hlbokej priepasti v rámci projektu.

Ak má agent súkromnú cestu do sveta a editor inú, človek nakoniec prehráva. Vygenerovaný stav sa stane technicky platným, ale prakticky neupraviteľným. Dizajnér vidí hrad, ale nedokáže zistiť, prečo je quest flag pripojený k tejto entite, prečo má terén neviditeľný blokátor alebo prečo sa rozvrh NPC zmení po druhej noci. Výsledok vyzerá ako produktivita a správa sa ako dlh.

Zdieľané API znamená, že editor musí mať možnosti pre rovnaké koncepty, s ktorými agent manipuluje. Musí zobrazovať graf scény, komponenty, správanie, zdroje, chyby a výkon spôsobom, o ktorom môže človek uvažovať. Musí dizajnérovi umožniť opraviť svet bez toho, aby opustil zmluvu, na ktorej závisí replay. Editor je preto súčasťou výskumného nástroja.

Toto je nepríjemná požiadavka, pretože spomaľuje fantáziu. Je jednoduchšie nechať agenta generovať skryté prepojenia a potom dúfať, že demo bude naďalej fungovať. Jacquard žiada, aby sa skryté prepojenia stali dostatočne viditeľnými na to, aby si ich dizajnér mohol osvojiť. Hry postavené umelou inteligenciou sa stanú vážnymi až vtedy, keď ich človek môže zdediť bez forenznej archeológie.

Fyzika je miesto, kde sa šarm mení na zodpovednosť

Fyzika má brutálny spôsob, ako meniť vágne generovanie na viditeľné zlyhanie. Príbeh znesie trochu rozprávačského mávnutia rukou. 3D svet s telesami, kolíziami, terénom a vstupom od hráča to neznesie. Ak sa krok mení so snímkovou frekvenciou, replay sa rozchádza. Ak ovládanie postavy závisí od nezaznamenaného impulzu, hlásenie o chybe sa stane fámou. Ak rovnaký seed vytvorí na inom počítači iné pozície telies, svet nie je reprodukovateľným dôkazom.

Fyzika je prvé miesto, kde musí generovaný šarm odpovedať mechanickému systému.

Jacquard to ukotvuje pomocou Rapier3D vo WASM a pevného časového kroku 60 Hz. Zdrojový materiál opisuje deterministickú fyziku, seedovanú náhodnosť, zaznamenaný vstup a mechanické prehrávanie z typovaného denníka udalostí. Rovnaký seed, rovnaký denník, rovnaké snímky. Bug report je priložený denník; prehrajte ho a uvidíte, čo videl hráč. To je silnejšie tvrdenie než nahrávka obrazovky, pretože zachováva interaktívne príčiny, nielen pixely.

Výskumná otázka znie, čo sa stane, keď do tohto cyklu vstúpi generovanie. Agent môže vytvoriť most, ale most musí rešpektovať hmotnosť, kolízie, dosiahnuteľnosť a herné testovacie obmedzenia. Môže vytvoriť NPC, ale NPC sa musí pohybovať vo svete, ktorého geometria sa môže meniť. Môže upraviť terén, ale výsledné svahy musia zostať hrateľné. Môže pridať skriptovanú udalosť, ale táto udalosť musí byť zaznamenaná tak, aby ju prehrávanie dokázalo zahrnúť.

Fyzika preto nie je subsystém na dne zásobníka. Je jedným zo sudcov generovania. Generovaný herný svet nie je dobrý preto, že vyzerá vierohodne. Je dobrý, keď ho hráč môže obývať, keď pravidlá platia a keď neskorší recenzent môže prehrať rovnaké zlyhanie namiesto toho, aby sa modela pýtal, čo tým myslel.

Správanie NPC je vrstva, kde jazyk dochádza

Nehráčske postavy robia Jacquard náročnejším než level editor. Statická miestnosť sa dá skúmať ako geometria. NPC je stav v čase: rozvrh, cieľ, vnímanie, dialóg, sociálny graf, vzťah ku questom, hľadanie cesty, pamäť a zlyhanie. Zdrojový materiál pomenúva stromy správania, rozvrhy, ciele, naratív ako dáta, grafy podmienok a vetvený postup. Tieto slová sú miestom, kde hry postavené AI prestávajú byť hračkou.

Jazyk je užitočný pre zámer. Je slabou finálnou reprezentáciou správania. Prompt môže povedať, že stráž by mala byť v noci podozrievavá, ústretová k dedinčanom, nepriateľská k zlodejom a zhovievavá po dokončení úlohy hráčom. Engine potrebuje niečo ostrejšie: ktorý senzor číta nebezpečenstvo, ktorá podmienka mení postoj, ktorý quest flag prepíše podozrievavosť, ktorý rozvrh pohybuje strážou a ktorý riadok dialógu je povolený po prechode stavu.

Práve táto ostrosť je dôvod, prečo typované nástroje pre NPC záležia. Bez nich agent produkuje dojmy. S nimi musí písať správanie do skúmateľných štruktúr. Dizajnér sa potom môže pýtať, či stráž nie je nespravodlivá, či quest nemôže zablokovať, či sociálny graf nevytvára nemožné záväzky, alebo či by generovaná inštrukcia nespôsobila, že sa všetky NPC zídu na rovnakej nudnej rutine.

NPC správanie tiež robí bezpečnosť praktickou. Nezabezpečená generácia nie je len útočný text alebo zakázaný obsah. Môže to byť slučka správania, ktorá uväzní hráča, úloha, ktorá sa nedá dokončiť, vygenerovaný sociálny graf, ktorý kóduje nepriateľský stereotyp, alebo rozvrh, ktorý spôsobí kolaps výkonu. Bezpečnosť okolo generácie musí fungovať na úrovni herných systémov, nielen na úrovni slov.

Bezpečnosť je problém tvaru

Najjednoduchší príbeh o bezpečnosti hovorí, že agent môže alebo nemusí vygenerovať kus obsahu. Jacquard potrebuje štrukturálnejší príbeh. Otázka nie je len to, či je vygenerovaný prvok povolený. Je to to, či vygenerovaná zmena zapadá do zmluvy o svete. Mutuje len rozsah, ktorý jej bol daný? Odhaľuje, čo zmenila? Môže ju editor skontrolovať? Môže ju prehrávanie zreprodukovať? Môžu nástroje na zostavenie a testovanie hry odmietnuť ju skôr, než si človek pomýli novinku s dokončením?

Bezpečnosť nie je varovný štítok. Je to tvar vynútený rozpočtami, typmi, prehrávaním a limitmi.

Zdroj na to poukazuje cez typované volania, validáciu schémy, zdroje len na čítanie, ladenie, testovanie hry, prenosné balíky a otvorené súbory. Toto nie sú atraktívne bezpečnostné funkcie, ale sú dôležitejšie ako dramatická správa o odmietnutí. Ohraničené volanie môže byť zamietnuté. Typovaná chyba sa dá opraviť. Zdroj len na čítanie môže agentovi umožniť skúmať bez mutovania. Krok zostavenia môže zabaliť len to, čo je serializovateľné. Deterministické testovanie hry môže odhaliť, že vygenerované dvere sa nikdy neotvoria.

Bezpečná generácia tiež znamená odolať pokušeniu skrývať neistotu. Ak agent nemôže vedieť, či je hádanka riešiteľná, systém by ju nemal baliť ako vyriešenú. Ak správanie NPC závisí od nejednoznačného stavu, editor by mal túto nejednoznačnosť zviditeľniť. Ak sa fyzikálne prehrávanie rozchádza, tvrdenie by malo zlyhať. Slovná zásoba zlyhania sa stále buduje.

Jacquard by mal zviditeľniť neistotu namiesto toho, aby ju vyleštil do falošného sľubu. Keď vygenerovaný obsah nie je dostatočne obmedzený, editor, denník, cesta prehrávania a typované chyby by mali odhaliť túto medzeru, kým je ešte dostatočne malá na opravu. To nie je drsnosť pre drsnosť. Takto sa vygenerované svety vyhýbajú tomu, aby sa stali obsahovým dlhom.

Prehliadač mení ekonomiku iterácie

Jacquard bežiaci v karte prehliadača môže znieť ako distribučná funkcia, a aj je. Nulová inštalácia znižuje náklady na vyskúšanie sveta. WebGPU a WebGL2 dávajú enginu praktickú cestu vykresľovania. Trieda, výskumný partner alebo dizajnérske stretnutie nemusia začínať ťažkou natívnou inštaláciou. Ale prehliadač je dôležitý z hlbšieho dôvodu.

Skracuje slučku iterácie. Agent môže stavať, editor môže skúmať, hráč môže testovať a denník sa dá prehrať bez presúvania sveta cez reťazec proprietárnych nástrojov. Rovnaké prostredie môže vystaviť graf scény, spustiť fyziku, prehrať zvuk, skontrolovať výkon a zabaliť prenosný balík. To nerieši dizajn hier, ale odstraňuje veľa zbytočného ceremoniálu z jeho štúdia.

Prehliadač tiež robí hranice jasnejšími. Ak sa svet otvára ako webová stránka, hranica toho, čo sa spustilo, čo sa načítalo, aký stav sa zmenil a čo sa exportovalo, môže byť explicitná. Ak je engine prísny TypeScript cielený na ES2022, s otvorenými glTF aktívami a serializovateľnými svetmi, artefakt môže prečítať viac ľudí než malý kňazský kruh jedného desktopového enginu.

Táto otvorenosť je praktická výhoda. Viac očí môže skúmať reprezentáciu. Viac agentov môže byť pripojených cez MCP. Viac zlyhaní môže byť reprodukovaných ako logy namiesto rozprávania ako anekdoty. Prehliadač problém neuľahčuje. Robí ho pozorovateľným.

Prototypový tlak by ho zlomil

Existuje známy softvérový reflex: keď sa niečo dobre prezentuje, vyhladzuj to, kým sa to nedá zabaliť. Jacquard je presne ten druh systému, ktorý tento reflex trestá. Ak ho vyhladíš príliš skoro, tím musí predstierať, že autorská zmluva je uzavretá skôr, než sa vyriešia ťažké otázky. Aká je stabilná autorská zmluva? Ktoré generované správania sú podporovateľné? Ktoré fyzikálne tvrdenia platia naprieč prehliadačmi? Ktoré koncepty editora sú teraz trvalé? Ktoré bezpečnostné kontroly sú povinné?

Predčasný balík by musel predstierať, že odpovede sú už uzavreté. To by zúžilo výskum na to, čo sa najľahšie balí. Výsledkom by bola zábavná hračka s vyleštenou prednou stranou a krehkým chrbtom. Zaujímavý prísľub Jacquardu je väčší: herný engine, kde AI agenti a ľudskí dizajnéri zdieľajú rovnaký typovaný operačný povrch, kde je stav sveta skúmateľný, kde je prehrávanie mechanické a kde je generovanie ohraničené systémami, nie pocitmi.

Tento prísľub si zaslúži trpezlivosť, pretože sa dotýka niekoľkých ťažkých oblastí naraz. Dizajn programovacích jazykov sa objavuje v schémach nástrojov. Interakcia človeka s počítačom sa objavuje v editore. Simulácia sa objavuje vo fyzike. Herná AI sa objavuje v správaní NPC. Bezpečnosť sa objavuje v hraniciach okolo generovania. Infraštruktúra sa objavuje v balení, prehliadačovej exekúcii a otvorených formátoch. Úzka implementácia by si vybrala jednu oblasť a ostatné nazvala okrajovými prípadmi. Jacquard ich udržiava prepojené.

Ide o to, aby tvrdenie zostalo presné. Jacquard je výskum agentmi ovládateľného, prehliadačovo natívneho vytvárania hier. Môže byť užitočný pre experimenty a partnerskú prácu bez predstierania, že každá autorská zmluva je konečná. Táto úprimnosť je súčasťou inžinierstva.

Čo robí výskum dôveryhodným

Znaky nie sú marketingové znaky. Sú to technické a skúsenostné znaky. Generovaný svet by mal byť skúmateľný cez editor bez tajného stavu. Volania nástrojov by mali zlyhávať s užitočnými typovanými chybami. Prehrávanie by malo reprodukovať zmysluplné zlyhania. Správanie NPC by malo byť čitateľné ako dáta a debugovateľné ako systémy. Playtest by mal zachytiť zjavné nemožnosti skôr, než sa stanú ľudským sklamaním.

Engine by mal tiež zachovať autorstvo. AI-postavené hry stále potrebujú ľudský vkus. Agent môže navrhnúť svet, ale dizajnér musí byť schopný ho tvarovať bez straty stopy toho, ako bol vytvorený. Ak musí človek začať odznova, aby znovu získal kontrolu, agent nebol spolupracovník. Bol to rýchly zdroj technického dlhu.

Bezpečnosť by sa mala stať menej divadelnou a viac mechanickou. Generovaná zmena by mala niesť rozsah, pôvod a stav kontroly. Inšpekcia len na čítanie by mala byť odlišná od mutácie. Build by mal odmietnuť to, čo sa nedá čisto zabaliť. Debug by mal ukázať, odkiaľ správanie pochádza. Playtest by mal byť dostatočne skriptovateľný, aby boli tvrdenia opakovateľné. Toto sú nudné slová, a preto sú dôležité.

Keď sú tieto vlastnosti bežné, Jacquard môže podporiť silnejšie prísľuby. Dovtedy je výskum čestným označením. Hovorí tímu a čitateľovi, že cieľom nie je len prinútiť AI vytvárať hry, ale urobiť AI-vytvorené herné svety dostatočne čitateľnými na to, aby ich bolo možné vlastniť.

Užitočné tvrdenie

Jacquard a typizované svety pre hry vytvorené umelou inteligenciou, pretože v skutočnosti nejde o hry, ktoré vznikajú z promptov. Ide o strojové vybavenie potrebné na to, aby sa hry vytvorené z promptov stali serióznymi artefaktmi: typizované obmedzenia, zdieľané edičné nástroje, deterministická fyzika, kontrolovateľné správanie NPC, otvorené assety, prenosné balíky a bezpečnosť okolo generovania.

Užitočný obraz nie je magický engine. Je to dielňa, kde sa agent a dizajnér dotýkajú rovnakých nástrojov. Agent nemá skryté dvere. Editor nemá slabšiu mapu. Fyzikálny systém sa nestane voliteľným, keď scéna vyzerá pekne. Denník udalostí nezmizne po demo verzii. Vygenerovaný svet zostáva svetom, ktorý môže niekto preskúmať, prehrať, zmeniť a obhájiť.

To je dlhý inžiniersky program, nie slogan. Ak uspeje, používateľské rozhrania budú jasnejšie, pretože ťažké otázky neboli uponáhľané. Ak zlyhá, zlyhanie nás aj tak niečo naučí o podmienkach, za ktorých môže AI bezpečne autorovať interaktívne systémy. Oba výsledky sú užitočné.

Zatiaľ je najpresnejšie povedať toto: Jacquard je otvorený výskumný engine pre herné svety vytvorené umelou inteligenciou. Môže byť vzrušujúci. Musí však byť aj presný. Budúcnosť hier autorovaných AI nevyhrá najkrajšia prvá scéna. Vyhrá ju svet, ktorý stále dáva zmysel, keď sa k nemu vrátia hráč, dizajnér, agent aj denník prehrávania.