- Braindump es un intento de imaginar cómo podría ser la creación de videojuegos en el nuevo mundo de los LLM y la IA generativa
- Con Braindump, puedes construir un juego top-down/2.5D o un mundo interactivo simplemente escribiendo prompts
- Por ejemplo, si escribes "crear un caza estelar que pueda disparar rayos láser y lanzar bombas BB-8", se generan el modelo 3D, los datos del juego y los scripts necesarios
Desde los primeros experimentos hasta ahora
- Empezó hace unos 6 meses como un prototipo simple, y desde entonces se añadieron generación de modelos 3D, funciones multijugador y varias mejoras de UX
- Actualmente, Braindump tiene las siguientes funciones clave
- Definir unidades, habilidades y atributos (por ejemplo: "un orco con 50 HP que deja caer una varita mágica")
- Colocar objetos en el mapa del juego (por ejemplo: "poner 20 orcos en forma de círculo")
- Generar reglas y lógica del juego (por ejemplo: "cuando la salud del orco llegue a 0, generar un orco fantasma en su lugar")
- Generar nuevos modelos 3D (por ejemplo: "quiero que el orco sea rosa y tenga orejas esponjosas", usando Meshy)
- Todo esto es accesible a través de una interfaz integrada de prompts en lenguaje natural
Desafío 1: diseñar la UX para prompting
- Hay dos grandes problemas al construir algo usando LLM
- Cómo hacer que el LLM actúe de forma consistente como uno quiere
- Cuál es la mejor UX para interactuar con el LLM
- Tras muchos experimentos con prompts, pasaron al enfoque iterativo actual
- Generar un juego completo de una sola vez a partir de una descripción total no funcionaba bien
- Construir el juego gradualmente con varios prompts daba oportunidades para describir más detalles o iterar
- Siguen experimentando para encontrar el equilibrio adecuado entre los prompts y los controles tradicionales
Desafío 2: diseñar una API de juego para LLM
- Generar código para motores de juego existentes presentaba dificultades
- Los LLM son buenos generando snippets de código, pero tienen problemas con piezas de software más grandes y con construir y mantener arquitectura de software
- En lugar de eso, construyeron en TypeScript una "API de juego" muy simplificada que proporciona tanta estructura como sea posible para que el LLM se concentre en escribir código y datos
- Al darle a GPT como prompt de sistema las definiciones de tipos generadas (.d.ts) por la API, GPT usa la API de forma correcta y consistente en la mayoría de los casos desde el primer intento
- También descubrieron una ventaja sorprendente de la verificación de tipos: si GPT detecta un error, intenta corregirse por sí mismo
Macros generadas
- La API de juego también abrió otro flujo de UX interesante: las macros generadas
- En general, en una aplicación las macros son pequeños programas que pueden automatizar tareas
- En el sistema de Braindump, cada prompt genera código, y ese código puede automatizar casi cualquier cosa dentro de lo que cubre la API del juego
- Por ejemplo, puedes escribir un prompt como "coloca una tienda junto a una fogata"
- También puede automatizar tareas tediosas (por ejemplo: "crea 5 gatos distintos con stats diferentes")
- Incluso se le puede pedir que responda preguntas que requieren cálculo (por ejemplo: "¿cuántas tiendas apuntan hacia el norte?")
- Esto abre una nueva forma de trabajar
- Al principio se siente un poco raro, pero una vez que te acostumbras, puedes completar tareas muy tediosas en segundos de forma creativa
Edición colaborativa con IA
- Querían que todo en Braindump fuera multijugador
- Tanto la creación de juegos como el juego en sí
- Al principio solo había un gran chat donde todos podían contribuir, pero era confuso
- El principal problema era que muchas veces se trabajaba en dos cosas distintas que no tenían relación entre sí
- Después de probar varias soluciones, convergieron en algo que llaman "Threads"
- Puedes iniciar un prompt en cualquier parte del mundo, pero también puedes refinarlo o añadirle más cuando sea necesario
- A los threads se les da al inicio el estado más reciente del juego, pero no el historial completo del proyecto
- Varios threads pueden estar "ejecutándose" al mismo tiempo, pero solo puede ejecutarse un prompt a la vez por thread
- Hasta ahora esto ha funcionado bastante bien
- En las pruebas, 5 personas trabajaron al mismo tiempo en el mismo mundo; definitivamente era un poco caótico, pero seguía siendo funcional
- Están buscando activamente formas para que los usuarios puedan coordinarse de manera efectiva
Benchmarking y pruebas
- Desarrollaron una herramienta de benchmarking para evaluar el desempeño del motor de prompts
- Esta herramienta ejecuta decenas de escenarios, cada uno con su propio prompt, y luego usa GPT para evaluar si ese prompt tuvo éxito o no
- A un segundo GPT, llamado "evaluador" (con su propio prompt de sistema), se le entregan estas condiciones, el estado simulado al finalizar y cualquier error ocurrido, y se le pide decidir si la prueba fue exitosa
- La suite de pruebas todavía está en una etapa temprana, pero siguen agregando cada vez más tests conforme descubren nuevos estilos de prompts y casos de falla
Por qué crear Braindump
- Personalmente, siempre han amado los videojuegos y la creatividad
- La IA generativa es el siguiente paso natural en el aumento de productividad
- Permite simplemente hacer más cosas
- Como los grandes estudios están haciendo juegos cada vez más conservadores, les entusiasma empoderar a grupos pequeños o incluso a individuos para que puedan crear el juego de sus sueños
- Quieren ver qué ideas locas se les ocurren a las personas y cómo las hacen realidad cuando tienen un estudio completo de videojuegos con IA al alcance de la mano
Planes a futuro
- Braindump apenas está comenzando
- Ahora es bastante bueno ejecutando "órdenes" ("crear un gato"), pero saben que puede expandirse para manejar tareas mucho más ambiguas o "grandes"
- Están investigando cosas como
- Soporte para prompts "más grandes" mediante Planning
- Hacer que GPT deje de adivinar y en su lugar le pida aclaraciones al usuario
- Mejorar la calidad del código haciendo que GPT critique su propio trabajo
- Mejorar el descubrimiento y la inspiración ("¿qué se puede crear con esto?")
- Mejorar las funciones del motor de juego de una forma adecuada para los LLM
Aún no hay comentarios.