adruiz, Blog, Indietics, Inteligencia artificial

¿Podría una inteligencia artificial desarrollar videojuegos?

¿Se puede automatizar el desarrollo de los juegos?

Adrián | 18 Oct, 2024

Hace poco salió un trailer muy prometedor que nos muestra un hipotético futuro de los videojuegos: una inteligencia artificial que con solo escribir un simple prompt y darle a un botón te crea el videojuego de tus sueños.

Al margen de la legitimidad de este dudoso proyecto (una web sin apartado legal, redes sociales plagadas de bots), no deja de ser interesante el planteamiento que hace y es inevitable hacerse la misma pregunta, ¿podrá algún día la inteligencia artificial desarrollar un videojuego?

Los desafíos del desarrollo de videojuegos

Desarrollar un juego no es algo sencillo, se trata de un trabajo altamente técnico y multifacético que requiere la combinación de diseño gráfico, mecánicas de juego, programación, algoritmos, sistemas basados en IA, simulaciones de físicas, gestión de recursos, sonido, narrativa, pruebas de testeo, y un largo (pero que muy largo) etc.

La gran mayoría de juegos hoy en día no parten de un único, digamos, origen, y suelen estar formados por una variedad de técnicas y herramientas de desarrollo, así como de frameworks y distintos tipos de lenguajes. Luego está el factor humano, donde premian aspectos como la creatividad, pero sobre todo, el trabajo en equipo, un pilar fundamental en la mayoría de desarrollos. Por último está la plataforma de destino, cada una es diferente y tiene sus particularidades.

En este sentido, un juego similar a otro, por muchas similitudes que tengan, por dentro pueden ser muy diferentes. En otras palabras, no hay un único estándar de desarrollo y una única forma de hacer juegos. Y si hablamos de un triple AAA, estas dificultades se disparan.

Las capacidades de la inteligencia artificial

Un aspecto fundamental que hay que entender es que la mayoría de sistemas de inteligencia artificial de hoy en día (desde ChatGPT hasta Stable Diffusion) son inteligencias de contenido generativo. Esto quiere decir que la única capacidad de estas es la de generar un contenido, ya sea un texto, un código, un vídeo o una imagen, siempre a partir de una orden previa.

Pero todas estas IAs tienen el problema de no estar diseñadas para generar contenido en niveles. Por poner un ejemplo, si pedimos el diseño de un logo nos va a generar una imagen, no un archivo vectorial perfectamente dividido con sus respectivas capas para Illustrator. Es cierto que hay plugins y herramientas que nos pueden permitir generar múltiples partes separadas de un mismo proyecto, como hacen los constructores de páginas web basados en inteligencia artificial, pero tienen un inconveniente muy importante: los tokens y las «ventanas de contexto».

Las IAs de contenido generativo suelen basar su procesamiento en un número de tokens que dependen en mayor medida de la capacidad de la GPU. A cada nueva orden, toda la conversación anterior se resume junto al nuevo prompt, empleando una «ventana de contexto» que le permite a la IA tener, hasta cierto punto, memoria sobre lo que está creando. Pero en algún punto esta memoria llega a su límite y las nuevas respuestas se vuelven cada vez más imprecisas. Las IAs generativas siempre dependen del contexto.

En el caso de la generación de proyectos grandes sería difícil ceder todo el control a una inteligencia artificial que tendría que tomar decisiones sobre cómo desarrollar cada parte del proyecto, y más importante todavía, darle una cohesión a todo. Más difícil todavía sería escalarlo y mantenerlo actualizado. Si nos fijamos en la generación de vídeos hasta ahora solo se ha logrado crear videos cortos y plagados de errores visuales: es impensable todavía pensar que una IA generativa sea capaz de crear todo un proyecto cinematográfico que sea editable, con sus distintas capas de distribución, assets, iluminaciones, banda sonora, efectos VFX, etc.

Y es que precisamente la dificultad radica en la personalización. Hay que entender que un videojuego es, en su conjunto, programación, no un medio visual estático. Incluso en su versión compilada sus entrañas siguen siendo un conjunto de líneas de código. En ese sentido, no es lo mismo que crear un vídeo, una imagen o una página web. Y el reto más importante de una IA capaz de generar videojuegos no es que nos genere una juego ya compilado, sino una versión de desarrollo que podamos editar y compilar.

Creo que el principal inconveniente no es tanto la capacidad de la inteligencia artificial, por mucha GPU que tenga disponible. El problema está más bien en el tipo de inteligencia que es: una basada en el contenido generativo. A diferencia de una AGI, los sistemas de inteligencia artificial actuales parten todos de un mismo patrón, la capacidad de generar y comprender contenido basándose en lenguajes de modelos preentrenados. Ni tienen capacidad de aprender por sí mismas, ni de aplicar un razonamiento cognitivo, algo clave y muy importante en la resolución de problemas.