Asistimos a una charla sobre la IA (Inteligencia Artificial)
en los videojuegos, cuyo ponente era Luis Peña, miembro del grupo de
investigación sobre IA de la URJC. A grandes rasgos, era una charla sobre los
conceptos básicos de la IA, desde el desarrollo a la implantación en juegos, y
tanto a nivel teórico con algún que otro ejemplo. Bastante didáctico y
asequible, ya que hasta unos profanos en el tema como éramos nosotros pudimos
entender la exposición en su casi totalidad.
Peña dedicó un momento a explicar las dos ramas de la IA: la
IA Académica y la IA Comercial. La diferencia principal entre estas dos ramas
que, aunque trabajen en el mismo campo, difieren bastante, es el objetivo:
mientras la comercial busca desarrollar soluciones aplicadas directamente a los
videojuegos, la académica busca crear respuestas para problemas teóricos
generales e incluso aleatorios. Dos puntos de vista. Y en este “conflicto” es
en lo que me voy a centrar, ya que me llamó la atención el hecho de una
separación en una disciplina que desde fuera parece tan cohesionada.
El ponente extendió la diferenciación y explicó que en la IA comercial, el espacio para el desarrollo es corto, pues tiene unos periodos que la empresa establece para desarrollar el juego, lo que también tiene que ver con el siguiente punto: mucha reutilización de material de IA previo, pues ahorra un volumen enorme de trabajo, aunque quizá se podrían alcanzar soluciones mejores. Por esto, Peña explicaba que en este espacio hay poca innovación.
Sin embargo, en la IA académica, se busca expresamente la
novedad. Al no estar tan constreñidos por tiempos de venta y factores
similares, y desarrollar “por desarrollar”, se tiene mucho más tiempo para
explorar. Además, al no tener que enfocarse hacia entornos de entretenimiento,
los campos de estudio y desarrollo son muchísimo más amplios. Por último, y muy
importante, la IA académica busca siempre las soluciones óptimas en términos de
esfuerzo, no las mejores a nivel comercial, ya que aunque un algoritmo sea óptimo
para una tarea, si es mucho más complejo y lento, no convendrá en términos
comerciales.
Hasta aquí, más o menos, llega lo que explicó Peña en su
ponencia. A partir de aquí, me he basado sobre todo en este artículo que
encontré navegando por la web.
Como comenta en el artículo Jorge Palacios, “la inteligencia
artificial para juegos es un área que tiene sus similitudes y discrepancias con
la I.A. académica. Primeramente porque sus orígenes provienen de la academia,
pero al mismo tiempo tiene objetivos compartidos con el diseño de juegos; que
pueden estar no alineados al plano académico.”
Y es precisamente aquí donde quiero centrarme: en la
relación que sigue existiendo entre ambas maneras de entender la IA. Y la clave
la expone en este otro artículo Palacios: y la cosa es que las herramientas
teóricas de las que provee el estilo académico te permiten mejorar y ahorrar en
tiempo y técnicas.
En palabras de Palacios “el detalle de conocer si la
herramienta vale la pena implementarla o no, radica en el tiempo y esfuerzo que
se va a invertir en implementar algo que posiblemente el jugador no vaya a
apreciar y, al final del día, el juego tiene un presupuesto y fechas por los
cuales regirse. Es decir, más tiempo en desarrollo puede significar menos
tiempo para probar y pulir.”
Como vemos, el principal problema al que se enfrenta la IA
académica radica en que, a nivel práctico, a los jugadores les es irrelevante
lo óptimo que sea un algoritmo o un árbol de decisiones, ya que en lo que se
fijan es en cómo se comporta el juego en sí, y no en cómo se ha llegado a este
comportamiento. Además, si los desarrolladores de videojuegos implementaran
ideas de la IA académica, con el perfeccionamiento y tiempo de elaboración que
estas tienen, los tiempos de entrega se les echarían encima. Y eso no puede
ser: el juego tiene que estar en las tiendas en tal fecha. Y punto.
Sin embargo, el hecho es que tener conocimientos de IA
académica puede ayudar a los desarrolladores de videojuegos enormemente: cuando
tienes una serie de conocimientos y bases teóricas y abstractas, tienes más
posibilidades. Aquí entramos en la visión del conocimiento académico de la IA como
herramienta más que como idiosincrasia, como forma de ver la IA.
Si un desarrollador de videojuegos conoce qué algoritmos se
están empleando en las universidades, con qué objetivos y de qué maneras,
tendrá más posibilidades a la hora de crear los videojuegos. Quizá no acabe
adoptando ese algoritmo óptimo pero para el que una consola tarda una semana en
resolver, pero sí que, al conocer cómo funciona dicho algoritmo, pueda basarse
en el mismo para desarrollar uno similar pero más sencillo.
En fin, creo que ya he explicado más o menos lo que quería
contar: que conocer la teoría de algo ayuda a la hora de desarrollar su
práctica, y que la IA no es una excepción.
Un saludo,
José Carlos H.
P.D.: Me gustaría pedir disculpas, sobre todo a mis compañeros, por haber tardado tantísimo en publicar la entrada. No hay excusa posible: sencillamente, lo siento, y no volverá a suceder.
Considero que este es un tema muy interesante, pues todos hemos jugado alguna vez a algún tipo de videojuego y sabemos lo que es la IA y, en muchos casos, hemos tenido que sufrir una IA que no ayudaba al buen funcionamiento del juego.
ResponderEliminar