Jacquard y mundos tipados para juegos creados con IA
La demo es la parte fácil
La primera demo de Jacquard es deliberadamente seductora. Un agente abre un motor nativo del navegador, llama a una herramienta tipada, crea una escena, esculpe el terreno, coloca objetos, conecta comportamientos, guarda el paquete y devuelve el mundo a un humano que puede pulsar play. Sin editor de varios gigabytes. Sin ceremonia de motor de escritorio. Sin el ritual de instalar un toolchain nativo antes de que la primera idea pueda moverse.
Si esa fuera toda la historia, Jacquard sería fácil de explicar: prototipos más rápidos, simulaciones de entrenamiento más baratas y pequeños mundos interactivos creados a partir de lenguaje natural. El material fuente respalda parte de esa forma: Jacquard es un proyecto de investigación de Dweve, escrito en TypeScript estricto y diseñado para ejecutarse en una pestaña del navegador. Los metadatos de la ruta describen un motor de juegos nativo de la web donde los agentes de IA construyen juegos completos a través de una API tipada, con editor visual, física y comportamiento de NPC incluidos.
Pero una buena demo puede ocultar el problema real. Conseguir que un agente produzca una escena de juego plausible ya no es la parte difícil. La parte difícil es hacer que el mundo generado esté lo bastante restringido para inspeccionarlo, lo bastante editable para un diseñador, lo bastante físico para jugarlo, lo bastante conductual para que importe y lo bastante seguro para que la generación no se convierta en una nueva forma de crear estado no revisable.
Esa es la pregunta interesante: ¿puede un motor de juegos exponer cada operación significativa como una superficie tipada compartida por agentes y humanos, preservando a la vez la reproducción, la autoría, la seguridad y la textura del diseño?
Por qué la pregunta sigue abierta
Una herramienta empaquetada normal intenta congelar su promesa. Esto es lo que hace. Este es el modelo de soporte. Este es el límite. Este es el modo de fallo. Jacquard es más interesante antes de que esas frases se vuelvan demasiado pulidas, porque las preguntas difíciles siguen conectadas entre sí.
El código fuente actual describe un motor orientado a agentes, una superficie MCP, reproducción determinista, Rapier3D en WASM, WebGPU con respaldo de WebGL2, activos glTF 2.0 y una ruta solo para navegador. Son decisiones de ingeniería concretas. También son solo el comienzo del contrato social en torno a los juegos creados por IA.
Los juegos no son documentos con cajas de colisión. Un mundo de juego es una disposición viva de geometría, tiempos, física, entradas, transiciones de estado, expectativas del jugador y sorpresa diseñada. Si un sistema de IA genera un informe, un lector puede marcar un párrafo como erróneo. Si un sistema de IA genera un mundo de juego, el error puede aparecer como una puerta a la que no se puede llegar, un personaje no jugador que miente sobre el estado de la misión, un impulso físico que rompe la reproducción o una operación de editor que el agente realizó pero que el diseñador no puede entender después.
Las preguntas incómodas son el punto. ¿Qué debería poder mutar un agente directamente? ¿Qué funciones del editor deben ser operaciones tipadas de primera clase? ¿Qué activos generados son seguros de empaquetar? ¿Qué comportamientos deben ser inspeccionables antes de ejecutarse? ¿Qué estado del mundo pertenece a un registro de eventos en lugar de a un montón oculto del motor? Estas no son tareas cosméticas pendientes. Son el motor.
El motor es un argumento sobre el alcance
La mayoría de los motores de juegos son excelentes herramientas para humanos sentados ante un escritorio. Eso no los convierte en buenos sustratos para agentes. Su poder suele vivir detrás de menús, paneles, lenguajes de scripting específicos del motor, pipelines de activos propietarios y flujos de interfaz que asumen que una persona puede buscar visualmente el siguiente control. Un agente puede aprender a hacer clic, pero hacer clic a través de un editor no es lo mismo que tener un contrato programático.
Jacquard adopta la postura contraria. Si el editor puede hacerlo, una llamada de herramienta debería poder hacerlo. Una función a la que un agente no puede llegar mediante código no existe realmente para esta pregunta de investigación. Esa regla suena severa hasta que ves a un agente intentar construir un mundo con un motor que solo tiene interfaz gráfica. El agente se ve forzado a aproximarse: deducir el menú, esperar que el panel seleccionado esté activo, extraer un mensaje de error y continuar con un estado que no puede demostrar.
La fuente nombra la fricción con claridad: funciones solo de interfaz gráfica, instaladores pesados, DSL específicos del motor, canalizaciones cerradas. Jacquard responde con una pestaña del navegador, formatos abiertos, activos glTF, mundos serializables, parámetros validados por esquema, errores tipados y una única superficie tipada compartida por el editor visual y el agente. Por eso el motor no es solo un motor. Es un experimento sobre el alcance.
El alcance no es comodidad. Es seguridad. Cuando cada operación es una llamada, cada operación puede nombrarse, limitarse, registrarse, rechazarse, repetirse y explicarse. Cuando la capacidad está oculta tras un menú, el agente debe colar la intención por una superficie que nunca se diseñó para ello. La diferencia es la diferencia entre un ingeniero que lee un registro de API y un humano que intenta recordar qué panel estaba abierto cuando la escena cambió.
Un mundo no es una imagen
La generación de imágenes con IA enseñó a la gente a aceptar un trato extraño: pide una imagen, recibe una imagen, perdona la estructura si la superficie tiene buen aspecto. Los juegos no pueden sobrevivir a ese trato. Un nivel de juego no se juzga solo por lo que parece desde un ángulo de cámara. Se juzga por si un jugador puede moverse por él, si la física se mantiene estable, si los objetivos se resuelven, si el comportamiento de los NPC respeta el mundo y si el estado puede repetirse cuando algo sale mal.
Aquí es donde las restricciones tipadas se vuelven centrales. Una herramienta de terreno no puede simplemente pintar colinas. Tiene que saber dónde están las superficies transitables, cómo interactúan las pendientes con los controladores de personaje, cómo afectan la vegetación y la iluminación a la visibilidad, y cómo la generación con semilla reproducirá el mismo resultado más adelante. Una herramienta de escena no puede simplemente colocar cosas. Tiene que crear entidades direccionables, adjuntar componentes, versionar el grafo y hacer que el resultado sea lo bastante diferenciable para su revisión.
La paleta de herramientas de Jacquard hace que esto sea visible. La página nombra quince categorías: escena, entidad, componente, activo, material, física, terreno, iluminación, audio, interfaz, misión, PNJ, compilación, depuración y prueba de juego. También nombra recursos de solo lectura, como metadatos del proyecto, grafo de escena, catálogo de activos, métricas de rendimiento y registro de errores. Eso no es un menú arbitrario. Es una taxonomía de lo que un mundo de juego debe exponer antes de que un agente pueda ser algo más que un ingenioso grabador de macros.
El problema de investigación no es si las quince categorías pueden existir. Ya existen como afirmación de la fuente. El problema es lo expresivas, seguras y componibles que debe ser cada una antes de que los mundos generados dejen de ser artefactos frágiles y empiecen a comportarse como sistemas creados. La respuesta no se encontrará insistiendo más con las indicaciones. Se encontrará haciendo que la representación sea más difícil de falsear.
El editor no es un adorno
Una lectura débil de las herramientas centradas en el agente trata el editor como un visor. El agente crea las cosas; el humano observa. Ese es el modelo equivocado para Jacquard. El texto fuente es cuidadoso: el editor visual usa la misma API que los agentes. Es un cliente sin privilegios de la misma superficie. Ese único hecho evita que se forme una división profunda dentro del proyecto.
Si el agente tiene una ruta privada hacia el mundo y el editor tiene otra, el humano acaba perdiendo. El estado generado se vuelve técnicamente válido pero prácticamente ineditable. El diseñador puede ver el castillo, pero no puede descubrir por qué el marcador de misión está adjunto a esa entidad, por qué el terreno tiene un bloqueador invisible o por qué la agenda del PNJ cambia después de la segunda noche. El resultado parece productividad y se comporta como deuda.
Una API compartida significa que el editor debe tener recursos para los mismos conceptos que manipula el agente. Debe mostrar el grafo de escena, los componentes, los comportamientos, los recursos, los errores y el rendimiento de maneras que un humano pueda razonar. Debe permitir que el diseñador corrija el mundo sin salirse del contrato del que depende la reproducción. Por tanto, el editor es parte del instrumento de investigación.
Este es un requisito incómodo porque frena la fantasía. Es más fácil dejar que el agente genere cableado oculto y luego esperar que la demo siga funcionando. Jacquard pide que el cableado oculto se vuelva lo bastante visible para que un diseñador pueda asumir su propiedad. Los juegos creados con IA solo se vuelven serios cuando el humano puede heredarlos sin arqueología forense.
La física es donde el encanto se convierte en responsabilidad
La física tiene una forma brutal de convertir la generación vaga en un fallo visible. Una historia puede tolerar un poco de ambigüedad narrativa. Un mundo 3D con cuerpos, colisiones, terreno y entrada del jugador no puede. Si el paso cambia con la tasa de fotogramas, la reproducción se desvía. Si el control del personaje depende de un impulso no registrado, un informe de error se convierte en un rumor. Si la misma semilla produce posiciones corporales diferentes en otra máquina, el mundo no es evidencia reproducible.
Jacquard lo fundamenta con Rapier3D en WASM y un paso de tiempo fijo de 60 Hz. El material de origen describe física determinista, aleatoriedad con semilla, entrada registrada y reproducción mecánica a partir de un registro de eventos tipado. Misma semilla, mismo registro, mismos fotogramas. Un informe de error es el registro adjunto; reprodúcelo y verás lo que vio el jugador. Es una afirmación más sólida que una grabación de pantalla, porque conserva las causas interactivas, no solo los píxeles.
La pregunta de investigación es qué ocurre cuando la generación entra en ese bucle. Un agente puede crear un puente, pero el puente debe obedecer las restricciones de masa, colisión, alcance y prueba de juego. Puede generar un PNJ, pero el PNJ debe navegar por un mundo cuya geometría puede cambiar. Puede ajustar el terreno, pero las pendientes resultantes deben seguir siendo jugables. Puede añadir un evento con guion, pero ese evento debe registrarse de forma que la reproducción pueda integrarlo.
Por tanto, la física no es un subsistema en la base de la pila. Es uno de los jueces de la generación. Un mundo de juego generado no es bueno porque parezca plausible. Es bueno cuando el jugador puede habitarlo, cuando las reglas se mantienen y cuando un revisor posterior puede reproducir el mismo fallo en lugar de preguntarle al modelo qué quería decir.
El comportamiento de los PNJ es la capa donde el lenguaje se queda corto
Los personajes no jugadores hacen que Jacquard sea más difícil que un editor de niveles. Una sala estática puede inspeccionarse como geometría. Un PNJ es estado a lo largo del tiempo: horario, objetivo, percepción, diálogo, grafo social, relación con misiones, búsqueda de caminos, memoria y fallo. El material de origen menciona árboles de comportamiento, horarios, objetivos, narrativa como datos, grafos de condiciones y progresión ramificada. Esas palabras son donde los juegos creados con IA dejan de ser un juguete.
El lenguaje es útil para la intención. Es una representación final pobre para el comportamiento. Un aviso puede decir que un guardia debe ser suspicaz de noche, servicial con los aldeanos, hostil con los ladrones y comprensivo después de que el jugador complete una tarea. El motor necesita algo más preciso: qué sensor detecta el peligro, qué condición cambia la actitud, qué indicador de misión anula la suspicacia, qué horario mueve al guardia y qué línea de diálogo está permitida tras la transición de estado.
Esa precisión es la razón por la que las herramientas tipadas para PNJ importan. Sin ellas, el agente produce sensaciones. Con ellas, tiene que escribir el comportamiento en estructuras inspeccionables. El diseñador puede entonces preguntarse si el guardia es injusto, si la misión puede llegar a un punto muerto, si el grafo social crea obligaciones imposibles o si una instrucción generada haría que todos los PNJ convergieran en la misma rutina monótona.
El comportamiento de los NPC también hace que la seguridad sea práctica. La generación insegura no es solo texto ofensivo o contenido prohibido. Puede ser un bucle de comportamiento que atrapa al jugador, una misión que no puede resolverse, un grafo social generado que codifica un estereotipo hostil, o un horario que provoca un colapso de rendimiento. La seguridad en torno a la generación debe operar a nivel de los sistemas del juego, no solo a nivel de las palabras.
La seguridad es un problema de forma
La historia de seguridad más sencilla dice que el agente puede o no generar una pieza de contenido. Jacquard necesita una historia más estructural. La cuestión no es solo si un activo generado está permitido. Es si el cambio generado encaja en el contrato del mundo. ¿Muta solo el ámbito que se le dio? ¿Expone lo que cambió? ¿Puede el editor inspeccionarlo? ¿Puede la reproducción repetirlo? ¿Pueden las herramientas de compilación y prueba rechazarlo antes de que una persona confunda la novedad con la finalización?
El origen apunta hacia esto mediante llamadas tipadas, validación de esquemas, recursos de solo lectura, depuración, pruebas de juego, paquetes portables y archivos abiertos. No son características de seguridad glamurosas, pero importan más que un mensaje de rechazo dramático. Una llamada acotada puede denegarse. Un error tipado puede repararse. Un recurso de solo lectura puede permitir que un agente inspeccione sin mutar. Un paso de compilación puede empaquetar solo lo que es serializable. Una prueba de juego determinista puede revelar que la puerta generada nunca se abre.
La generación segura también significa resistir la tentación de ocultar la incertidumbre. Si el agente no puede saber si un puzle es resoluble, el sistema no debería empaquetarlo como resuelto. Si un comportamiento de un NPC depende de un estado ambiguo, el editor debería hacer visible esa ambigüedad. Si la reproducción de la física diverge, la afirmación debería fallar. El vocabulario del fallo todavía se está construyendo.
Jacquard debería hacer visible la incertidumbre en lugar de pulirla hasta convertirla en una promesa falsa. Cuando el contenido generado no está lo suficientemente restringido, el editor, el registro, la ruta de reproducción y los errores tipados deberían exponer esa brecha mientras aún sea lo bastante pequeña para arreglarla. Eso no es aspereza por sí misma. Así es como los mundos generados evitan convertirse en deuda de contenido.
El navegador cambia la economía de la iteración
Jacquard ejecutándose en una pestaña del navegador puede sonar como una función de distribución, y lo es. La instalación cero reduce el coste de probar un mundo. WebGPU y WebGL2 le dan al motor una ruta de renderizado práctica. Un aula, un socio de investigación o una sesión de diseño no tienen que empezar con una instalación nativa pesada. Pero el navegador importa por una razón más profunda.
Acorta el bucle de iteración. Un agente puede construir, el editor puede inspeccionar, el jugador puede probar, y el registro puede reproducirse sin mover el mundo a través de una cadena de herramientas propietarias. El mismo entorno puede exponer un grafo de escena, ejecutar física, reproducir audio, inspeccionar el rendimiento y empaquetar un paquete portable. Eso no resuelve el diseño de juegos, pero elimina mucha ceremonia accidental de su estudio.
El navegador también hace más claros los límites. Si el mundo se abre como una página web, el límite de lo que se ejecutó, lo que se cargó, qué estado cambió y qué se exportó puede hacerse explícito. Si el motor es TypeScript estricto dirigido a ES2022, con activos glTF abiertos y mundos serializables, el artefacto puede ser leído por más personas que el pequeño sacerdocio de un motor de escritorio.
Esa apertura es una ventaja práctica. Más ojos pueden inspeccionar la representación. Más agentes pueden conectarse a través de MCP. Más fallos pueden reproducirse como registros en lugar de narrarse como anécdotas. El navegador no hace que el problema sea fácil. Hace que el problema sea observable.
La presión del prototipo lo rompería
Hay un reflejo de software conocido: cuando algo se demuestra bien, se pule hasta que pueda empaquetarse. Jacquard es exactamente el tipo de sistema que castiga ese reflejo. Pulirlo demasiado pronto obliga al equipo a fingir que el contrato de autoría está resuelto antes de que se respondan las preguntas difíciles. ¿Cuál es el contrato de autoría estable? ¿Qué comportamientos generados son compatibles? ¿Qué afirmaciones sobre física se sostienen en todos los navegadores? ¿Qué conceptos del editor son ahora permanentes? ¿Qué comprobaciones de seguridad son obligatorias?
Un paquete prematuro tendría que fingir que las respuestas ya están resueltas. Eso reduciría la investigación a lo que sea más fácil de empaquetar. El resultado sería un juguete divertido con un frente pulido y una parte trasera frágil. La promesa interesante de Jacquard es mayor: un motor de juego donde los agentes de IA y los diseñadores humanos comparten la misma superficie operativa tipada, donde el estado del mundo es inspeccionable, donde la reproducción es mecánica y donde la generación está limitada por sistemas en lugar de por sensaciones.
Esa promesa merece paciencia porque toca varios campos difíciles a la vez. El diseño de lenguajes de programación aparece en los esquemas de herramientas. La interacción humano-computadora aparece en el editor. La simulación aparece en la física. La IA de juegos aparece en el comportamiento de los PNJ. La seguridad aparece en los límites alrededor de la generación. La infraestructura aparece en el empaquetado, la ejecución en el navegador y los formatos abiertos. Una implementación estrecha elegiría uno y llamaría a los demás casos límite. Jacquard los mantiene conectados.
La cuestión es mantener la afirmación precisa. Jacquard es investigación sobre creación de juegos nativa del navegador y controlable por agentes. Puede ser útil para experimentos y trabajo con socios sin fingir que cada contrato de autoría es definitivo. Esa honestidad es parte de la ingeniería.
Lo que hace creíble la investigación
Las señales no son señales de marketing. Son señales técnicas y experienciales. Un mundo generado debería ser inspeccionable a través del editor sin estado oculto. Las llamadas a herramientas deberían fallar con errores tipados útiles. La reproducción debería reproducir fallos significativos. Los comportamientos de los PNJ deberían ser legibles como datos y depurables como sistemas. Las pruebas de juego deberían detectar imposibilidades obvias antes de que se conviertan en decepción humana.
El motor también debería preservar la autoría. Los juegos construidos con IA todavía necesitan el gusto humano. El agente puede redactar un mundo, pero el diseñador debe poder darle forma sin perder el rastro de cómo se hizo. Si el humano tiene que empezar de nuevo para recuperar el control, el agente no fue un colaborador. Fue una fuente rápida de deuda técnica.
La seguridad debería volverse menos teatral y más mecánica. Un cambio generado debería llevar alcance, procedencia y estado de revisión. La inspección de solo lectura debería ser distinta de la mutación. La compilación debería rechazar lo que no pueda empaquetarse limpiamente. La depuración debería mostrar de dónde proviene un comportamiento. Las pruebas de juego deberían ser lo suficientemente programables para hacer repetibles las afirmaciones. Son palabras aburridas, y por eso importan.
Cuando esas propiedades sean ordinarias, Jacquard podrá respaldar promesas más fuertes. Hasta entonces, la investigación es la etiqueta honesta. Le dice al equipo y al lector que el objetivo no es meramente hacer que la IA produzca juegos, sino hacer que los mundos de juego producidos por IA sean lo suficientemente legibles para ser propios.
La afirmación útil
Jacquard y los mundos tipados para juegos creados con IA, porque en realidad no va de que los juegos aparezcan a partir de instrucciones. Va de la maquinaria necesaria para que los juegos generados por instrucciones se conviertan en artefactos serios: restricciones tipadas, funcionalidades compartidas del editor, física determinista, comportamiento inspeccionable de los NPC, activos abiertos, paquetes portables y seguridad en torno a la generación.
La imagen útil no es un motor mágico. Es un taller donde el agente y el diseñador tocan las mismas herramientas. El agente no tiene una puerta oculta. El editor no tiene un mapa más limitado. El sistema de física no se vuelve opcional cuando la escena resulta atractiva. El registro de eventos no desaparece tras la demo. El mundo generado sigue siendo un mundo que alguien puede inspeccionar, reproducir, cambiar y defender.
Eso es un programa de ingeniería largo, no un eslogan. Si tiene éxito, las superficies visibles para el usuario serán más claras porque las preguntas difíciles no se resolvieron con prisas. Si fracasa, el fracaso igualmente enseñará algo sobre las condiciones en las que la IA puede crear sistemas interactivos de forma segura. Ambos resultados son útiles.
Por ahora, lo más preciso que se puede decir es esto: Jacquard es un motor de investigación abierto para mundos de juego creados con IA. Se le permite ser emocionante. También se le exige ser exacto. El futuro de los juegos creados por IA no lo ganará la primera escena más bonita. Lo ganará el mundo que sigue teniendo sentido cuando el jugador, el diseñador, el agente y el registro de reproducción vuelven a él.