Comentarios de los desarrolladores: asistente de creación de mazos

Comentarios de los desarrolladores: asistente de creación de mazos

¡Hola a todos! Soy Tian, científico de datos sénior del equipo de Hearthstone, y estoy aquí para hablar de la nueva función de asistente de creación de mazos y, con suerte, responder a algunas de las dudas que han surgido en la comunidad desde que presentamos esta característica, hace poco.

Comencemos con una simple introducción a la función antes de profundizar en lo que realmente os interesa: ¡la ciencia!

HS_Blog_Divider_Filigree_Bar.png

¿Qué es el asistente de creación de mazos?

Sabemos que crear un mazo de Hearthstone puede ser una experiencia divertida y gratificante para muchos jugadores experimentados, pero quizá llevéis un tiempo sin jugar, acabéis de conocer el juego, no tengáis mucho tiempo libre o simplemente necesitéis una ayudita para convertir vuestra colección de cartas en algo que os enorgullezca emplear en la jerarquía. Ahí es donde entra en juego la función de asistente de creación de mazos. Con esta nueva característica, nosotros nos encargamos del trabajo sucio y os ponemos a jugar con un mazo popular y efectivo con solo un par de clics.

Para utilizar el asistente de creación de mazos, empezad a crear un mazo estándar con cualquier clase y cualquier número de cartas. Tras hacer clic en «Completar mi mazo» o «Listo», rellenaremos el resto del mazo por vosotros en función de las cartas que ya hayáis elegido y usando únicamente cartas de vuestra colección. Para que veáis un ejemplo, si escogéis Oondasta y Hacerse el muerto y dejáis que Hearthstone se encargue del resto, el asistente de creación de mazos tendrá en cuenta varios factores y luego intentará crear el mejor mazo posible, como el popular Cazador último aliento con Fatuinvierno.

03_27_HS_DeveloperInsights_SmartDeck_BlogDecklist_800x1000_JY_v01_esES.png

Es así de sencillo. Empezad un mazo vacío o seleccionad unas cuantas cartas que sepáis que queréis usaros y nosotros nos haremos cargo del resto para ofreceros un magnífico mazo.

HS_Blog_Divider_Filigree_Bar.png

Funcionamiento:

En cuanto a la ingeniería que implica, el asistente de creación de mazos tiene dos capas, y cada una dispone de múltiples subcapas para completar vuestro mazo de forma automática. Ahora veamos qué hace cada una de estas capas para crear el mazo que buscáis:

La primera capa de creación de mazos: definición del metajuego

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_H.jpgPara evitar cualquier confusión, repasemos rápidamente a qué nos referimos cuando hablamos del «metajuego». El metajuego describe la tendencia actual de mazos que se ven en la jerarquía, sobre todo en modos con rango. A la hora de tratar de generar un buen mazo, muchos jugadores intentan tener en cuenta el metajuego actual e incluir cartas que los ayuden a tener éxito contra los mazos a los que seguramente se enfrentarán. Por ejemplo, en un metajuego con muchas armas (es decir, cuando muchos mazos populares incluyen cartas de armas), es probable que los mazos contengan Moco del pantano ácido o Moco glutinoso para destruir las armas y así contrarrestar el metajuego.

En la primera capa de creación de mazos (es decir, la del metajuego), intentamos generar el mejor mazo posible teniendo en cuenta qué cosas son populares actualmente en el metajuego, lo que ya hayáis incluido en el mazo y las cartas disponibles en vuestra colección. Para determinar lo que se considera el metajuego, utilizamos un algoritmo computacional para agrupar en subgrupos mazos populares con el mismo tipo básico. Cada uno de estos subgrupos representa un tipo de mazo que se usa en el metajuego actual, como Cazador de secretos, Sacerdote de dragones, Paladín impar, etc. Puede que los contenidos de cada mazo incluido en esos subgrupos difieran ligeramente, pero, al fin y al cabo, son el mismo tipo de mazo. En términos de aprendizaje automático, este proceso se llama «agrupación en clústeres». Nuestro algoritmo de agrupación en clústeres analiza datos con millones de variaciones de mazos, donde cada mazo cuenta como un punto de datos y cada punto de datos representa un vector en cientos de dimensiones. Mediante esa información de agrupación en clústeres y en combinación con otras soluciones matemáticas, el algoritmo rellena entonces de forma dinámica vuestro mazo hasta que esté completo o se active la segunda capa de «relleno».

Puesto que los jugadores con distinto nivel de habilidad siempre tendrán mazos, formas de jugar y dificultades diferentes, lo más probable es que el metajuego varíe en función de vuestro rango en la jerarquía. Para hacer frente a esta situación, usamos distintas subcapas en este proceso de relleno de mazos del metajuego. Si estáis más o menos en el rango 20, seguramente obtengáis un mazo del metajuego distinto al de un jugador del rango Leyenda. Además, nuestros procesos de informe del metajuego se actualizan con una frecuencia regular para que el mazo del metajuego siempre esté al día.

Tras generar un mazo del metajuego presumiblemente efectivo mediante lo que ya contenía el mazo y vuestra colección de cartas, pasamos a la segunda capa de creación:

La segunda capa de creación de mazos: relleno

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_G.jpgSi la capa del metajuego no es capaz de encontrar 30 cartas para el mazo en vuestra colección, entra en juego la segunda capa, llamada «capa de relleno». Esta capa se asegura de que el mazo se complete y contenga las mejores cartas disponibles. En primer lugar, si el juego decide que no puede construir un mazo del metajuego efectivo con vuestra colección, pasa a generar el mejor mazo posible con las cartas disponibles. La idea fundamental del algoritmo de relleno es crear un mazo equilibrado con buenas cartas y una buena curva de maná. Ahora hablemos de cómo decidimos si una carta es buena para vuestro mazo.

Sin entrar en consideraciones de sinergias específicas y potencial de combos, cada carta tiene un «nivel de poder» individual para cada clase cuando se usa en un mazo. Este número no es constante y cambia de forma dinámica según las condiciones actuales del mazo. Sin embargo, por lo general, para determinar el nivel de poder de una carta, influyen tres factores:

  • Efecto en el juego: cuánto contribuye una carta al índice de victorias de un mazo.
    • Por ejemplo, para el mago, Elemental de agua tiene una contribución a la probabilidad de victoria mayor que Corsario aterrador.
  • Grupo de coste de maná: una colección de cartas con el mismo coste de maná.
    • Si nuestro objetivo es encontrar una carta para rellenar un hueco en el grupo de 1 o 2 puntos de maná, Escudera Argenta podría ser una buena opción, pero, obviamente, no para el grupo de 5 puntos de maná.
  • No rellenar en exceso un grupo de maná.
    • Si ya hay 10 cartas en un grupo de coste de maná concreto, somos reacios a añadir más cartas de ese intervalo de coste, a menos que sean bastante mejores que las alternativas.

Durante el proceso de relleno, elegimos de forma dinámica una carta con el mejor nivel de poder para incluirla en el mazo. En términos matemáticos, el nivel de poder de la carta es una función compuesta por términos transformados a partir de la contribución al índice de victorias más varios términos de penalización. Nuestra meta con cada búsqueda es encontrar la carta que maximice nuestra función objetiva de entre todas las soluciones posibles.

HS_Blog_Divider_Filigree_Bar.png

Otras cuestiones: reglas y restricciones

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_3Steps_600x260_JY_v01.png

Aparte de matemáticas avanzadas y métodos de aprendizaje automático, también hemos implementado muchas reglas de garantía de calidad en estas dos capas de creación de mazos para asegurarnos de que vuestro mazo tenga sentido. Por ejemplo, si ya tenéis a Príncipe Keleseth en el mazo sin acabar, intentaremos evitar por todos los medios cualquier carta que cueste 2 puntos de maná.

Si no metéis ninguna carta en el mazo y nos pedís que os recomendemos mazos de forma repetida en poco tiempo, trataremos de ofreceros mazos diferentes cada vez que hagáis clic en el botón. Esta función no se activará a menos que el mazo inicial esté vacío.

En cuanto a las restricciones, la función de asistente de creación de mazos solo estará habilitada al crear mazos estándar, pero estamos estudiando la posibilidad de añadir compatibilidad con el formato salvaje. Además, la función de recomendación de carta única que se ve al intentar crear un mazo con cartas que no estén en vuestra colección no utiliza actualmente el sistema de asistente de creación de mazos.

HS_Blog_Divider_Gems.png

Compartid los mejores mazos que hayáis creado con el asistente de creación de mazos y dejadnos vuestras preguntas en los comentarios. ¡Nos vemos en la taberna!