21
Applied Intelligence & Data Analysis http://aida.ii.uam.es Universidad Autónoma de Madrid Applied Intelligence & Data Analysis http://aida.ii.uam.es Universidad Autónoma de Madrid Desarrollo de una plataforma basada en Unity3D para la aplicación de IA en videojuegos Óscar Manuel Losada Suárez Víctor Rodríguez Fernández Cristian Ramírez Atencia David Camacho Fernández 1

CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Embed Size (px)

Citation preview

Page 1: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Applied Intelligence & Data Analysishttp://aida.ii.uam.es

Universidad Autónoma de Madrid

Applied Intelligence & Data Analysishttp://aida.ii.uam.es

Universidad Autónoma de Madrid

Desarrollo de una plataforma basada en Unity3D para la aplicación de IA en videojuegos

Óscar Manuel Losada Suárez

Víctor Rodríguez Fernández

Cristian Ramírez Atencia

David Camacho Fernández

1

Page 2: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Índice

1. Introducción

2. Desarrollo de la plataforma

Juego

Generador de mapas

3. Experimentación

IAs de test

Resultados de los primeros experimentos

4. Conclusiones y trabajo futuro

2

Page 3: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Introducción

3

❖ Investigación de la Inteligencia Artificial en los videojuegos

➢ Creación procedimental de contenido

➢ Test de Turing (Human bots)

➢ Jugadores inteligentes (Foco de este trabajo)

Page 4: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Introducción

4

❖ Plataformas de Inteligencia Artificial basadas en videojuegos

➢ Integración y prueba de algoritmos de IA

■ Máquinas de estado, Árboles de comportamiento, algoritmos genéticos...

➢ Competiciones de agentes inteligentes en congresos internacionales

■ IEEE CIG, CEC

➢ Basadas en juegos clásicos

■ Ms. PacMan, Mario AI, Supertux, Starcraft

Page 5: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Introducción

5

❖ Objetivo: Desarrollar una nueva plataforma de aplicación de IA

➢ Entorno 3D basado en Unity3D

➢ Juego novedoso y estratégico, llamado Paintbol, con nuevas posibilidades para la investigación de IA

■ Múltiples agentes

■ Análisis de terreno

■ Cooperación entre agentes independientes

■ Formación de jerarquías

Page 6: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Introducción

6

❖ Comparación de la plataforma Paintbol con el estado del arte

➢ Criterios de clasificación basados en el tipo de problema que se plantea a los agentes inteligentes

■ Conocido/Desconocido, Accesible/Inaccesible, Determinista/No Determinista, Dinámico/Estático, Discreto/Continuo, Solitario/Multijugador

Page 7: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Desarrollo de la plataforma

7

❖ Arquitectura de la plataforma

Page 8: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Juego: PaintBol

8

❖ Juego de acción táctica

❖ Entorno 3D

❖ Posibilidad IA vs IA

❖ 2 equipos de 5 jugadores (5 vidas por jugador)

❖ Penalización de 6 segundos por muerte

Page 9: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Juego: PaintBol

9

❖ Sensores

➢ Vista

➢ Oído

❖ Actuadores (acciones):

➢ Movimientos (correr, andar, andar agachado)

➢ Comunicación

➢ Disparo

➢ Ataques en espacios cerrados

➢ Lanzar granadas

Page 10: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Juego: PaintBol

10

❖ Puntuación:

➢ Vidas quitadas

➢ Cuerpo a cuerpo

➢ Disparando

➢ Granadas

➢ Con Sigilo

➢ A la cabeza

➢ Muertes múltiples

➢ Fuego amigo

➢ Vidas restantes

➢ Granadas restantes

➢ Puntos por vidas quitadas

➢ Bonus por vida restante

➢ Bonus por granadas restantes

➢ Bonus por puntera

➢ Bonus por variedad

Page 11: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Generador de Mapas

11

Diagramas de Voronoi Definición tierra-agua Definición elevación del terreno

Definición ríosDefinición biomas

Definición

humedad

Page 12: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Generador de Mapas

12

Construcción de objetos del terreno Distribución de objetos del terreno

Resultado

Page 13: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Interfaz gráfica del Juego

13

Page 14: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Experimentación

14

❖ IAs de test

➢ Random AI

■ Decisiones pseudoaleatorias

■ rnd1 y rnd2 denotan los 2 valores aleatorios generados cada turno

Page 15: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Experimentación

15

❖ IAs de test

➢ Basic AI

■ Basado completamente en un árbol de decisión

■ No usa el sistema de comunicación

■ Apenas analiza ruidos

Page 16: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Experimentación

16

❖ IAs de test

➢ Heuristic AI

■ Busca a otros aliados y les sigue, aumentando la probabilidad de tener superioridad numérica en los enfrentamientos

■ Tiene en jerarquías entre jugadores del equipo

● Seguir a líderes

■ Análisis de ruidos

■ Aprovecha el sistema de comunicaciones del juego

Page 17: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Experimentación

17

❖ IAs de test

➢ Heuristic AI

■ Combinación de un behavior tree y submáquinas de estados a la hora de definir el estado del jugador en cada turno

■ Estados posibles

● Pursuing

● Following

● Investigating

● Roaming

Page 18: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Experimentación

18

❖ Diseño de los primeros experimentos

➢ 5 enfrentamientos por cada posible emparejamiento de IAs (total 15)

■ RandomAI - BasicAI

■ BasicAI - HeuristicAI

■ RandomAI - HeuristicAI

➢ Los enfrentamientos terminan cuando todos los jugadores de uno de los equipos se quedan sin puntos de vida

➢ Los enfrentamientos duraron entre 30 y 60 minutos cada uno

Page 19: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Experimentación

19

❖ Resultados de los primeros experimentos

➢ Los agentes más elaborados obtienen consistentemente mejores resultados

➢ La inmensa mayoría de muertes se obtuvieron mediante disparos

Page 20: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Experimentación

20

❖ Resultados de los primeros experimentos

➢ Ningún jugador usó con éxito las granadas

■ Ausencia de muertes múltiples y fuego amigo

➢ Mejoras

■ Ausencia de bonus por variedad

■ Ausencia de bonus por disparos a la cabeza

Page 21: CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicacion de IA en videojuegos

Conclusiones y trabajo futuro

21

❖ Contribuciones y ventajas de la plataforma desarrollada

➢ Entorno 3D (Unity)

➢ Aspectos de la IA enfocados: análisis de terrenos, creación de jerarquías, sistema de comunicación multi-agente, trabajo en equipo.

❖ Trabajo futuro

➢ Mejora de la documentación

➢ Mejora en la encapsulación y extensibilidad de la API

➢ Publicación como challenge