Comentarios del desarrollador: Clasificación y asignación de partidas en el JcJ de Mercenarios de Hearthstone
¡Hola! Soy Tian, científico de datos jefe en el equipo de Hearthstone. En esta publicación voy a daros información sobre las clasificaciones y la asignación de partidas en el foso de combate JcJ de nuestro nuevo modo de juego, Mercenarios.
¡El sistema de clasificación y de asignación de partidas de Mercenarios son los más complicados que hemos usado en un modo de juego! En esencia, teníamos dos ideas claras:
- Para la clasificación, nuestro objetivo principal era que este valor reflejase lo mejor posible la habilidad del jugador en el tiempo en lugar de que hacerlo en base al nivel de los mercenarios, el nivel de las facultades y del equipo o la composición del grupo.
- En cuanto a la asignación de partidas, el objetivo principal era conseguir partidas «justas» en un tiempo de cola razonable, teniendo en cuenta la clasificación, el nivel de los mercenarios, el nivel de las facultades y del equipo, y los roles de los miembros del grupo.
Hay varios factores que influyen en la forma en la que actualizamos vuestra clasificación al acabar la partida y en cómo encontráis a un oponente durante la fase de asignación: vuestra clasificación, el nivel de vuestros mercenarios, el nivel de las facultades y del equipo de los mercenarios, la configuración de los roles en vuestro grupo y el tiempo que lleváis esperando en cola. Vamos a hablar de cada uno de estos apartados.
Clasificaciones
Al igual que con Campos de batalla y Duelos, hay dos tipos de clasificaciones en este sistema: la clasificación interna y la clasificación externa.
La clasificación interna es un valor que representa el nivel de habilidad que creemos que tenéis y no se restablece al comienzo de cada temporada. Se establece tras completar una serie de partidas de posicionamiento iniciales y se va ajustando poco a poco a medida que vais jugando (o si lleváis mucho tiempo sin jugar en el foso de combate). Se trata de un valor invisible para vosotros.
La clasificación externa es el número visible y se restablece al comienzo de cada temporada para establecer objetivos palpables y progresión a cada temporada. Cuantas más partidas juguéis en una temporada, más se acercará al que nosotros creemos que es vuestro nivel de habilidad.
La jerarquía usa vuestra clasificación externa, mientras que la asignación de partidas usa la interna. La discrepancia entre la clasificación interna y la de vuestro oponente es un factor importante a la hora de predecir vuestras probabilidades de llevaros la victoria antes de cada partida (analizaremos otros factores más adelante). La probabilidad de victoria se compara después con el resultado real para calcular los cambios en la clasificación.
Si queréis conocer mejor el sistema de doble clasificación, consultad mi publicación anterior de Campos de batalla (https://playhearthstone.com/es-es/news/23523064).
Niveles de los mercenarios
Los niveles de cada uno de los mercenarios de vuestro grupo juegan un papel importante tanto en la actualización de la clasificación tras una partida como en la asignación de partidas. Por ejemplo, el sistema da preferencia a que os enfrentéis a alguien con el mismo nivel de mercenarios que vosotros (sobre todo si vuestra clasificación y otros factores coinciden). Si se os empareja contra un oponente que posea un grupo de mayor nivel, es posible que se reduzca vuestra probabilidad de victoria. Eso, a su vez, implica que se os otorgará una mayor cantidad de puntos de clasificación tras la partida en caso de que os llevéis la victoria o bien que perdáis menos puntos en caso de derrota.
Lógicamente, los jugadores no siempre dispondrán de grupos perfectamente equilibrados. Hemos ideado una fórmula para evaluar con qué frecuencia se da esa situación. En términos matemáticos, la fórmula tiene en cuenta el nivel máximo, el nivel promedio, la variación y la asimetría de los mercenarios de vuestro grupo para generar un valor aproximado de lo poderoso que es ese grupo de mercenarios concreto. A esto lo llamamos «puntuación de nivel».
Tras cada partida se tiene en cuenta vuestra puntuación de nivel, la clasificación interna relativa y otros factores explicados en este artículo para obtener un «valor de compensación de clasificación», que dicta cuántos puntos de clasificación se han ganado o perdido en dicha partida.
Niveles de las facultades
También se tienen en cuenta los niveles de las facultades de los mercenarios tanto en la asignación de partidas como en el sistema de clasificación. Al igual que con la puntuación de nivel del grupo, se calcula una «puntuación de facultades», que representa lo poderosas que son las facultades de vuestros mercenarios. Después, la puntuación de facultades se transforma mediante una función no lineal para predecir mejor vuestra probabilidad de victoria contra el oponente y para calcular las actualizaciones de clasificación pospartida.
Es importante apuntar que vuestra puntuación de facultades se tiene mucho menos en cuenta si vuestros mercenarios y los de vuestro oponente ya están en el nivel máximo (nivel 30 el día del lanzamiento). Si se da esa circunstancia, el resto de factores como la clasificación interna relativa se tienen mucho más en cuenta.
Niveles del equipo de los mercenarios
Los algoritmos para calcular las puntuaciones y la probabilidad de victoria con respecto a las piezas de equipo son muy parecidos a los que se aplican a los ya mencionados niveles de las facultades, aunque se rigen por parámetros distintos. Una diferencia importante es que no es necesario que los mercenarios lleven equipo. Si no llevan ninguna pieza, se considerará que su equipo es de «nivel 0».
Roles de los mercenarios
Como ya sabéis, hay tres tipos de roles en Mercenarios: luchador, taumaturgo y protector. Cada rol inflige el doble de daño a uno de los demás y también recibe el doble de daño de otro.
La elección de los roles de los mercenarios no tiene ningún efecto en la actualización de la clasificación pospartida, pero sí que se tiene en cuenta durante la fase de asignación de partidas. El efecto es mucho menos significativo que el nivel de los miembros del grupo o de sus facultades y equipo, pero consideramos que los roles reducen la frecuencia de partidas «extremas» que desembocan en experiencias de juego poco gratificantes como, por ejemplo, casos en los que se enfrenten seis luchadores contra seis taumaturgos o seis protectores contra un equipo idéntico. Para conseguirlo, hemos recurrido a una idea parecida al concepto matemático de «entropía de la información», que implica que cuanto mayor sea la entropía, más variedad habrá en la composición de los roles de los mercenarios. A continuación multiplicamos la puntuación entrópica por una función característica para garantizar que solo se vean afectados los casos de partidas extremas. Nuestro objetivo es hallar el equilibrio ideal en el que los jugadores puedan jugar con los mercenarios que prefieran sin desincentivar que usen el sistema de roles de este modo.
Tiempo en cola y oponente de la IA
El tiempo que se pasa en la cola es un factor importante en cualquier sistema de asignación de partidas. Aunque para disfrutar del juego la calidad de la partida es importante, esperar mucho tiempo en cola suele generar experiencias de juego negativas. Como hay tantas variables a ponderar en el sistema de asignación de partidas de Mercenarios, queríamos evitar situaciones en las que la asignación de la partida requiriese un tiempo de espera excesivamente prolongado para encontrar un oponente adecuado.
En la versión actual de Mercenarios, si el tiempo en cola supera el minuto o el minuto y medio, y las clasificaciones interna y externa están por debajo de determinado umbral (el umbral de clasificación externa es 7000), se os asignará a un oponente de la IA. Dicho umbral implica que los jugadores ocasionales siempre dispondrán de un tiempo de espera en cola rápido, mientras que los jugadores más comprometidos podrán competir entre sí por los mejores puestos en la clasificación.
En estos momentos solo disponemos de un nivel de dificultad de la IA, así que ajustamos la dificultad del oponente de la IA modificando el nivel de los miembros de su grupo para que esté en consonancia con vuestra clasificación interna. Si disponéis de un grupo con una amplia gama de niveles y se os asigna un oponente de la IA, el grupo de la IA dispondrá de unos niveles idénticos al de vuestro grupo (en lugar de sacar una media de los niveles) y, después, se ajustará el nivel del grupo de la IA en función de vuestra clasificación. La actualización de la clasificación pospartida también se verá afectada si os habéis enfrentado a la IA.
Notas adicionales
No queremos tener en cuenta los mercenarios, facultades o equipo exactos que llevaréis al foso de combate de cara a la actualización de la clasificación o a la asignación de partidas. Dos mercenarios del mismo nivel, del mismo rol y del mismo nivel de equipo y facultades, reciben exactamente el mismo trato. No existe un cálculo para averiguar si Tyrande o Rexxar son más poderosos «por naturaleza» o para descubrir quién está más presente en el metajuego. Hemos preferido dejar que sea la comunidad quien resuelva ese tipo de cuestiones.
Por último, aunque no menos importante, me gustaría añadir que existen muchos hiperparámetros que controlan el sistema de clasificación y de asignación de partidas, y que los obtuvimos casi todos mediante simulaciones en masa de enfrentamientos IA contra IA. Seguiremos de cerca el sistema de clasificación y de asignación de partidas tras el lanzamiento y actualizaremos los algoritmos o valores de las variables si los datos en vivo así lo justifican. Estamos pendientes de vuestros comentarios en todo momento, así que os pedimos que compartáis con nosotros vuestras impresiones sobre la clasificación y la asignación de partidas.
Esperamos que disfrutéis reuniendo a vuestro grupo, luchando en el foso de combate y subiendo puestos en la jerarquía. ¡Nos vemos en la taberna!