Jacquard i typowane światy dla gier tworzonych przez AI
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 przyjmuje przeciwne stanowisko. Jeśli edytor potrafi coś zrobić, wywołanie narzędzia też powinno to potrafić. Funkcja, do której agent nie dotrze przez kod, dla tego pytania badawczego tak naprawdę nie istnieje. Ta zasada brzmi surowo, dopóki nie zobaczysz, jak agent próbuje zbudować świat w silniku obsługiwanym wyłącznie przez GUI. Agent zostaje zmuszony do przybliżeń: odgaduje menu, ma nadzieję, że wybrany panel jest aktywny, wyłuskuje komunikat o błędzie, a potem działa dalej w stanie, którego nie może potwierdzić.
Źródło nazywa tarcie wprost: funkcje tylko przez GUI, ciężkie instalatory, silnikowe DSL, zamknięte potoki. Jacquard odpowiada kartą przeglądarki, otwartymi formatami, zasobami glTF, serializowalnymi światami, parametrami walidowanymi schematem, typowanymi błędami i jedną typowaną powierzchnią współdzieloną przez edytor wizualny i agenta. Dlatego ten silnik to nie tylko silnik. To eksperyment nad zasięgiem.
Zasięg to nie wygoda. To bezpieczeństwo. Gdy każda operacja jest wywołaniem, każdą operację można nazwać, ograniczyć, zalogować, odrzucić, odtworzyć i wyjaśnić. Gdy możliwość kryje się za menu, agent musi przemycać intencję przez powierzchnię, która nigdy do tego nie była zaprojektowana. Różnica jest taka, jak między inżynierem czytającym ślad API a człowiekiem próbującym sobie przypomnieć, który panel był otwarty, gdy scena się zmieniła.
Świat to nie obraz
Generowanie obrazów przez AI nauczyło ludzi akceptować dziwny kompromis: poproś o obraz, otrzymaj obraz, wybacz strukturze, jeśli powierzchnia wygląda dobrze. Gry nie przetrwają takiego kompromisu. Poziom gry nie jest oceniany tylko przez to, do czego jest podobny z jednego kąta kamery. Jest oceniany przez to, czy gracz może się przez niego poruszać, czy fizyka pozostaje stabilna, czy cele się realizują, czy zachowanie NPC respektuje świat i czy stan można odtworzyć, gdy coś pójdzie nie tak.
To właśnie tutaj kluczowe stają się typowane ograniczenia. Narzędzie do terenu nie może po prostu malować wzgórz. Musi wiedzieć, gdzie znajdują się powierzchnie do chodzenia, jak zbocza oddziałują z kontrolerami postaci, jak roślinność i oświetlenie wpływają na widoczność oraz jak generowanie oparte na ziarnie odtworzy ten sam rezultat później. Narzędzie sceny nie może po prostu umieszczać obiektów. Musi tworzyć adresowalne encje, dołączać komponenty, wersjonować graf i sprawiać, że wynik będzie na tyle różnicowalny, aby można go było poddać przeglądowi.
Paleta narzędzi Jacquard to uwidacznia. Strona wymienia piętnaście kategorii: scena, encja, komponent, zasób, materiał, fizyka, teren, oświetlenie, audio, interfejs użytkownika, zadanie, NPC, budowa, debugowanie i testy rozgrywki. Wymienia również zasoby tylko do odczytu, takie jak metadane projektu, graf sceny, katalog zasobów, metryki wydajności i dziennik błędów. To nie jest przypadkowe menu. To taksonomia tego, co świat gry musi udostępnić, zanim agent będzie czymś więcej niż sprytnym rejestratorem makr.
Problem badawczy nie polega na tym, czy wszystkie piętnaście kategorii mogą istnieć. One już istnieją jako twierdzenie źródłowe. Problem polega na tym, jak wyrazista, bezpieczna i komponowalna musi być każda z nich, zanim generowane światy przestaną być kruchymi artefaktami, a zaczną zachowywać się jak zaprojektowane systemy. Odpowiedź nie zostanie znaleziona przez mocniejsze podpowiadanie. Zostanie znaleziona przez uczynienie reprezentacji trudniejszą do okłamania.
Edytor nie jest ozdobą
Słabe odczytanie narzędzi zorientowanych na agenta traktuje edytor jako podgląd. Agent tworzy rzeczy; człowiek patrzy. To błędny model dla Jacquard. Tekst źródłowy jest precyzyjny: edytor wizualny korzysta z tego samego API co agenci. Jest nieuprzywilejowanym klientem tej samej powierzchni. Ten pojedynczy fakt zapobiega powstaniu głębokiego podziału wewnątrz projektu.
Jeśli agent ma prywatną ścieżkę do świata, a edytor inną, człowiek ostatecznie przegrywa. Wygenerowany stan staje się technicznie poprawny, ale praktycznie niemożliwy do edycji. Projektant widzi zamek, ale nie może odkryć, dlaczego flaga zadania jest dołączona do tej encji, dlaczego teren ma niewidzialny bloker ani dlaczego harmonogram NPC zmienia się po drugiej nocy. Wynik wygląda jak produktywność, a zachowuje się jak dług.
Wspólne API oznacza, że edytor musi mieć mechanizmy dla tych samych pojęć, którymi manipuluje agent. Musi pokazywać graf sceny, komponenty, zachowania, zasoby, błędy i wydajność w sposób, który człowiek może zrozumieć. Musi pozwolić projektantowi poprawić świat bez wychodzenia poza kontrakt, od którego zależy odtwarzanie. Edytor jest zatem częścią instrumentu badawczego.
To niewygodny wymóg, ponieważ spowalnia fantazję. Łatwiej pozwolić agentowi wygenerować ukryte połączenia, a potem mieć nadzieję, że demo będzie działać. Jacquard wymaga, aby ukryte połączenia stały się na tyle widoczne, że projektant może przejąć nad nimi odpowiedzialność. Gry tworzone przez AI stają się poważne dopiero wtedy, gdy człowiek może je odziedziczyć bez archeologii sądowej.
Fizyka to miejsce, gdzie urok staje się odpowiedzialnością
Fizyka ma brutalny sposób zamieniania niejasnego generowania w widoczną porażkę. Historia może tolerować odrobinę narracyjnego machnięcia ręką. Świat 3D z ciałami, kolizjami, terenem i wejściem gracza nie może. Jeśli krok zmienia się wraz z liczbą klatek na sekundę, odtwarzanie dryfuje. Jeśli kontrola postaci zależy od niezarejestrowanego impulsu, raport o błędzie staje się plotką. Jeśli to samo ziarno daje różne pozycje ciał na innym komputerze, świat nie jest powtarzalnym dowodem.
Jacquard opiera to na Rapier3D w WASM i stałym kroku czasowym 60 Hz. Materiał źródłowy opisuje deterministyczną fizykę, losowość z ziarnem, rejestrowane wejście i mechaniczny replay z typowanego dziennika zdarzeń. To samo ziarno, ten sam dziennik, te same klatki. Raport o błędzie to załączony dziennik; odtwórz go i zobacz to, co widział gracz. To mocniejsze twierdzenie niż nagranie ekranu, bo zachowuje interaktywne przyczyny, nie tylko piksele.
Pytanie badawcze brzmi: co się dzieje, gdy generowanie wchodzi w tę pętlę. Agent może stworzyć most, ale most musi respektować masę, kolizje, osiągalność i ograniczenia playtestów. Może stworzyć NPC, ale NPC musi nawigować w świecie, którego geometria może się zmieniać. Może dostroić teren, ale powstałe zbocza muszą pozostać grywalne. Może dodać skryptowane zdarzenie, ale to zdarzenie musi być rejestrowane w sposób, który replay może wchłonąć.
Fizyka nie jest więc podsystemem na dnie stosu. Jest jednym z sędziów generowania. Wygenerowany świat gry nie jest dobry, bo wygląda wiarygodnie. Jest dobry, gdy gracz może w nim zamieszkać, gdy zasady się trzymają i gdy późniejszy recenzent może odtworzyć tę samą porażkę zamiast pytać model, co miał na myśli.
Zachowanie NPC to warstwa, w której język się wyczerpuje
Postacie niezależne sprawiają, że Jacquard jest trudniejszy niż edytor poziomów. Statyczny pokój można zbadać jako geometrię. NPC to stan w czasie: harmonogram, cel, percepcja, dialog, graf społeczny, relacje z zadaniami, nawigacja, pamięć i porażka. Materiał źródłowy wymienia drzewa zachowań, harmonogramy, cele, narrację jako dane, grafy warunków i rozgałęzioną progresję. To właśnie te słowa sprawiają, że gry budowane przez AI przestają być zabawką.
Język jest użyteczny dla intencji. Jest słabą finalną reprezentacją zachowania. Prompt może powiedzieć, że strażnik powinien być podejrzliwy nocą, pomocny wieśniakom, wrogi złodziejom i wybaczający po ukończeniu zadania przez gracza. Silnik potrzebuje czegoś ostrzejszego: który czujnik wykrywa zagrożenie, który warunek zmienia postawę, która flaga zadania nadpisuje podejrzliwość, który harmonogram porusza strażnika i która linia dialogu jest dozwolona po przejściu stanu.
Ta ostrość to powód, dla którego typowane narzędzia NPC mają znaczenie. Bez nich agent produkuje klimat. Z nimi musi zapisać zachowanie w strukturach nadających się do inspekcji. Projektant może wtedy zapytać, czy strażnik jest niesprawiedliwy, czy zadanie może się zablokować, czy graf społeczny tworzy niemożliwe zobowiązania albo czy wygenerowana instrukcja sprawi, że każdy NPC zbiegnie się do tej samej nudnej rutyny.
Zachowanie NPC sprawia też, że bezpieczeństwo ma praktyczne znaczenie. Niebezpieczna generacja to nie tylko obraźliwy tekst czy zabronione treści. Może to być pętla zachowań, która więzi gracza, zadanie, którego nie da się ukończyć, wygenerowany graf społeczny kodujący wrogi stereotyp, albo harmonogram prowadzący do załamania wydajności. Bezpieczeństwo wokół generacji musi działać na poziomie systemów gry, a nie tylko na poziomie słów.
Bezpieczeństwo to problem kształtu
Najprostsza narracja o bezpieczeństwie mówi, że agent może wygenerować dany element treści albo nie. Jacquard potrzebuje bardziej strukturalnej narracji. Pytanie nie brzmi tylko, czy wygenerowany zasób jest dozwolony. Chodzi o to, czy wygenerowana zmiana pasuje do kontraktu świata. Czy mutuje wyłącznie zakres, który jej przydzielono? Czy ujawnia, co zmieniła? Czy edytor może ją sprawdzić? Czy powtórne odtworzenie może ją odtworzyć? Czy narzędzia do budowania i testowania mogą ją odrzucić, zanim człowiek pomyli nowość z ukończeniem?
Źródło wskazuje na to przez typowane wywołania, walidację schematu, zasoby tylko do odczytu, debugowanie, testy grywalności, przenośne pakiety i otwarte pliki. To nie są efektowne funkcje bezpieczeństwa, ale znaczą więcej niż dramatyczny komunikat odmowy. Ograniczone wywołanie można odrzucić. Typowany błąd można naprawić. Zasób tylko do odczytu pozwala agentowi sprawdzać bez mutowania. Krok budowania może spakować tylko to, co da się serializować. Deterministyczny test grywalności może ujawnić, że wygenerowane drzwi nigdy się nie otwierają.
Bezpieczna generacja oznacza też oparcie się pokusie ukrywania niepewności. Jeśli agent nie może wiedzieć, czy zagadka jest do rozwiązania, system nie powinien pakować jej jako rozwiązanej. Jeśli zachowanie NPC zależy od niejednoznacznego stanu, edytor powinien uczynić tę niejednoznaczność widoczną. Jeśli fizyka przy powtórnym odtworzeniu się rozjeżdża, twierdzenie powinno upaść. Słownik porażek wciąż powstaje.
Jacquard powinien uwidaczniać niepewność zamiast wypolerowywać ją w fałszywą obietnicę. Gdy wygenerowana treść nie jest wystarczająco ograniczona, edytor, log, ścieżka powtórnego odtworzenia i typowane błędy powinny ujawnić tę lukę, dopóki jest na tyle mała, że da się ją naprawić. To nie jest szorstkość dla samej szorstkości. Tak wygenerowane światy unikają stawania się długiem treściowym.
Przeglądarka zmienia ekonomię iteracji
Jacquard działający w karcie przeglądarki może brzmieć jak funkcja dystrybucji i nią jest. Zerowa instalacja obniża koszt wypróbowania świata. WebGPU i WebGL2 dają silnikowi praktyczną ścieżkę renderowania. Sala lekcyjna, partner badawczy czy sesja projektowa nie muszą zaczynać od ciężkiej instalacji natywnej. Ale przeglądarka ma znaczenie z głębszego powodu.
Skraca pętlę iteracji. Agent może budować, edytor może sprawdzać, gracz może testować, a log można odtworzyć bez przenoszenia świata przez łańcuch zastrzeżonych narzędzi. To samo środowisko może udostępnić graf sceny, uruchomić fizykę, odtworzyć audio, sprawdzić wydajność i spakować przenośny pakiet. To nie rozwiązuje projektowania gier, ale usuwa sporo przypadkowej ceremonii z jego badania.
Przeglądarka sprawia też, że granice stają się wyraźniejsze. Jeśli świat otwiera się jak strona internetowa, granica tego, co zostało uruchomione, co zostało załadowane, jaki stan się zmienił i co zostało wyeksportowane, może być jawna. Jeśli silnik to ścisły TypeScript kierowany na ES2022, z otwartymi zasobami glTF i serializowalnymi światami, artefakt może być odczytany przez więcej osób niż wąskie grono wtajemniczonych jednego silnika desktopowego.
Ta otwartość to praktyczna przewaga. Więcej oczu może zbadać reprezentację. Więcej agentów można podłączyć przez MCP. Więcej awarii można odtworzyć jako logi, zamiast opowiadać o nich jak o anegdotach. Przeglądarka nie ułatwia problemu. Sprawia, że problem staje się obserwowalny.
Presja prototypu by go zniszczyła
Istnieje znajomy odruch programistyczny: gdy coś dobrze się prezentuje w demo, wygładza się to, aż da się to spakować. Jacquard to dokładnie ten rodzaj systemu, który karze ten odruch. Wygładź to zbyt wcześnie, a zespół będzie musiał udawać, że kontrakt autorski jest ustalony, zanim rozstrzygnięte zostaną trudne pytania. Jaki jest stabilny kontrakt autorski? Które generowane zachowania są wspierane? Które twierdzenia o fizyce utrzymują się w różnych przeglądarkach? Które koncepcje edytora są już trwałe? Które kontrole bezpieczeństwa są obowiązkowe?
Przedwczesny pakiet musiałby udawać, że odpowiedzi są już ustalone. To zawęziłoby badania do tego, co najłatwiej spakować. Efektem byłaby zabawka z wypolerowanym frontem i kruchym tyłem. Ciekawa obietnica Jacquard jest większa: silnik gry, w którym agenci AI i ludzcy projektanci dzielą tę samą typowaną powierzchnię operacyjną, w którym stan świata jest możliwy do zbadania, w którym powtórka jest mechaniczna i w którym generowanie jest ograniczone przez systemy, a nie przez wibracje.
Ta obietnica zasługuje na cierpliwość, ponieważ dotyka kilku trudnych dziedzin naraz. Projektowanie języków programowania pojawia się w schematach narzędzi. Interakcja człowiek-komputer pojawia się w edytorze. Symulacja pojawia się w fizyce. AI w grach pojawia się w zachowaniu NPC. Bezpieczeństwo pojawia się w granicach wokół generowania. Infrastruktura pojawia się w pakowaniu, wykonywaniu w przeglądarce i otwartych formatach. Wąska implementacja wybrałaby jedną z tych dziedzin i nazwała pozostałe przypadkami brzegowymi. Jacquard utrzymuje je połączone.
Chodzi o to, aby twierdzenie było precyzyjne. Jacquard to badania nad tworzeniem gier w przeglądarce, sterowanym przez agentów. Może być przydatny do eksperymentów i pracy z partnerami, bez udawania, że każdy kontrakt autorski jest ostateczny. Ta uczciwość jest częścią inżynierii.
Co czyni badania wiarygodnymi
Te oznaki nie są oznakami marketingowymi. Są to oznaki techniczne i doświadczeniowe. Wygenerowany świat powinien być możliwy do zbadania przez edytor bez ukrytego stanu. Wywołania narzędzi powinny kończyć się niepowodzeniem z użytecznymi, typowanymi błędami. Powtórka powinna odtwarzać znaczące awarie. Zachowania NPC powinny być czytelne jako dane i możliwe do debugowania jako systemy. Testy rozgrywki powinny wyłapywać oczywiste niemożliwości, zanim staną się ludzkim rozczarowaniem.
Silnik powinien również zachowywać autorstwo. Gry tworzone przez AI nadal potrzebują ludzkiego gustu. Agent może naszkicować świat, ale projektant musi być w stanie go kształtować bez gubienia śladu tego, jak powstał. Jeśli człowiek musi zaczynać od nowa, aby odzyskać kontrolę, agent nie był współpracownikiem. Był szybkim źródłem długu technicznego.
Bezpieczeństwo powinno stać się mniej teatralne, a bardziej mechaniczne. Wygenerowana zmiana powinna nieść zakres, pochodzenie i stan przeglądu. Inspekcja tylko do odczytu powinna być odróżnialna od mutacji. Budowanie powinno odmawiać tego, czego nie można czysto spakować. Debugowanie powinno pokazywać, skąd pochodzi zachowanie. Testy rozgrywki powinny być wystarczająco skryptowalne, aby twierdzenia były powtarzalne. To nudne słowa, dlatego mają znaczenie.
Gdy te właściwości staną się zwyczajne, Jacquard będzie mógł wspierać mocniejsze obietnice. Do tego czasu badania to uczciwa etykieta. Mówi zespołowi i czytelnikowi, że celem jest nie tylko sprawienie, by AI tworzyło gry, ale uczynienie światów gier tworzonych przez AI na tyle czytelnymi, by można było je posiadać.
Użyteczne twierdzenie
Jacquard i typowane światy dla gier tworzonych przez AI, bo tak naprawdę nie chodzi o gry powstające z promptów. Chodzi o mechanikę niezbędną, zanim gry z promptów staną się poważnymi artefaktami: typowane ograniczenia, wspólne możliwości edytora, deterministyczna fizyka, możliwa do prześledzenia inteligencja NPC, otwarte zasoby, przenośne paczki i bezpieczeństwo wokół generowania.
Najtrafniejszy obraz to nie magiczny silnik. To warsztat, w którym agent i projektant dotykają tych samych narzędzi. Agent nie dostaje ukrytych drzwi. Edytor nie dostaje słabszej mapy. System fizyki nie przestaje być opcjonalny, gdy scena wygląda ładnie. Dziennik zdarzeń nie znika po demo. Wygenerowany świat pozostaje światem, który można obejrzeć, odtworzyć, zmienić i obronić.
To długi program inżynieryjny, nie slogan. Jeśli się powiedzie, powierzchnie widoczne dla użytkownika będą jaśniejsze, bo trudne pytania nie były poganiane. Jeśli się nie powiedzie, porażka i tak nauczy czegoś o warunkach, w których AI może bezpiecznie tworzyć interaktywne systemy. Oba wyniki są użyteczne.
Na razie najprecyzyjniej można powiedzieć tak: Jacquard to otwarty silnik badawczy do światów gier tworzonych przez AI. Może być ekscytujący. Musi też być dokładny. Przyszłość gier tworzonych przez AI nie zostanie zdobyta przez najładniejszą pierwszą scenę. Zdobędzie ją świat, który wciąż ma sens, gdy gracz, projektant, agent i dziennik odtworzeń do niego wrócą.