domingo, 26 de enero de 2014

Sos humano o maquina?

Dotar a un personaje de comportamiento y de respuesta ante un jugador es uno de los mayores retos en el desarrollo de un videojuego y una de las áreas más vanguardistas de la ingeniería. ¡Se trata de la Inteligencia Artificial!
Inteligencia Artificial… ¿Existe tal cosa de verdad? ¿Cómo consiguen los desarrolladores de videojuegos desafiar nuestro intelecto ¿Piensan los personajes de los videojuegos o todo es una ilusión orquestada por el programador? Acompáñanos para descubrir los fundamentos de la Inteligencia Artificial en los juegos.

En las últimas entregas de El Taller de MICROMANIA hemos abordado, de la mano de U-tad, –el Centro Universitario de Tecnología y Arte Digital– un conjunto de temas que constituyen nuevas vías de investigación y desarrollo en el mundo de los videojuegos. En esta ocasión nos acercamos al apasionante mundo de la Inteligencia Artificial aplicada al desarrollo de personajes de videojuegos. Un área que cada año gana mayor relevancia en la experiencia de juego y que está directamente relacionada con aspectos como las reglas de funcionamiento, la mecánica, el guión y la verosimilitud de los personajes y en definitiva, con la calidad global del programa. Pero, ¿cómo se aplica la Inteligencia Artificial en el desarrollo de los personajes de un videojuego? ¿Puede un ordenador jugar como un ser humano?

Dishonored es uno de los mejores ejemplos de Inteligencia Artificial aplicada a personajes. La reacciones lógicas de los enemigos y la agudeza de sus sentidos vienen precisamente de ahí.

Los comportamientos a los que enfrentas en Max Payne 3 son los de capos muy “humanos”. Se agazapan, te esperan, se coordinan… Pero también se ponen nerviosos y se asustan.

Comportamiento de los Personajes No Jugadores

Los bots o PNJ (NPC Non-Player Characters) son personajes de videojuego completamente controlados por programas de ordenador. En la programación de estos personajes el gran reto no es que jueguen mejor que los humanos, sino que su comportamiento se parezca lo máximo posible al comportamiento típico de un humano –incluyendo sus fallos y debilidades–, de forma que la experiencia de juego sea más atractiva para los usuarios.

La Inteligencia Artificial de Mass Effect 3 destaca, sobre todo, en las respuestas de los miembros de tu escuadra, que acatan tus órdenes y te cubren o te siguen dentro de lo posible y “razonable”.
Los bots con comportamientos más realistas son muy interesantes para la industria del videojuego, ya que preferimos jugar contra oponentes con personalidad, cuyas reacciones nos sorprendan y que también cometan errores de vez en cuando.

Ya desde las demostraciones de ArmA III en E3 2013 , Bohemia Interactive dejaba claro que la Inteligencia Artificial sigue siendo una de las claves en la famosa saga de acción táctica y simulación bélica.
Desde Battlefield 3, DICE ya no emplea los bots tanto como sus predecesores, pero el comportamiento de los personajes aún es crucial en la campaña individual.
Alan Turing fue uno de los mayores genios matemáticos del Siglo XX y un pionero en la ciencia de la computación.
El Test de Turing

El desarrollo de estas herramientas en el diseño de personajes se basa en el gran reto de la Inteligencia Artificial: el Test de Turing. Este test es una prueba propuesta por Alan Turing para demostrar la existencia de inteligencia en una máquina y fue expuesto en 1950 en un artículo titulado “Computing Machinery and Intelligence” publicado en la revista Mind. El test de Turing se fundamenta en la hipótesis positivista de que si una máquina se comporta en todos los aspectos como inteligente, entonces debe ser inteligente. Basándose en esta prueba, todos los años se celebra el Premio Loebner (EE.UU.) en busca de encontrar una Inteligencia Artificial (máquina) que supere el Test de Turing. El concurso consiste en que un juez humano se enfrente a dos pantallas de ordenador, una de ellas que se encuentra bajo el control de un ordenador y la otra bajo el control de un humano. El juez plantea preguntas a las dos pantallas y recibe respuestas. En base a las respuestas, el juez debe decidir qué pantalla es la controlada por el ser humano y cuál es la controlada por el programa de ordenador. ¿Serías capaz de descubrirlo?

Esta teoría podemos encontrarla en otras disciplinas de investigación actuales vinculadas a la interacción hombre-máquina como pueden ser los “captchas”, algunas herramientas de comercio electrónico, de control del tráfico aéreo o de minería de datos. Los “captchas” (esas imágenes con letras difíciles de leer que nos piden las páginas web para registrarnos) son en realidad ejemplos de Test de Turing inverso, donde se intercambian los papeles: la máquina (la página web) actúa de juez e intenta descubrir si el usuario es un humano o no, para así evitar registros automáticos de bots que luego generan spam.

Los personajes de Bioshock Infinite recrean diferentes inteligencias para reproducir distintas personalidades, introduciendo factores de locura, desesperación y urgencia.
 
Borderlands 2 es en la actualidad uno de los juegos con mejor Inteligencia Artificial. De otro modo, la campaña cooperativa frente a bots no sería tan formidable.

Inteligencia Artificial y humanización

En el caso de los videojuegos el test se realiza dentro del propio juego y el juez tiene que discernir si los personajes que aparecen en pantalla son otros jugadores humanos o bots. A diferencia del Test de Turing original, en el que el juez se basa en la conversación que mantiene por medio de un sistema de chat para tomar su decisión, en un videojuego el juicio sobre la “humanidad” de un personaje se basa en otros aspectos. Por ejemplo, los jueces humanos suelen fijarse en la destreza de los jugadores, el tipo de errores que cometen (o los que no cometen), los movimientos que realizan por las diferentes zonas de un escenario, etc.

“Para crear una Inteligencia Artificial se emplean
variables tan humanas como los estados de ánimo”
 
Para lograr resultados realistas en el comportamiento autónomo de los NPC, los ingenieros usan diversas técnicas de Inteligencia Artificial. Por ejemplo, se usan programas para reflejar los diferentes estados de ánimo por los que puede pasar un personaje, árboles de decisión para intentar que la toma de decisiones del personaje se parezca a la de un humano en la misma situación o algoritmos de cálculo de caminos óptimos en grafos para dirigir el movimiento del personaje por un entorno.

Los juegos de acción multijugador como Call of Duty Ghosts hacen posible el entrenamiento contra bots con una Inteligencia Artificial cada vez más difícil de diferenciar de la humana.
La IA era uno de los aspectos más flojos del anterior, pero en Crysis 3 la cosa, aún lejos de ser perfecta, ha mejorado bastante. La influencia de la Inteligencia Artificial en un juego suele ser muy determinante.

Demanda profesional para IA

Algunos de los videojuegos que mejores resultados han tenido a este respecto en los últimos años son Hitman Absolution, Far Cry 3, Mass Effect 3, Dishonored, Total War Rome II, o FIFA 14. Uno de los retos que se plantea el sector de los videojuegos en la actualidad consiste en conseguir profesionales cualificados en el ámbito de la Inteligencia Artificial. En este sentido, Grados como el que ofrece U-tad en Ingeniería en desarrollo de contenidos digitales, que permite la especialización en este campo, provee a la industria de los videojuegos de especialistas en Inteligencia Artificial aplicable a múltiples campos.


En un futuro próximo los desarrollos de I+D+i en esta área permitirán que tengamos agentes artificiales cada vez más inteligentes en los nuevos productos de la economía digital: personajes virtuales de atención al cliente en la web, presentadores virtuales de noticias o tutores virtuales en aplicaciones de gamificación, entre otros.

“El gran reto es que el comportamiento de un
personaje no jugador pareza lo más humano posible,
incluyendo sus fallos y debilidades”

A continuación, podemos ver algunos ejemplos de la aplicación de la Inteligencia Artificial en conocidos títulos de la industria de los videojuegos. Llevar a cabo proyectos de tal envergadura requiere dotar a los personajes de un comportamiento verosímil. En algunos casos, tal comportamiento está basado en un script, un guión que define una respuesta específica ante una serie de condicionantes. Pero otras veces es necesario introducir entidades con una compleja diversidad de parámetros de inteligencia y percepción, como la capacidad de aprendizaje o la de realizar una evaluación táctica. Factores como el temor, el estado de alerta, el estrés o la moral y cualquier otro rasgo de inteligencia orgánica también pueden ser contemplados a la hora de definir el comportamiento de un personaje no jugable.

AGENTES Y MULTITUDES EN HITMAN ABSOLUTION

La última entrega de la franquicia Hitman, desarrollada por IO Interactive, cuenta con una de las mejores implementaciones de personajes no jugadores. Con el fin de dotar de Inteligencia Artificial de los personajes, han usado una nueva tecnología de aprendizaje por refuerzo para el control de la animación y un razonamiento basado en una matriz. El sistema está inspirado en la tecnología de Killzone.

Asumiendo el papel del Agente 47, debemos tener cuidado de no levantar las sospechas de los muy “humanos” esbirros y centinelas.
Además, Hitman Absolution cuenta con un realismo espectacular en la recreación de comportamientos de masas. Para ello usa una tecnología de simulación de multitudes que permite integrar a estos personajes en el juego, creando obstáculos, obstruyendo la visión y respondiendo al ataque con armas de fuego de forma realista.
  • Más información sobre el diseño del comportamiento en los personajes de Hitman Absolution en la web oficial del juego.

ASTUCIA Y DEMENCIA EN FAR CRY 3
El videojuego que desarrolló Ubisoft Montreal en 2012 no levantó, de entrada, demasiadas expectativas. Pero este Far Cry 3 pronto demostró ser un juego único y más cercano al primer título de la saga. De hecho, se ha convertido en un éxito en todas las plataformas para las que ha sido comercializado.

La locura y la capacidad de engañar son atributos de los personajes de Far Cry 3, que van más allá de las cinemáticas. Su comportamiento difiere según la situación y reacciona a nuestras decisiones.
Ubisoft tenía en su agenda reaccionar a las críticas sobre la IA de los personajes de Far Cry 2. En la tercera entrega de la saga los enemigos pueden aparecer desde cualquier lugar, reaccionar a nuestros envites de una manera más lógica y, en definitiva, afrontar los ataques con una inusitada soltura. ¡No apto para despistados! Pero además de ser más astutos, también son más humanos. Los verás envalentonarse, retroceder si están en desventaja, cubrirse o caer presas del pánico.
  • Más información sobre el desarrollo de los personajes de Far Cry 3 en este enlace de aquí.
2K BOTPRIZE, DUELOS DE INTELIGENCIA ARTIFICIAL

El prestigioso concurso 2K BotPrize plantea el siguiente reto: diseñar un programa (bot) que pueda jugar convincentemente como lo haría una persona real. Para ello, humanos y programas se enfrentan en varias tandas de batallas campales, o DeathMatches, en el videojuego de acción Unreal Tournament 2004. Durante las partidas y en tiempo real, cada jugador juzga, si se está enfrentando con un humano o a la IA de un bot. Si el diseño de la IA es lo bastante buena, incluso los más expertos tendrán dificultades para diferenciar a los bots de los personajes controlados por jugadores.


Para ganar el primer premio, un programa ha de ser capaz de alcanzar o superar el 50% de “humanidad”. Raúl Arrabales que formaba parte del equipo bajo el nombre de Conscious Robots y es responsable del Área de Ingeniería de U-tad, ganó el concurso 2K BotPrize en 2010. Arrabales y su compañero Jorge Muñoz, consiguieron el premio por la programación del bot que obtuvo el mejor resultado: un 31,8% de humanidad.
  • Más información sobre el equipo Conscious Robots de bots en este enlace

El Experto: Raúl Arrabales Moreno


Raúl Arrabales MorenoPara la elaboración de este Taller, Raúl Arrabales nos ayudó a definir en qué consisten los bots o PNJ y su importancia en el desarrollo de videojuegos y la mejora de la experiencia de juego.
  1. Raúl Arrabales Moreno es Responsable del Área de Ingeniería de U-tad. Además es profesor en el Grado en Ingeniería en desarrollo de contenidos digitales y en los programas de Experto en Big data y Cloud computing del Centro Universitario pionero en titulaciones para la economía digital.
  2. Es Ingeniero en Informática, Doctor en Inteligencia Artificial y MBA . Ha publicado más de 40 trabajos internacionales sobre Conciencia Artificial y Robótica Cognitiva.
  3. Colabora en diversos proyectos de investigación relacionados con la Inteligencia Artficial. En este ámbito, Arrabales ha destacado como ganador de la competición de la competición 2K BotPrize en el año 2010.

Fuente: http://www.micromania.es