CoSECiVi 2020
GRETIVE:
Un Bot Evolutivo para
Hearthstone
basado en Perfiles
Antonio M. Mora García
Alejandro Romero García
Dpto. Teoría de la Señal, Telemática y Comunicaciones.
Universidad de Granada.
CoSECiVi 2020
Índice
⦿ Hearthstone y Sabberstone
⦿ Bot propuesto
⦿ Funciones basadas en perfiles
⦿ Comparativa con EVA
⦿ Conclusión
⦿ Resultados competición
Hearthstone
Juego de cartas
coleccionables, de estrategia
por turnos.
Objetivo: Reducir la salud del
rival a cero antes de que él te
la reduzca a ti.
CoSECiVi 2020
Hearthstone
Tableros de juego
propio y rival
Esbirros enemigos
Mano actual
Cristales de maná
Puntos de salud
héroe enemigo
Puntos de salud
héroe propio
CoSECiVi 2020
Sabberstone
Framework desarrollado por Hearthsim para simular partidas
de Hearthstone de manera automatizada.
Cuenta con el repertorio casi completo de cartas actualizadas.
Utilizado para la competición internacional de IA en
Hearthstone.
CoSECiVi 2020
Bot propuesto: Gretive
El bot de Hearthstone propuesto, llamado
GRETIVE, está compuesto por un conjunto de
reglas de decisión, siguiendo una estrategia
greedy con el fin de decidir la mejor jugada en
cada turno.
Implementa un Algoritmo Genético (AG) con
un enfoque generacional. Cada individuo se
representa como un vector de diez valores reales,
que representan los diez pesos [w1,...,w10]
utilizados para seleccionar la ejecución de la acción
que tenga el mejor valor de preferencia.
Valor de preferencia =
w1 · Ataque total de los propios esbirros +
w2 · Ataque total de los esbirros enemigos +
w3 · Salud total de los propios esbirros +
w4 · Salud total de los esbirros enemigos +
w5 · Salud total de los propios esbirros con
Provocar +
w6 · Salud total de los esbirros enemigos
con Provocar +
w7 · Armadura de Héroe propio +
w8 · Armadura de Héroe enemigo +
w9 · Salud del héroe propio +
w10 · Salud del héroe enemigo
CoSECiVi 2020
Bot propuesto: estrategia
Estrategia de Selección elitista donde se eliminan los individuos con peor fitness.
Utilización de un operador estándar de cruce de un solo punto.
Evaluación a través de sucesivas partidas simuladas por cada individuo cuyo fitness es
determinado por una función de evaluación basada en el perfil deseado.
CoSECiVi 2020
Perfil Aggro
Juego agresivo, terminar en pocos turnos, generar muchas
unidades, maximizar daño.
CAZADOR
Si el individuo vence
F = 180 - 7 * Turnos + Salud_Propia + Armadura_Propia + 2 *
Ataque_Esbirros_Propios + 3 * (Esbirros_Propios - Esbirros_Enemigos)
Si el individuo pierde
F = -130 + 5 * Turnos - 10 * (Salud_Enemiga + Armadura_Enemiga) - 3 *
Ataque_Esbirros_Enemigos + 5 * Ataque_Esbirros_Propios -
Esbirros_Enemigos
CoSECiVi 2020
Perfil Midrange
Estilo de juego centrado en la etapa intermedia de juego, durante
el inicio de la partida controlar el tablero con cartas muy
eficientes (coste-efecto) y cerrar la partida con una actitud
completamente agresiva.
Si el individuo vence
F = 180 - 3 * Turnos + 3 * (Salud_Propia + Ataque_Propio) + 2 *
Ataque_Esbirros_Propios
Si el individuo pierde
F = -120 + 5 * Turnos - 5 * (Salud_Enemiga + Armadura_Enemiga +
Ataque_Esbirros_Enemigos) + 3 * Ataque_Esbirros_Propios
DRUIDA
CoSECiVi 2020
Perfil Control
Estilo de juego tardío, durantes la primera mitad de juego,
centrado en mantener al rival lo más inmovilizado posible,
contrarrestando sus cartas y jugando cartas defensivas. Una vez
llegado un estado de juego avanzado, jugar cartas de alto coste y
gran potencial que deriven en una victoria.
Si el individuo vence
F = 150 + Turnos + 2 * (Salud_Propia + Armadura_Propia) + 2 *
(Ataque_Esbirros_Propios + Salud_Esbirros_Propios +
Salud_Esbirros_Propios_Provocar ) - 4 * (Ataque_Esbirros_Enemigos)
Si el individuo pierde
F = -200 + 10 * Turnos - 4 * (Salud_Enemiga + Armadura_Enemiga) + 5 *
Ataque_Esbirros_Propios + 2 * (Esbirros_Propios +
Salud_Esbirros_Propios_Provocar + Ataque_Esbirros_Propios_Provocar) -
6 * Ataque_Esbirros_Enemigos
CHAMAN
CoSECiVi 2020
Funciones basadas en perfiles
Optimización basada en el perfil Aggro usando un mazo de Cazador.
CoSECiVi 2020
Funciones basadas en perfiles
Optimización basada en el perfil Control usando un mazo Chamán.
CoSECiVi 2020
Funciones basadas en perfiles
Optimización basada en el perfil Midrange usando un mazo Druida.
CoSECiVi 2020
Comparativa con EVA
EVA tiene un comportamiento generalista, dispone de un conjunto de
reglas comunes para cualquiera de los 9 héroes.
Resultados en los enfrentamientos con EVA
Agente
Victorias
como J1
Victorias
como J2
Tasa de
victoria
total
GRETIVE-AG 64.9% 36.8% 50.85%
GRETIVE-MR 64.3% 39.8% 52.55%
GRETIVE-CT 65.8% 41.9% 53.85%
Para los enfrentamientos no se han
podido disponer de mazos
predefinidos para los héroes y perfiles
deseados, lo que hubiera mejorado el
rendimiento del agente al utilizar el
mazo arquetipo apropiado.
2019
Hearthstone AI
Competition
CoSECiVi 2020
Conclusiones
La aplicación del AE basado en perfiles parte de los arquetipos y estrategias frecuentemente
seguidas por mucho jugadores. Cada uno de los perfiles implica no sólo la forma de juego,
también dependen del héroe que el jugador está controlando.
Los agentes optimizados (uno por perfil) se han probado en 2000 enfrentamientos contra el
agente EVA, ambos con un algoritmo Greedy y optimizaciones generadas por un AE. Los
resultados muestran una mejora respecto al agente EVA. La diferencia no es muy grande en
el uso de mazos por defecto, pero con un héroe y baraja apropiada la diferencia en las tasas
de victorias crece mucho.
CoSECiVi 2020
Resultados Competición
Para la competición, se sustituyó el
algoritmo de búsqueda ‘greedy’ por
un algoritmo ‘dynamic look-ahead
Monte Carlo’.
Éste utilizaba como función
heurística, los pesos obtenidos
mediante el AE para cada héroe y
arquetipo.
CoSECiVi 2020
Trabajo futuro
En un futuro se probará a definir mazos específicos para cada uno de los arquetipos, con el
objetivo de obtener un mayor rendimiento.
También se podría considerar incluso cambiar la estrategia durante el juego según el mazo o
incluso las cartas en mano.
Además, las funciones de evaluación (o fitness del individuo) utilizadas en el AE pueden
mejorarse, teniendo en cuenta la información adicional de los enfrentamientos, como el
cementerio (cartas utilizadas), o considerando determinados parámetros concretos del juego
frente al estado final como se aplica actualmente.
CoSECiVi 2020
¡Gracias!
Contacto:
Antonio Mora : amorag@ugr.es
Alejandro Romero: algebro96@gmail.com
Información sobre Hearthstone AI Competition
https://dockhorn.antares.uberspace.de/wordpress/
CoSECiVi 2020

Más contenido relacionado

PDF
CoSECiVi 2020 - Parametric Action Pre-Selection for MCTS in Real-Time Strateg...
PDF
CoSECiVi 2020 - Las consecuencias del glitch en el entorno virtual interactivo
PDF
CoSECiVi 2020 - Games studies in architectural education: An experimental gra...
PDF
CoSECiVi 2020 - Multiresolution Foliage Rendering
PDF
CoSECiVi 2020 - Development of a User-Friendly Application for Creating Tacti...
PDF
CoSECiVi 2020 - Entornos parcialmente no euclidianos en realidad virtual
PDF
CoSECiVi 2020 - An Exploration on Automating Player Personality Identificatio...
PDF
CoSECiVi 2020 - Data mining of deck archetypes in Hearthstone
CoSECiVi 2020 - Parametric Action Pre-Selection for MCTS in Real-Time Strateg...
CoSECiVi 2020 - Las consecuencias del glitch en el entorno virtual interactivo
CoSECiVi 2020 - Games studies in architectural education: An experimental gra...
CoSECiVi 2020 - Multiresolution Foliage Rendering
CoSECiVi 2020 - Development of a User-Friendly Application for Creating Tacti...
CoSECiVi 2020 - Entornos parcialmente no euclidianos en realidad virtual
CoSECiVi 2020 - An Exploration on Automating Player Personality Identificatio...
CoSECiVi 2020 - Data mining of deck archetypes in Hearthstone

Más de Sociedad Española para las Ciencias del Videojuego (20)

PDF
CoSECiVi 2020 - Descubrimiento de modelos de comportamiento de perfiles de ju...
PDF
CoSECiVi 2020 - Virtual Reality and Chess. A Video Game for Cognitive Trainin...
PDF
CoSECiVi'16 - Hacia la generación automática de mecánicas de juego: un edito...
PDF
CoSECiVi'16 - Computación Efímera: identificando retos para la investigación e...
PDF
CoSECiVi'16 - Walking in VR. Measuring Presence and Simulator Sickness in Fir...
PDF
CoSECiVi'16 - Extensión de los grafos de dependencia para incrementar la reju...
PDF
CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en sup...
PDF
CoSECiVi'16 - Living-UGR: Una aventura gráfica geolocalizada para difundir el...
PDF
CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicaci...
PDF
CoSECiVi'16 - Educapiz: Una herramienta para educación infantil basada en ser...
PDF
CoSECiVi'15 - Predicting the winner in two player StarCraft games
PDF
CoSECiVi'15 - Automatic gameplay testing for message passing architectures
PDF
CoSECiVi'15 - Evaluación de una historia interactiva. Una aproximación basada...
PDF
CoSECiVi'15 - Implementación de nodos consulta en árboles de comportamiento
PDF
CoSECiVi'15 - Towards real-time procedural scene generation from a truncated ...
PDF
CoSECiVi'15 - Modelling suspicion as a game mechanism for designing a compute...
PDF
CoSECiVi'15 - RACMA o cómo dar vida a un mapa mudo en el Museo de América
PDF
CoSECiVi'15 - Diseño de un juego serio basado en el suspense
PDF
CoSECiVi'15 - Design methodology for educational games based on interactive s...
PDF
CoSECiVi'15 - Refinamiento de un modelo de calidad para juegos serios
CoSECiVi 2020 - Descubrimiento de modelos de comportamiento de perfiles de ju...
CoSECiVi 2020 - Virtual Reality and Chess. A Video Game for Cognitive Trainin...
CoSECiVi'16 - Hacia la generación automática de mecánicas de juego: un edito...
CoSECiVi'16 - Computación Efímera: identificando retos para la investigación e...
CoSECiVi'16 - Walking in VR. Measuring Presence and Simulator Sickness in Fir...
CoSECiVi'16 - Extensión de los grafos de dependencia para incrementar la reju...
CoSECiVi'16 - Sólo puede quedar uno: Evolución de Bots para RTS basada en sup...
CoSECiVi'16 - Living-UGR: Una aventura gráfica geolocalizada para difundir el...
CoSECiVi'16 - Desarrollo de una plataforma basada en Unity3D para la aplicaci...
CoSECiVi'16 - Educapiz: Una herramienta para educación infantil basada en ser...
CoSECiVi'15 - Predicting the winner in two player StarCraft games
CoSECiVi'15 - Automatic gameplay testing for message passing architectures
CoSECiVi'15 - Evaluación de una historia interactiva. Una aproximación basada...
CoSECiVi'15 - Implementación de nodos consulta en árboles de comportamiento
CoSECiVi'15 - Towards real-time procedural scene generation from a truncated ...
CoSECiVi'15 - Modelling suspicion as a game mechanism for designing a compute...
CoSECiVi'15 - RACMA o cómo dar vida a un mapa mudo en el Museo de América
CoSECiVi'15 - Diseño de un juego serio basado en el suspense
CoSECiVi'15 - Design methodology for educational games based on interactive s...
CoSECiVi'15 - Refinamiento de un modelo de calidad para juegos serios
Publicidad

Último (20)

PPTX
Infección de transmisión sexual clase.pptx
PPTX
Resucitacion cardiopulmonar en pacientes
PDF
PARTO PRETERMINO LOANNET CAÑIZARES PRESENTACION
PDF
TEJIDO CARTILAGINOSO. HISTOFISIOLOGÍA. .
PPTX
Bolilla 9 Sistemas Oleohidráulicos .pptx
PPT
TANATOLOGÍA CLASE UNIVERSIDAD NACIONAL DE CAJAMARCA
PPTX
ENFERMEDADES PERIODONTALES EN ODONTOLOGIA.pptx
PDF
Conferencia Órganos Linfoides y Ontogenia.pdf
PDF
BIOQ1054 Introduccion a la Fisiología vegetal (1).pdf
PPTX
HIPERTENSION AR-Crisis hipertensivas.pptx
PDF
Los años peronistas, Entre los conflictos políticos y la construcción de un e...
PPT
ECG y alteraciones mas frecuentes en el ritmo cardiaco
PPTX
Circuitos en corriente alterna capacitores e inductores
PDF
LA COLA INVERSA DEL COMETA 3I 2025 N1 ATLAS - spaceweather.com - Agosto 20, 2...
PPTX
Aborto exposicion.pptxdsaaaaaaaaaaaaaaaaaaaaaaaaaa
PPTX
Introducción a la fisiopatologia ...
PPTX
Formulación de Objetivos en Investigaciones Cuantitativas.pptx
PPTX
vasculitis, insuficiencia cardiaca.pptx.
PDF
Generalidades morfológicas de los Hongos
PDF
Conferencia Protozoos coccidios (1).pdf medicina
Infección de transmisión sexual clase.pptx
Resucitacion cardiopulmonar en pacientes
PARTO PRETERMINO LOANNET CAÑIZARES PRESENTACION
TEJIDO CARTILAGINOSO. HISTOFISIOLOGÍA. .
Bolilla 9 Sistemas Oleohidráulicos .pptx
TANATOLOGÍA CLASE UNIVERSIDAD NACIONAL DE CAJAMARCA
ENFERMEDADES PERIODONTALES EN ODONTOLOGIA.pptx
Conferencia Órganos Linfoides y Ontogenia.pdf
BIOQ1054 Introduccion a la Fisiología vegetal (1).pdf
HIPERTENSION AR-Crisis hipertensivas.pptx
Los años peronistas, Entre los conflictos políticos y la construcción de un e...
ECG y alteraciones mas frecuentes en el ritmo cardiaco
Circuitos en corriente alterna capacitores e inductores
LA COLA INVERSA DEL COMETA 3I 2025 N1 ATLAS - spaceweather.com - Agosto 20, 2...
Aborto exposicion.pptxdsaaaaaaaaaaaaaaaaaaaaaaaaaa
Introducción a la fisiopatologia ...
Formulación de Objetivos en Investigaciones Cuantitativas.pptx
vasculitis, insuficiencia cardiaca.pptx.
Generalidades morfológicas de los Hongos
Conferencia Protozoos coccidios (1).pdf medicina
Publicidad

CoSECiVi 2020 - GRETIVE Un Bot Evolutivo para HearthStone basado en Perfiles

  • 1. CoSECiVi 2020 GRETIVE: Un Bot Evolutivo para Hearthstone basado en Perfiles Antonio M. Mora García Alejandro Romero García Dpto. Teoría de la Señal, Telemática y Comunicaciones. Universidad de Granada.
  • 2. CoSECiVi 2020 Índice ⦿ Hearthstone y Sabberstone ⦿ Bot propuesto ⦿ Funciones basadas en perfiles ⦿ Comparativa con EVA ⦿ Conclusión ⦿ Resultados competición
  • 3. Hearthstone Juego de cartas coleccionables, de estrategia por turnos. Objetivo: Reducir la salud del rival a cero antes de que él te la reduzca a ti. CoSECiVi 2020
  • 4. Hearthstone Tableros de juego propio y rival Esbirros enemigos Mano actual Cristales de maná Puntos de salud héroe enemigo Puntos de salud héroe propio CoSECiVi 2020
  • 5. Sabberstone Framework desarrollado por Hearthsim para simular partidas de Hearthstone de manera automatizada. Cuenta con el repertorio casi completo de cartas actualizadas. Utilizado para la competición internacional de IA en Hearthstone. CoSECiVi 2020
  • 6. Bot propuesto: Gretive El bot de Hearthstone propuesto, llamado GRETIVE, está compuesto por un conjunto de reglas de decisión, siguiendo una estrategia greedy con el fin de decidir la mejor jugada en cada turno. Implementa un Algoritmo Genético (AG) con un enfoque generacional. Cada individuo se representa como un vector de diez valores reales, que representan los diez pesos [w1,...,w10] utilizados para seleccionar la ejecución de la acción que tenga el mejor valor de preferencia. Valor de preferencia = w1 · Ataque total de los propios esbirros + w2 · Ataque total de los esbirros enemigos + w3 · Salud total de los propios esbirros + w4 · Salud total de los esbirros enemigos + w5 · Salud total de los propios esbirros con Provocar + w6 · Salud total de los esbirros enemigos con Provocar + w7 · Armadura de Héroe propio + w8 · Armadura de Héroe enemigo + w9 · Salud del héroe propio + w10 · Salud del héroe enemigo CoSECiVi 2020
  • 7. Bot propuesto: estrategia Estrategia de Selección elitista donde se eliminan los individuos con peor fitness. Utilización de un operador estándar de cruce de un solo punto. Evaluación a través de sucesivas partidas simuladas por cada individuo cuyo fitness es determinado por una función de evaluación basada en el perfil deseado. CoSECiVi 2020
  • 8. Perfil Aggro Juego agresivo, terminar en pocos turnos, generar muchas unidades, maximizar daño. CAZADOR Si el individuo vence F = 180 - 7 * Turnos + Salud_Propia + Armadura_Propia + 2 * Ataque_Esbirros_Propios + 3 * (Esbirros_Propios - Esbirros_Enemigos) Si el individuo pierde F = -130 + 5 * Turnos - 10 * (Salud_Enemiga + Armadura_Enemiga) - 3 * Ataque_Esbirros_Enemigos + 5 * Ataque_Esbirros_Propios - Esbirros_Enemigos CoSECiVi 2020
  • 9. Perfil Midrange Estilo de juego centrado en la etapa intermedia de juego, durante el inicio de la partida controlar el tablero con cartas muy eficientes (coste-efecto) y cerrar la partida con una actitud completamente agresiva. Si el individuo vence F = 180 - 3 * Turnos + 3 * (Salud_Propia + Ataque_Propio) + 2 * Ataque_Esbirros_Propios Si el individuo pierde F = -120 + 5 * Turnos - 5 * (Salud_Enemiga + Armadura_Enemiga + Ataque_Esbirros_Enemigos) + 3 * Ataque_Esbirros_Propios DRUIDA CoSECiVi 2020
  • 10. Perfil Control Estilo de juego tardío, durantes la primera mitad de juego, centrado en mantener al rival lo más inmovilizado posible, contrarrestando sus cartas y jugando cartas defensivas. Una vez llegado un estado de juego avanzado, jugar cartas de alto coste y gran potencial que deriven en una victoria. Si el individuo vence F = 150 + Turnos + 2 * (Salud_Propia + Armadura_Propia) + 2 * (Ataque_Esbirros_Propios + Salud_Esbirros_Propios + Salud_Esbirros_Propios_Provocar ) - 4 * (Ataque_Esbirros_Enemigos) Si el individuo pierde F = -200 + 10 * Turnos - 4 * (Salud_Enemiga + Armadura_Enemiga) + 5 * Ataque_Esbirros_Propios + 2 * (Esbirros_Propios + Salud_Esbirros_Propios_Provocar + Ataque_Esbirros_Propios_Provocar) - 6 * Ataque_Esbirros_Enemigos CHAMAN CoSECiVi 2020
  • 11. Funciones basadas en perfiles Optimización basada en el perfil Aggro usando un mazo de Cazador. CoSECiVi 2020
  • 12. Funciones basadas en perfiles Optimización basada en el perfil Control usando un mazo Chamán. CoSECiVi 2020
  • 13. Funciones basadas en perfiles Optimización basada en el perfil Midrange usando un mazo Druida. CoSECiVi 2020
  • 14. Comparativa con EVA EVA tiene un comportamiento generalista, dispone de un conjunto de reglas comunes para cualquiera de los 9 héroes. Resultados en los enfrentamientos con EVA Agente Victorias como J1 Victorias como J2 Tasa de victoria total GRETIVE-AG 64.9% 36.8% 50.85% GRETIVE-MR 64.3% 39.8% 52.55% GRETIVE-CT 65.8% 41.9% 53.85% Para los enfrentamientos no se han podido disponer de mazos predefinidos para los héroes y perfiles deseados, lo que hubiera mejorado el rendimiento del agente al utilizar el mazo arquetipo apropiado. 2019 Hearthstone AI Competition CoSECiVi 2020
  • 15. Conclusiones La aplicación del AE basado en perfiles parte de los arquetipos y estrategias frecuentemente seguidas por mucho jugadores. Cada uno de los perfiles implica no sólo la forma de juego, también dependen del héroe que el jugador está controlando. Los agentes optimizados (uno por perfil) se han probado en 2000 enfrentamientos contra el agente EVA, ambos con un algoritmo Greedy y optimizaciones generadas por un AE. Los resultados muestran una mejora respecto al agente EVA. La diferencia no es muy grande en el uso de mazos por defecto, pero con un héroe y baraja apropiada la diferencia en las tasas de victorias crece mucho. CoSECiVi 2020
  • 16. Resultados Competición Para la competición, se sustituyó el algoritmo de búsqueda ‘greedy’ por un algoritmo ‘dynamic look-ahead Monte Carlo’. Éste utilizaba como función heurística, los pesos obtenidos mediante el AE para cada héroe y arquetipo. CoSECiVi 2020
  • 17. Trabajo futuro En un futuro se probará a definir mazos específicos para cada uno de los arquetipos, con el objetivo de obtener un mayor rendimiento. También se podría considerar incluso cambiar la estrategia durante el juego según el mazo o incluso las cartas en mano. Además, las funciones de evaluación (o fitness del individuo) utilizadas en el AE pueden mejorarse, teniendo en cuenta la información adicional de los enfrentamientos, como el cementerio (cartas utilizadas), o considerando determinados parámetros concretos del juego frente al estado final como se aplica actualmente. CoSECiVi 2020
  • 18. ¡Gracias! Contacto: Antonio Mora : amorag@ugr.es Alejandro Romero: algebro96@gmail.com Información sobre Hearthstone AI Competition https://dockhorn.antares.uberspace.de/wordpress/ CoSECiVi 2020