Exclusiva: La Inteligencia Artificial en Guild Wars 2 Heart of Thorns

Exclusiva: La Inteligencia Artificial en Guild Wars 2 Heart of Thorns

La Expansión de Guild Wars 2 se acerca, y poco a poco vamos conociendo más secretos de su desarrollo. En ésta noticia, nos encargaremos de profundizar en la Inteligencia Artificial del juego, que mejorará de forma exponencial. El especialista en IA para videojuegos Dave Mark, junto con el responsable de la programación de Jugabilidad en Arenanet Mike Lewis, explican varios detalles interesantes.

En una noticia en marzo comentabamos la celebración de una conferencia de Arenanet en la Game Developers Conference, donde explicaban las mejoras que se van a presentar en Guild Wars 2: Heart of Thorns para la expansión, referentes a éste tema de la inteligencia artificial. El resumen sobre la conferencia era el siguiente:

"Los Juegos Online Masivos actuales, tienen cientos de tipos de agentes en su mundo de juego, cada uno con potencialmente docenas de acciones que pueden tomar. Hacer a mano la Inteligencia Artificial puede ser un proceso que consume tiempo plagado de fracturas, y resultados impredecibles. A menudo, la única manera de conseguir la amplitud en los personajes, es sacrificar la profundidad de comportamiento que pueden tomar.

Esta sesión te mostrará una nueva arquitectura que combina un sistema modular, basado en utilidades y una poderosa influencia del motor de mapa. Con ello, los agentes no solo son más inteligentes que las iteraciones previas, sino que usan significativamente menos tiempo de proceso. Esto nos permite no solo poner criaturas más inteligentes en el mundo, sino más cantidad tambien. También mostraremos las herramientas que permiten a los diseñadores crear unicos, comportamientos expresivos para cientos de tipos de personajes en una fracción de tiempo del que antes se tomaban, a menudo creando nuevos, y unicos paquetes de comportamientos ¡En minutos en vez de en horas!

Los asistentes aprenderán como se ha creado ésta arquitectura sobre Guild Wars 2 en Arenanet, y saldrán con ideas de como preparar su propio sistema para que permita robustos, dinámicos y variados comportamientos, pero siga ofreciendo rápida, y flexible iteración."

Para aclararte las novedades y ventajas que estos cambios representan, te resaltamos los siguientes datos importantes hechos públicos en la presentación:

 

Construyendo un Centauro Mejor: Inteligencia Artificial a escala Masiva

Datos iniciales:

- Dave Mark, lleva más de 11 meses trabajando conjuntamente con Arenanet para desarrollar ésta nueva tecnología.

- Se ha desarrollado pensando en que es un juego masivo online, pero podría aplicarse a mas tipos de juegos.

- Se puede adaptar a motores gráficos distintos, de forma relativamente sencilla.

- Esta diseñado para potenciar a la expansión Guild Wars 2: Heart of Thorns, aunque también se incluirá en otras partes del juego original.

- Algunos de los nuevos comportamientos que se han añadido, ya se pueden ver en la versión beta de la expansión.

- Esta tecnología tambien se puede usar en proyectos futuros de Arenanet.

 

Objetivos al desarrollar la nueva IA:

- Un mejor uso del comportamiento de la IA, por ejemplo en el uso de las habilidades de los personajes, que los haga más inteligentes.

- Un mejor movimiento de los personajes, incluyendo el movimiento táctico.

- Proporcionar a los personajes, un mejor conocimiento de su entorno.

- Añadir una mayor variedad de tipos de comportamiento.

- Mitigar los fallos de la Antigua IA.

- Mejorar el rendimiento en todo el juego, reduciendo el proceso en memoria.

- Mas opciones a la hora de diseñar personajes y su comportamiento.

- Comportamientos más autónomos para los personajes, y menos frágiles.

- Menor tiempo para desarrollar contenido.

 

Entorno necesario para ésta IA:

- Arquitectura de juego orientada a datos.

- Arenanet dispone de una herramienta llamada Duo, que le permite cambiar entre líneas de código y líneas de contenido.

- El Contenido son datos XML externos, editables por los diseñadores del juego. Permite configurar el código, darle parámetros y también facilita la recombinación de grupos de elementos de código. Mientras se está ejecutando el juego, no se puede cambiar.

- El Código implementa los bloques sobre los que basa el contenido. Escoge el contenido para saber que hacer, y como hacerlo. Es dinámico y puede actualizarse aunque el juego esté ejecutándose. También mantiene el estado de los datos que se cambien.

 

Componentes de la Arquitectura de la IA:

1.- Infinite Axis Utility System: Que proporciona decisiones a los personajes del juego.

2.- Modular Influence Maps: Que les facilita información sobre el mundo del juego.

3.- Content Tagging: Que da a los personajes información contextual sobre los que están en el mundo o el mundo en general.

4.- IK Headlook: Que da mejor "presencia" en el mundo para los personajes.

 

1.-Infinite Axis Utility System (Sistema de Utilidad de Eje Infinito):

- Incluye por defecto el control de valores como la salud o la velocidad de los personajes.

- Puede controlar la distancia a la que atacan los personajes.

- Puede controlar el número de enemigos a los que se puede enfrentar.

- Tiene en cuenta cada acción de los personajes, por ejemplo Pasearse.

- Las acciones contra sus objetivos, son anotadas para cada uno de ellos. Se añaden también los posibles objetivos a los que puede atacar.

- Finalmente crea una lista de posibles acciones, que puede hacer cada tipo de personaje.

 

2.-Modular Influence Maps (Mapas de Influencia Modular):

- Representación del mundo de juego, en términos de lo que afecta a los personajes.

- Permite añadir información de influencia, desde diferentes lugares pero solo se procesa una vez para todos los personajes que la usen.

- Eso elimina problemas de datos que tienden a ser infinitos, o redundantes.

- Puede controlar datos sobre un lugar específico, o como encontrarlo.

 

Movimientos> IA antigua vs IA nueva:

IA antigua: Originalmente Guild Wars 2 usa un sistema de rejilla estandar para el movimiento de los personajes, que cubre todo el mapa de juego, con rejillas de 100 pulgadas. Necesita un mapa de rejillas para cada tipo de facción, principalmente enemigos y aliados. Se tienen que usar de forma simultanea. Las grandes limitaciónes de éste sistema de rejilla, es que no soporta un sistema de aggro contextual, el que los personajes reaccionen según cambia el mundo del juego o lo que les rodea. Además este sistema pierde eficacia, cuando el movimiento del juego es en 3D.

IA nueva (infinite resolution system): Controla la influencia en varios puntos repartidos en un espacio en 3D. Almacena los datos una vez por segundo, en un arbol de estructura que permíte acelerar la búsqueda de esos datos. Estas técnicas permiten usar menos memoria, para mapas más grandes. Tambien permite relaciones complejas entre las diferentes influencias del personaje. Como inconvenientes, las consultas de datos cuesta mas hacerlas, y es mas dificil leer el código.

Para solucionar esos fallos en la nueva IA se añade un nuevo sistema de rejilla con Construcción Modular, que permite multiples capas. Aliados vs Enemigos o Daño físico vs Amenazas por ejemplo. Incluye tambien una plantilla de interes del personaje, que prioriza los datos que más interesan. Esta plantilla permite ocultar los datos que no interesan y mejorar el rendimiento. Por ultimo, para mejorar la legibilidad del código, se mantiene parte del código de rejilla anterior.

 

3.-Content Tags (Etiquetas de contenido):

Se pueden etiquetar diferentes cosas en el entorno de juego, como personajes, objetos, lugares. Estas etiquetas se pueden usar desde varios lugares en la Inteligencia Artificial. Las etiquetas se añaden a una estructura de datos tipo pizarra, en la que puede leer o escribir cualquier cosa en el mapa. Aprovechando estas etiquetas, quien las lea puede filtrar contenido y acelerar la búsqueda de datos.

Un ejemplo de aplicación, podría ser un personaje que quiera saber que puntos de interés tiene cerca, o un soldado que quiera saber que puntos de patrulla debe seguir. Estos personajes podrán hacer lo mismo que hacen ahora, pero tendrán la información más rapido, y además podrán hacer cosas nuevas en el mismo tiempo que antes solo se ocupaban de una.

Tambien permite comportamientos más avanzados, que hasta ahora no eran posibles. Por ejemplo permite que un personaje no use tormentas de fuego, que no serán tan eficaces contra enemigos de fuego. O que un soldado haga la animación de saludar, solo a sus jefes.

Además de lo anterior, permite mejorar comportamientos. Como por ejemplo que un personaje use más a menudo tormenta de hielo sobre personajes de fuego. Como consecuencia de que el personaje tiene más información, puede responder de forma más eficiente a la hora de atacar, posicionandose mejor respecto a su enemigo, o si hay varios enemigos, enfrentarse al que puede que sea más facil vencer.

 

4.-IK Headlook (Cinemática Inversa para prestar atención):

- Esta técnica sirve para que los personajes se vean más vivos, haciendo que en sus animaciones presten atención y reaccionen ante lo que les rodea.

- Solo existe en personajes con articulaciones y esqueleto para hacerlas.

- Se puede aprovechar desde un personaje y usarlo en varios a la vez.

- Tambien se puede agrupar en comportamientos, para diferentes animaciones según miran a un enemigo o a un aliado por ejemplo.

Un ejemplo de estos nuevos sistemas, es que un personaje mira con su cara a diferentes enemigos en un combate, mientras decide a quien atacar, y posiciona su cuerpo frente al que ataca.

 

Construyendo la Inteligencia Artificial de las Criaturas

- Dispone de un grupo de habilidades.

- Dispone de un tomador de decisiones.

- Dispone de una definición de Inteligencia

- Dispone de una inteligencia asignada definida para cada raza o especie.

 

Para facilitar la creación de criaturas, se agrupa la IA en bloques de contenido, que contienen:

- Todo el conjunto de Evaluadores de Decisión

- Estan diseñados para funcionar juntos sin problemas.

- Hay cientos de ellos pre-creados para usarlos en cualquier criatura.

- Hay variantes del mismo tipo. Por ejemplo alejarse de las amenazas enemigas al estilo básico, al estilo atrevido, o conservador.

- Algunas variantes pueden ser especializadas. Como personajes que se acerquen a atacar, o que solo ataquen desde los lados.

- Si se añade un bloque de comportamiento nuevo, estará disponible para todos los personajes del juego.

- Con éste nuevo sistema, se puede preparar la Inteligencia Artificial unica de una Criatura nueva, en 7 minutos.

- Los personajes se mantienen a una distancia apropiada frente a sus enemigos, según el arma que usen.

- Los personajes tambien mantienen esa distancia apropiada, tratando de no pegarse demasiado a sus aliados.

 

Responsables del desarrollo de ésta nueva tecnología de IA:

- Dave Mark, especialista en Inteligencia Artificial para Videojuegos.

- Mike Lewis, responsable de programación de Jugabilidad.

- Stephen Clarke-Willson, director técnico.

- Kristen Bornemann, directora de desarrollo.

- Colin Johanson, director creativo.

- Mike O`Brien, Co-fundador de Arenanet.

- Darren Mason, Tecnico de Pathfinding.

- Dylan White, responsable de los prototipos de la tecnología de eventos.

- Sam Beirne, responsable de los prototipos del diseño de eventos.

- Andrew McLeod, Lider de diseño de Criaturas.

- Kevin Stocker, diseñador de criaturas.

- Crystal Reid, diseñadora de criaturas y contenido.

- Anthony Ordon, diseñador de contenido y sistemas.

 

----

Puedes ver información ampliada de la presentación original en inglés, en éste enlace

No hay comentarios

Articulos Relacionados