En la primera parte comenté un poco sobre por qué la inteligencia artificial para juegos es como es hoy en día. Justamente por ésa razón es que es menospreciada por algunos académicos. Pero también traje a colación el hecho de que la línea divisoria entre una y otra se ha ido desvaneciendo a medida que más investigaciones se desarrollan en el área.

¿Qué beneficio inmediato te da tener bases teóricas académicas, además de las prácticas? Conocer el alcance; tanto del problema como la herramienta (algoritmo).

Como yo lo veo, 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.

El propio Tim Sweeney -CEO de Epic Games-, explica que es la falta de acabado o pulitura lo que causa que muchos juegos fracasen

El área donde la mayoría de los equipos fallan es insuficiencia de acabado. Cliff [Bleszinksi] siempre dice que existe el primer 90 porciento del proyecto, y luego el segundo 90 porciento. Porque una vez que tu juego es completamente jugable y funciona, estás realmente a la mitad. Toma una increíble porción de ajuste para llegar al nivel de acabado donde la gente toma tu juego seriamente.

Al final, poco tiempo para probar y pulir (o ajustar) es mucho más costoso que simplemente cortar una esquina con una solución buena (quizás no la mejor), y que a efectos del jugador es transparente.

Gordon MooreAlgunos aún toman como excusa que a los programadores de I.A. nos dan poco porcentaje de tiempo de cómputo para nuestros algoritmos; tomando mayor peso la gente de revelado (porque sí, los gráficos venden). Sin embargo, siendo abogado del diablo, tal excusa no es válida hoy en día. Porque como dice Kevin Dill, el interlocutor puede tener algo de cerebro y estar consciente de la Ley de Moore, y darse cuenta que hoy día ése porcentaje que tenemos (y que es ahora mayor) equivale a una unidad de procesamiento (CPU) completa de hace pocos años. Esto sin tomar en consideración cuando el cálculo de revelado se hace totalmente en GPU.

Al mismo tiempo, Kevin opina que la IA tradicional (en este caso la académica) está orientada a encontrar soluciones óptimas a problemas arbitrarios, mientras que los juegos tienen problemas bien específicos; profundiza en defensa de la inteligencia de los juegos como un campo en sí mismo y es incluso admirable la pasión con la que defiende su válido argumento.

Yo no estoy en contra, yo opino que hay puntos de encuentro. ¿Por que? Sí, hay problemas que varían de juego en juego, pero los programadores (o mejor dicho, los científicos) tenemos herramientas para abstraer, encontrar patrones y modelar problemas específicos en problemas más generales. Más aun cuando los propios juegos son matemáticas. Abstraer, generalizar y reutilizar son las razones básicas del que existan motores de juegos.

cryengine

El propio CryEngine publica como feature que su motor de revelado puede utilizarse con fines cinematográficos. En mi opinión, éso es genial y punto.

Sí, los juegos tienen problemas específicos (pero común dentro del universo de videojuegos) que pueden ser tratados como problemas generales y la oportunidad debería aprovecharse; es cuestión de saber hacerlo. Hay buenos ejemplos a seguir.

Hay una comunidad seria (y bastante exclusiva) llamada AI Game Programmer’s Guild. Aun cuando no todo el mundo tiene acceso, el sitio tiene una sección completa con publicaciones de sus miembros. Ahí pueden encontrar enlaces a papers, láminas e incluso videos. Yo lo considero como un punto excelente de partida si estás buscando tema de tesis (¿alguien dijo yo? ¡YO!).

Al mismo tiempo, tampoco tengo una posición en defensa 100% a la academia; yo soy el tipo de personas que les gusta que las cosas sirvan para algo más allá de un ejercicio académico en pro del saber. El conocimiento por el conocimiento es fino, mas no lo mío. Es por ello que me gusta el área y en una conversación que tuve con Kelwin, él lo expresa bastante bien

…en la IA clásica el balance entre investigacion general y aplicaciones tiende mas a investigación general. En la IA moderna (llámese machine learning, llámese juegos, llámese cualquiera de sus variantes) el balance es adecuado para avanzar a la par que es útil a la sociedad.

Un buen ejemplo es el trabajo de Keneth Stanley en el área de Neuroevolución. Primero trabajó en NEAT, y de ahí parte la idea de desarrollar NERO (no, no el programa de quemar discos). De Texas, se va Florida y sigue trabajando en el área para desarrollar GAR. Este párrafo tenía la intención de estar lleno de enlaces y para que disfruten leyendo, les dejé sólo los 3 más importantes.

Si se fijan, por debajo está el mismo principio; NEAT. Sin embargo, el pana supo aplicarlo a 2 juegos con mecánicas y objetivos distintos. En NERO puedes entrenar a tu batallón de robots, y en GAR el sistema aprende qué armas nuevas generar a partir del uso y selección de los jugadores a partir de las existentes. Yo siendo CEO de una empresa necesitando elementos de aprendizaje dentro de mi juego, voy ya y le escribo un correo preguntando cuánto cuesta la asesoría.

euphoria natural motion

Otro caso de estudio, y el que más me ha gustado hasta ahora, es Euphoria. Euphoria es un producto que comenzó como un proyecto de investigación en la Universidad de Oxford sobre aplicación del algoritmo genético a fin de que un agente aprendiera a caminar. El proyecto agarró tal tamaño, que llamaron a expertos en biología, física y más ingenieros de software y se formó Natural Motion. ¿Necesitas ahorrarte 2345676543 animaciones con un middleware de comportamiento humano real? ¡Te lo tengo! Y no sólo sirve para juegos, también para películas.

¿Qué tanto se está haciendo? Bastante, y más investigadores se suman a la fiesta. Por parte de la IEEE tenemos el CIG y por parte de AAAI tenemos AIIDE; ambas conferencias bastante reconocidas. ¿Alguien más dijo “busco tema de tesis” o “quiero presentar la mía”?. Ya en el plano más comercial, esta el AI Summit de la GDC; pero que igual vale la pena echarle un ojo porque ahí está metida la gente del AI Programmer’s Guild. Igualmente Alex Champandard, y su equipo de AIGameDev.com, tienen la Game/AI Conference que toma forma y fuerza cada año.

Particularmente pienso que se pueden hacer cosas interesantes en la academia, con alta repercusión en la industria; es cuestión de que más investigaciones en América Latina comiencen a surgir y la gente pierda ese miedo al área, o el paradigma de que los juegos tienen ningún aporte. Pero ¿es más cool hacer data mining en Amazon que en Blizzard o Valve? Realmente no. Quizás los juegos no sean la cura al cáncer, pero es un campo con oportunidades en una industria que actualmente supera económicamente a la del cine.

Los dejo con el video de lo que era Euphoria para el año 2003. Ya ustedes han visto los resultados. Saquen sus propias conclusiones y díganme entonces si hacer tesis, investigación y/o postgrado es aburrido; no lo creo. Por algo estoy en una maestría, para conocer lo que la academia tiene para ofrecer y aplicarlo en mis proyectos de industria.

Imagen de previsualización de YouTube

Montaje: Christian Chomiak.
Créditos imágenes: GLaDOS es propiedad de VALVe Software y la ilustración por Alexander Sarif. El otro robot (desconozco el nombre) es propiedad de Stanford University y el curso de Machine Learning.