Improving the Performance of a Computer-Controlled
Player in a Maze Chase Game using Evolutionary
Programming on a Finite-...
 Tesis doctoral: Simulando el comportamiento
humano en jugadores automáticos de videojuegos de
estrategia en tiempo real....
 PacMan
 T. Iwatani y S. Funaki. 1980
 MsPacMan
 Fantasmas con comportamiento no
determinista
 Ms PacMan vs Ghosts
 ...
 Mejorar un controlador basado en una máquina de
estados utilizando Programación Evolutiva
 ¿se puede mejorar un PacMan ...
 Controlador basado en la clase StarterPacman
Desarrollo: La Máquina de Estados
 Población de PacMans
 Fitness: valor de cada cromosoma de la población
 Puntuación del individuo en el juego (media de...
 Operadores de Cruce
 Cruce basado en un punto
 Cruce multipunto
 Cruce uniforme
 Cruce plano
 Cruce combinado
 Cru...
 Operadores de Reemplazo (o sustitución)
 Reemplazo de los peores
 Reemplazo aleatorio
 Reemplazo por torneo
 Reempla...
 Pasos del algoritmo
1. Se inicializa la población (100 individuos) con cromosomas
aleatorios
2. Se evalúa cada individuo...
 96 combinaciones de operadores diferentes…
Resultados (I)
 Fitness medio
 Fitness mínimo
 Fitness máximo
Resultados (II)
 Mejor cromosoma [120, 14, 324, 75]
 Distancia mínima que indica si un fantasma
“comestible” ha de ser p...
 Puntuación máxima obtenida: 6.000
 Mejora media del 60%
 Mejora en el mejor caso 100%
 Puntuaciones ganadoras en comp...
 Mejora es muy notoria
 Que sería mayor si…
 Autómata más complejo
 Lógica difusa para las transiciones
 Más experime...
Para mantener el contacto…
Maximiliano Miranda
m.miranda@ucm.es
L A B O R A T O R I E
S
www.narratech.com
Federico Peinado...
Próxima SlideShare
Cargando en…5
×

CoSECiVi'15 - Improving the performance of a computer-controlled player in a maze chase game using evolutionary programming on a finite-state machine

239 visualizaciones

Publicado el

Abstract. The continuous sophistication of video games represents a stimulating challenge for Artificial Intelligence researchers. As part of our work on improving the behaviour of military units in Real-Time Strategy Games we are testing different techniques and methodologies for computer-controlled players.
In this paper Evolutionary Programming is explored, establishing a first approach to develop an automatic controller for the classic maze chase game Ms.
Pac-Man. Several combinations of different operators for selection, crossover, mutation and replacement are studied, creating an algorithm that changes the
variables of a simple finite-state machine representing the behaviour of the player’s avatar. After the initial training, we evaluate the results obtained by all these combinations, identifying best choices and discussing the performance
improvement that can be obtained with similar techniques in complex games.

Publicado en: Ciencias
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

CoSECiVi'15 - Improving the performance of a computer-controlled player in a maze chase game using evolutionary programming on a finite-state machine

  1. 1. Improving the Performance of a Computer-Controlled Player in a Maze Chase Game using Evolutionary Programming on a Finite-State Machine II Congreso de la Sociedad Española para las Ciencias del Videojuego - 24/06/2015  Maximiliano Miranda  Federico Peinado U. Complutense Madrid { L A B O R A T O R I E S
  2. 2.  Tesis doctoral: Simulando el comportamiento humano en jugadores automáticos de videojuegos de estrategia en tiempo real.  StarCraft | Mutant Meat City  IA de las unidades de los ejércitos e IA “jugadora”  Máquinas de estado, Programación Evolutiva, Redes neuronales…  Comenzamos con Programación Evolutiva y PacMan Motivación
  3. 3.  PacMan  T. Iwatani y S. Funaki. 1980  MsPacMan  Fantasmas con comportamiento no determinista  Ms PacMan vs Ghosts  API en Java  Controladores de los fantasmas y de PacMan Explicaciones y contexto
  4. 4.  Mejorar un controlador basado en una máquina de estados utilizando Programación Evolutiva  ¿se puede mejorar un PacMan usando un Algoritmo Genético? Objetivos
  5. 5.  Controlador basado en la clase StarterPacman Desarrollo: La Máquina de Estados
  6. 6.  Población de PacMans  Fitness: valor de cada cromosoma de la población  Puntuación del individuo en el juego (media de 10 partidas)  Genes  Codificación real: valores [0..1]  Operadores de Selección  Selección por ranking  Selección por torneo Desarrollo: El Algoritmo Genético (I)
  7. 7.  Operadores de Cruce  Cruce basado en un punto  Cruce multipunto  Cruce uniforme  Cruce plano  Cruce combinado  Cruce aritmético  Operadores de Mutación  Mutación uniforme  Mutación por intercambio Desarrollo: El Algoritmo Genético (II)
  8. 8.  Operadores de Reemplazo (o sustitución)  Reemplazo de los peores  Reemplazo aleatorio  Reemplazo por torneo  Reemplazo generacional Desarrollo: El Algoritmo Genético (III)
  9. 9.  Pasos del algoritmo 1. Se inicializa la población (100 individuos) con cromosomas aleatorios 2. Se evalúa cada individuo -> estructura ordenada de la población 3. Cálculo del mínimo, máximo y fitness medio de la población 4. Se produce un nuevo paso del Algoritmo (Selección, cruce, mutación y reemplazo). Hasta 500 generaciones. 5. Análisis de los resultados, reconfiguración de operadores y vuelta a 1. Desarrollo: El Algoritmo Genético (III)
  10. 10.  96 combinaciones de operadores diferentes… Resultados (I)  Fitness medio  Fitness mínimo  Fitness máximo
  11. 11. Resultados (II)  Mejor cromosoma [120, 14, 324, 75]  Distancia mínima que indica si un fantasma “comestible” ha de ser perseguido: 120 pixeles  Distancia mín. que indica si un fantasma está suficientemente cerca como para huir de el: 14 pixeles  Tiempo mínimo para que un fantasma comestible sea perseguido: 3,24 segundos  Mínimo número de píldoras para forzar su recolección cueste lo que cueste: 75
  12. 12.  Puntuación máxima obtenida: 6.000  Mejora media del 60%  Mejora en el mejor caso 100%  Puntuaciones ganadoras en competición: > 20.000  Autómata extremadamente simple Discusión
  13. 13.  Mejora es muy notoria  Que sería mayor si…  Autómata más complejo  Lógica difusa para las transiciones  Más experimentos  Durante la Tesis  Simular el comportamiento humano en videojuegos RTS (reacciones, sentimientos, etc) Conclusiones
  14. 14. Para mantener el contacto… Maximiliano Miranda m.miranda@ucm.es L A B O R A T O R I E S www.narratech.com Federico Peinado www.federicopeinado.es

×