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.
Harris, Marvin. - Caníbales y reyes. Los orígenes de la cultura [ocr] [1986].pdf
CoSECiVi'15 - Improving the performance of a computer-controlled player in a maze chase game using evolutionary programming on a finite-state machine
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. 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. 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. 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
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. 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. Operadores de Reemplazo (o sustitución)
Reemplazo de los peores
Reemplazo aleatorio
Reemplazo por torneo
Reemplazo generacional
Desarrollo: El Algoritmo Genético (III)
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. 96 combinaciones de operadores diferentes…
Resultados (I)
Fitness medio
Fitness mínimo
Fitness máximo
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. 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. 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. 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