La Inteligencia Artificial, La Cognición, y los Video Juegos

(Lo siguiente es la versión ensayo de la charla que ofrecí en el Primer Festival de Video Juegos en Puerto Rico, el 20 de julio de 2013.) 

A través de la historia de los juegos de video, el énfasis primordial, en un contexto evolutivo, ha sido el de mejorar las gráficas. Desde muy temprano se descubrió que el ojo domina en cuestiones de juzgar la calidad de los juegos. Si tomamos un juego de cada uno de los años, desde el 1980 hasta el 2013, uno puede apreciar la tendencia hacia juegos mas llamativos gráficamente.

Una selección de juegos, del 1980 hasta el 2013.

Claro, estos ejemplos son tomados del ámbito profesional, no de desarrolladores independientes. Esta tendencia de mejorar las gráficas ha sido posible por los avances tecnológicos de procesadores y tarjetas de video cada vez mas potentes. Cabe recalcar que los primeros juegos para las masas (juegos como Donkey Kong, PacMan, Mario Bros.), aún cuando sufrían limitaciones en cuestión de tecnología (4K de memoria era enorme para aquél entonces), dedicaban una gran parte de sus códigos para el despliegue de gráficas a la pantalla. Esta limitación y énfasis en gráficas obligaba a los programadores de aquél entonces a ponerse creativos al querer introducir otros elementos a los juegos. Piense, el juego Mario Bros., producido para el Nintendo Entertainment System (el cual corría un procesador MOS 6502 con no mas de 2K para la memoria), pero aún así, logró tener una gran variedad de enemigos (algunos de los cuales exhibían una inteligencia rudimentaria), y de niveles (o en buen castellano “tablas”), y también logró tener música. Esta creatividad al programar es la semilla de muchos algorítmos que hoy en día se conocen como “Generación de Contenido Programático” (o como se conoce en inglés “procedural content generation“), una técnica de la inteligencia artificial para introducir contenido a medida que corre el juego. Es decir, antes de prender el juego ese contenido no existe, y los códigos del juego crean el contenido (por ejemplo enemigos, niveles) dinámicamente.

El Fin de la Revolución Gráfica

Hay quienes que piensan que la revolución gráfica (por darle nombre a este movimiento) se acabará dentro de 10 años. A mi no me gusta hacer ese tipo de predicción, porque la tecnología es verdaderamente impredecible. Lo que sí me siento cómodo en decir es que en algún punto se acabará. L.A. Noire demostró lo que era posible para juegos de consolas. Varios juegos como Grand Theft Auto IV, y Skyrim (que fueron publicados en consolas como también para PC) han disfrutado de mejoras a la calidad de gráficas, impulsadas por comunidades de fanáticos de dichas franquicias. Pero llegará el día donde no se podrá mejorar más. Y entonces vuelvo a la pregunta que motivó esta presentación: ¿cuál es el próximo paso evolutivo?

El Inicio de la Revolución de la Inteligencia Artificial

Como ya saben, mi respuesta a la interrogante es: la inteligencia artificial. El problema es que tenemos que deshacernos del concepto que comúnmente se le atribuye a la inteligencia artificial en contextos interactivos. El problema no es uno de crear enemigos más difíciles para que el jugador sufra derrotas casi injustas; eso sería inteligencia artificial en el sentido mas grosero. Sino, el problema es el de la Ingeniería de la Experiencia – cómo asegurarte de que cada individuo pueda disfrutar de una experiencia interactiva, que cambie y evolucione con la jugadora, y que sea única cada vez que se siente a jugar.

Si son fanáticos de la ciencia ficción de los 80 y los 90, ya se habrán dado cuenta de que lo que estoy describiendo aparece prominentemente en la serie de televisión Star Trek: The Next Generation: la visión del Holodeck. Es muy posible que esta metáfora murió hace 10 años, tal que para aquellos que desconocen, el Holodeck era una computadora única, en la cuál uno podía programar un ambiente interactivo con representación fidedigna de la realidad, solo que era una simulación computarizada sofisticada. Como punto y aparte, mi área de investigación sueña con crear una computadora lo suficientemente avanzada como para crear el Holodeck.

Volviendo a la Ingeniería de la Experiencia – el problema de crear experiencias interactivas, únicas y cambiantes, cae en el dominio de la inteligencia artificial, lo cual provee la motivación para la revolución que se aproxima. Analicemos entonces las experiencias que la Inteligencia Artificial facilita:

El Efecto Catalizador de la Inteligencia Artificial para la Ingeniería de la Experiencia

He identificado cuatro áreas en las cuales pienso que la inteligencia artificial puede únicamente facilitar diferentes experiencias.  No quiero decir que estas son las únicas áreas, pero pienso que es un buen punto de  partida.  Para evitar que este escrito se convierta en una mini-tesis, proveeré enlaces para cada uno de los proyectos de ejemplo.

  1. Generación de Contenido Programático –  la programación de algorítmos que generan código para contenido dinámicamente.  Este contenido no existe antes de que comienze el juego como tal, sino que se genera a medida que la jugadora juega.  Ejemplos: PaSSAGE, Galactic Arms Race, Games by ANGELINA
  2. Análisis Conductual de Jugadores – el análisis de la conducta de los jugadores, que puede ser interpretada de diversas maneras. La data que se recopila puede ser utilizada para mejorar el juego, como también para generar contenido personalizado.  Ejemplos: Análisis Conductual de los Jugadores en League of Legends
  3. Modelaje de Situaciones Sociales Complejas – a medida que los juegos intentan simular aspectos de la vida real, se torna cada vez mas compleja la simulación.  Los algorítmos de la inteligencia artificial son capaces de lidiar con complejidad emergente, y han sido utilizados para crear juegos cada vez más sutiles.  Ejemplos: Façade, Prom Week, Versu
  4. Diseño Automatizado de las Mecánicas de los Juegos – el desarrollo de juegos de gran embergadura se torna cada vez mas difícil, dada la demanda para más contenido, y más interacción en los video juegos.  Esto crea una demanda para herramientas que puedan ayudar en el proceso de diseño, y que puedan razonar acerca de las reglas de los juegos, al igual que sobre el contenido que los jugadores enfrentarán.  Ejemplos: Ludocore, Tanagra

En conclusión, estamos empezando la revolución en la inteligencia artificial, demostrado por esta selección de experiencias únicas, las cuales no hubiesen sido posibles, sin avances en técnicas avanzadas.

La Cognición

Hay una comunidad, compuesta de desarrolladores e investigadores científicos de los video juegos, que piensan que el componente mas fundamental de un juego es su capacidad para proveer modos de interacción. En otras palabras, lo importante en un juego es lo que puedes hacer. La Dra. Janet Murray, catedrática de Georgia Tech y una eminencia en el estudio de juegos, proclamó que tu capacidad de intervención en un juego determina tu disfrute del mismo. Ella definió la capacidad de intervención como la potestad de poder actuar en un entorno interactivo y observar los efectos de las acciones; o sea, no basta con poder actuar, sino que también tu debes poder observar algún cambio en tu entorno, presumiblemente causado por ti.

Junto a varios colegas, retamos este punto de vista. Diseñamos un experimento en el cuál varias personas jugaron un juego de texto, similar al juego del antaño Zork. Los partícipes del experimento jugaron una de dos versiones del juego; en la primera, se les presentaba opciones para jugar como es de esperar de un juego de texto, y en la otra versión, se presentaban las mismas opciones, pero con una modificación simple: aún cuando presentaba las mismas opciones, eran falsas – no conducían a nada diferente. Como es de esperar, las personas en la versión modificada reportaron sentirse limitadas a través del juego.

Entonces, tomamos la versión modificada e introducimos otro cambio. En esta segunda ronda de experimentos, las dos versiones del juego producían la misma respuesta – es decir, todas las opciones para jugar resultaban en lo mismo. Lo único diferente es que ahora, en una de las versiones, el juego reconocía la acción, presentando un mensaje personalizado.Mi argumento es que la percepción y la cognición son clave para el desarrollo de experiencias interactivas.

Por ejemplo: tu empezabas el juego, y tenías la opción de escoger entre la espada o el arco y flecha, antes de continuar. Si decidías escoger la espada, lo único diferente en esta versión es que el juego te demostraba un mensaje como el siguiente: “Haz tomado la espada por el mango, y decides salir de tu casa.”

Aún cuando este cambio es relativamente insignificante, los partícipes del experimento reportaron sentirse significativamente más en control de la experiencia interactiva, de lo cual concluimos que no hace falta crear un juego complejo para presentar opciones de juego satisfactorias. Basta con crear la ilusión de control para que los jugadores estén conformes.

Mi Tesis:  Modelaje Cognitivo del Razonamiento Narrativo

Mi tesis intenta realizar el modelaje cognitivo a través de la inteligencia artificial. Me interesa modelar cómo es que uno interpreta los cuentos interactivos, a medida que uno los vive. En particular, yo me enfoco en la memoria como base cognitiva de diversos fenómenos narratológicos. En esencia, mi argumento es que la memoria es fundamental porque afecta tu capacidad de hacer inferencias, y da paso a sensaciones de suspenso, sorpresa, y hasta terror. Considera la escena donde el antagonista de la película Skyfall intenta tomarle la vida a la dirigente del MI6.

Cuando uno ve esa escena, la memoria de los eventos (el hecho de que el antagonista se encuentra de camino a “M” en todo momento que ella habla) y la capacidad de inferencias (el hecho de que uno sabe las intenciones del antagonista y puede extrapolar sus acciones) lleva a uno sentirse ansioso.

Comprensión Narrativa en los Video Juegos

Mi tesis no es en el contexto de las narrativas cinematográficas, sino que es en el contexto de los juegos. El contexto interactivo ofusca los fenómenos narratológicos, ya que los juegos llevan consigo ciertas expectativas (como parte del medio en el cual se realizan) que afectan los procesos de inferencia. Aún pienso que la memoria tiene que ver algo, pero es menos claro cómo. Mi tesis se dedicará a investigar la naturaleza de la interacción entre la cognición y los juegos.

En Resumen,

estamos en medio de una revolución de la inteligencia artificial (IA) en los juegos de video. Mi argumento es que la cognición esta al centro de la experiencia de juego. Mi tema de tesis intenta modelar la cognición con estructuras de datos tomadas de la IA.  La revolución artificial ha comenzado.  Espero que seas parte de ella.

* Si te interesa, puedes ver las transparencias que utilizé en mi charla.

The Role of Perception in Games

(This is a cross-post from my entry in the Liquid Narrative blog at NC State University)

This upcoming November, my colleague, Stephen Ware, will present a paper at the 2012 International Conference for Interactive Digital Storytelling.  This paper, on which several colleagues and myself worked, is titled “Achieving the Illusion of Agency,” which argues that complex drama management systems (see Roberts et al. for a great survey) are not necessary for dynamically creating appealing interactive narrative experiences.  As long as we can create an illusion of agency (using cheap tricks), it is enough.

I expected that this paper would ruffle some feathers – which is always a plus when you are engaging a community of worthy scholars.  The paper was accepted, for which I am happy.  However, the paper has (at least for me) a hidden agenda that was not picked up on by the reviewers of the paper.  I do not fault them, since the point is implicit, but here I will make it clear:

To find the future of game experiences, we have but one place to look: inward.

On the Value of ‘False’ Choices

One of the reviewers of the paper had this to say:

“It is difficult to address subjective aesthetic experiences such as ‘agency’ within a narrative in user testing,  so it is useful to have this well-designed study.

[…] but they reach very different conclusions than I would, ultimately arguing for the value of false choices.”

It’s an interesting point, which raises a philosophical question: what is a false choice?  That which is truthfully false? or that which is apparently false?

I argue the latter.  Since an interactive narrative is a controlled user experience, the player is not aware of false choices, because she never is told about the manner of the choices.  Given the existence of cognitive economy, the player assumes that what is being stated or presented is true, following Gricean pragmatics about quality of the “conversation” between her and the game.

To follow up, if it is not apparently false, does it matter?

Not to me.  Even if the choice is truly false, it is apparently true unless told otherwise, which is all that matters for her.

And so, to find the future of game experiences, we have but one place to look:  inward.  Perception, a sort of middleware for general cognition, is of utmost importance when creating games.  Ergo, to create experiences beyond what are currently imaginable in games, we need to tackle perception head on.

The Cognitive Modules of Video Game Agents

(This is a cross-post from my entry in the Liquid Narrative blog at NC State University)

I am currently enrolled in the graduate-level class “Introduction to Cognitive Science” (by the way, it’s incredibly interesting).  We recently came across a particular hypothesis that I feel could be applicable to the design and implementation of agents:  the mind modularity hypothesis.  My conjecture is that a modular approach to game agents will make their development easier and will allow for flexible character behaviors.  I will outline my reasons for this in the subsequent discussion.

The mind modularity hypothesis was first espoused by Jerry Fodor in his seminal book:   The Modularity of the Mind.  In this book, Fodor argues that the mind is made up of semi-autonomous cognitive modules.  In fairness, Fodor wasn’t the first to come up with this idea.  The idea can be traced back to Franz Joseph Gall, a phrenologist known for trying to pin specific mental functions down to particular regions of the brain.  While you might not immediately remember Gall’s work, you might recall a picture of what he was advocating for:

Gall thought you could pin down mental functions to specific regions of the brain.

A definition of phrenology with chart from Webster’s Academic Dictionary, circa 1895 (Image courtesy Wikipedia)

While Fodor did not agree with Gall’s view that cognitive faculties could be read off the shape of the skull, he did agree with Gall’s characterization of cognitive modules as independent information processing mechanisms.  Fodor also considered these modules as informationally encapsulated, that is, restricted to certain types of information provided by outside stimuli.  Fodor discussed certain candidate mechanisms in human cognition that could be partitioned into specific modules (this list is not exhaustive):

 

 

 

  1. Color perception
  2. Shape analysis
  3. Grammatical analysis of perceived utterances
  4. Face recognition

Fodor thought that these modules could be hierarchically organized.  For example, the information processed by the color perception module and the shape analysis module could serve as input for the face recognition module.  Fodor also thought that there must exist a central control unit, which coordinated the information processed by all the modules harmoniously.

My main point is this:  creating a set of artificial intelligence modules for video game agents could make their development easier and could allow for flexible character behaviors at game run-time.  Cool idea, huh?

Well, someone already thought of it.  Stavros Vassos’ approach is through the field of cognitive robotics, in which robots are programmed with similar reasoning modules that allow for higher reasoning.   Vassos gives a list of reasons of why this is a good idea, and proposes two cognitive modules:

  1. A path-finding module (good ol’ A* search)
    Agents in a video game typically need to move, so A* is the weapon of choice.  Arguably the bread-and-butter of the games A.I. world, A* search enjoys widespread use.
  2. A temporal projection module
    This module would “keep track of the current state of the world and predict how it changes when actions take place”.    Vassos comments that the only well known reasoning module ever used in a commercial game is a simplified version of a STRIPS planner used in the game F.E.A.R. (2005).

At the end of his talk, Vassos points out that A.I. researchers and developers would find feedback from the video games industry useful for developing such modules.  Since I haven’t found anything beyond this link (admittedly, my search was not very deep), I propose two more modules that I think would be useful:

  1. Ranked selection module
    This module is inspired by a blog post on #AltDevBlogADay, written by Luke Hutchinson, who was an engine programmer at the (now defunct) Team Bondi.  Hutchinson summarizes a situation which is a recurring problem in games:  “Given n items, find the “best” k of them”.  Let’s say you are playing your favorite RTS game.  The enemy needs to prioritize which one of your units it needs to attack.  Given, your n units, it must select k units to directly target.  I’m sure you can think of additional situations where this is useful.  Hutchinson has so graciously provided pseudocode for implementation of an algorithm to do precisely this type of rationalization.
  2. Computer error module
    This second module is inspired by Lars Lidén’s paper:  “Artificial Stupidity:  The Art of Intentional Mistakes”.  This module would be responsible for inserting errors into the calculations of the agent so as to make the agent think “humanly”.  The frequency of errors that will be introduced will probably fluctuate in proportion to the level of intelligence that the game developer wishes to gift the A.I. agents.

I’m sure that there are many more modules that could potentially make this list and maybe even modules that don’t belong, so I will probably come back (in spirit) to the list to add and remove modules accordingly.  With all these modules available for use, a game developer could mix-and-match to create a diverse populace of the game world, with distinct cognitive faculties.  Moreover, it would (theoretically) be a matter of generalizing the particular module, such that it is potentially available for all agents in the game and then limiting access to the cognitive modules according to your heart’s content.