La primera experiencia o cómo tratar de convertirse en una leyenda del código y la magia.

Hola a todos Me llamo Valentine

El 10 de julio, leí la publicación de Oli Ollisteka en Habré sobre la plataforma codingame.com y decidí probar suerte en tareas lógicas, así como en el concurso Leyendas de Código y Magia.

En vista de la gran cantidad de tiempo libre, me interesé en los acertijos y las tareas que están presentes en este recurso. Lo bueno es que cada tarea, cada rompecabezas te hace buscar una solución, aunque a veces no es obvio.

imagen

A continuación encontrará una breve información sobre las reglas de la competencia, así como algunas cosas obvias o no para principiantes.

Leyendas de Código y Magia


El concurso, que se desarrolla del 25 de julio al 24 de agosto. El juego es en cierto modo similar a Hearthstone, sin embargo, algunas de las cosas se han mejorado para lograr el equilibrio entre los jugadores.

El juego tiene lugar entre dos jugadores, y este es un juego por turnos. Cada jugador tiene su propio mazo de cartas, seleccionado de las opciones disponibles durante la fase de Draft antes de la fase de Batalla.

Fase de borrador


Durante la fase de Draft, cada jugador forma su propio mazo de 30 cartas. En consecuencia, los primeros 30 movimientos, cada movimiento ofrece al jugador una opción de 3 cartas, una de las cuales puede elegir.

Al momento de escribir, hay 4 tipos de mapas en el juego:

  1. Las criaturas son esencialmente monstruos. Son el principal recurso del jugador, lo que le permite defender y atacar al enemigo.
  2. Artículos verdes Utilizado en criaturas aliadas. Aumentar el valor de ataque / defensa. Añade habilidades a la criatura.
  3. Artículos rojos Utilizado en criaturas enemigas. Reduce el ataque / defensa. Quitar habilidades. Puede matar instantáneamente a una criatura enemiga (-99 defensa)
  4. Artículos azules Estas cartas se usan solo en el oponente. A menudo toman vidas y al enemigo, a veces reponen la salud de su dueño.

También en el juego hay 6 tipos de habilidades para criaturas:

  1. Avance Si una criatura con esta habilidad hace más daño que la salud de la criatura del oponente, el daño restante irá al oponente. (Habilidad útil, pero como lo ha demostrado la práctica, pocas personas usan estas tarjetas para su propósito previsto)
  2. Carga Te permite atacar en el mismo turno que se activó.

    (Indispensable en una estrategia de batalla rápida, sin embargo, casi todas las cartas con la capacidad de Carga tienen un valor de ataque / defensa bajo y si la batalla se prolonga, la probabilidad de perder aumenta)
  3. Desagüe El ataque a las criaturas enemigas / enemigo restaura la salud comparable al ataque. (Habilidad Uber. El número requerido de cartas te permite aumentar la salud a 50-70 puntos (de los 30 iniciales), pero la mayoría de las cartas con esta habilidad también tienen valores bajos de ataque / defensa)
  4. Guardia La habilidad protege contra ataques directos al jugador. Primero necesitas destruir criaturas con esta habilidad. (En mi opinión, la carta tiene la habilidad más útil. Sin embargo, vale la pena considerar el hecho de que algunas cartas con esta habilidad tienen cero ataque)
  5. Letal Destruye una criatura que ataca. (Como regla general, las cartas con un volante tienen una única defensa, lo que significa que pueden eliminar un máximo de una carta)
  6. Ward. Esencialmente: protección contra el primer daño. Después del primer ataque, esencialmente la defensa desaparece y la carta se vuelve ordinaria. (Esta habilidad contraataca, vuela, atraviesa y drena. Pero la carta no protege al dueño del daño, por lo que no vi gran parte de la carta con la sala en las estrategias de otros jugadores).

Después de elegir cartas en su mazo, la fase de Draft termina. Comienza la fase de batalla

Fase de batalla


En esta fase, el objetivo principal es derrotar al oponente, reducir la cantidad de su salud a 0.
En este caso, el jugador tiene un parámetro como Mana. Durante el primer turno en la fase de Batalla, el valor de maná es 1. A continuación, en cada turno, el indicador aumenta en 1 hasta alcanzar el valor máximo de 12. Los puntos de maná se gastan en invocar criaturas, así como en usar objetos.

imagen

Al comienzo de cada movimiento, el jugador tiene información sobre sus cartas en sus manos y en la mesa, así como las cartas en la mesa del oponente. En base a estos datos, el bot (programa) debe hacer una línea de comando.

Cada movimiento del mazo recolectado obtiene una carta aleatoria. Si la salud cae a 25, 20, 15, 10 o 5 puntos, se llamarán más cartas en el próximo turno.

imagen
En el siguiente movimiento, el oponente roba 3 cartas del mazo.

Como regla general, si los oponentes son aproximadamente iguales en fuerza, el juego termina aproximadamente 200 movimientos, sin embargo, también tuve un juego con 240-250 movimientos. El límite inferior es aproximadamente 80-85, siempre que los jugadores no hayan eliminado los errores con el uso incorrecto de los equipos.

Posibles estrategias útiles


La principal diferencia entre este concurso y el Código de Kutulu anterior es que es un juego de cartas y tiene un elemento de suerte y suerte.

Durante el concurso, se probaron varias estrategias:

  1. Un conjunto de criaturas con una carga, un vuelo y un avance para una victoria rápida.
  2. Un conjunto de criaturas con Guardia para máxima seguridad + cartas con una carga y drenaje.
  3. Conjunto de criaturas con Guard + cartas verdes y rojas.
  4. Un conjunto de criaturas con máximo ataque / defensa, la presencia de indicadores + para la salud del jugador o - para la salud del oponente y solo entonces dependiendo de sus habilidades.

Convencionalmente, las estrategias se pueden dividir en 2 categorías.

Victoria rápida: las criaturas atacan solo al enemigo y protegen a las criaturas, si las hay.
Victoria completa: las criaturas del enemigo son destruidas, y si no hay criaturas, entonces el enemigo mismo.

Ahora brevemente sobre cada estrategia:

Conjunto de criaturas con carga, letal y avance para una victoria rápida


La estrategia mostró su fracaso debido a un elemento de azar. Puedes robar muchas cartas que cuestan 1-2 maná, pero no habrá ninguna en las cartas iniciales. Esta estrategia debe usarse solo para una victoria rápida y si el enemigo no llamó a una sola criatura con Guardia. Durante el concurso, conocí esta estrategia con otros jugadores, incluso desde la cima, pero como regla general, si el juego excedía los 100-120 movimientos, perdían rápidamente.

Conjunto de criaturas con Guardia para máxima seguridad + cartas con carga y drenaje


Una de las mejores estrategias para un juego rápido. Los defensores de las cartas llamaron. Y si no hay ninguno, entonces Charge and Drain. Esta estrategia te permite destruir efectivamente a las criaturas defensoras enemigas y al mismo tiempo permanecer protegido. En el caso de una transición a un juego largo, la estrategia no pierde su fuerza, ya que hay criaturas con Guardia y con altos indicadores de ataque / defensa.

Conjunto de criaturas con Guard + cartas verdes y rojas.


La estrategia es peor que la anterior, ya que las cartas de elementos son más de un personaje auxiliar que uno básico. Por lo tanto, se decidió cambiar la prioridad a las criaturas.

Un conjunto de criaturas con máximo ataque / defensa.


Al diseñar esta estrategia, fue guiado por el trabajo de los jefes bot, así como por varios jugadores. La estrategia es adecuada solo para un juego prolongado, ya que, como regla en los movimientos iniciales, no hay suficiente maná para invocar.

Contras Así como soluciones alternativas


Al compilar un bot para la última estrategia, se descubrió que si el comando de llamada apunta a una carta que no se puede invocar por falta de maná, o un ataque a una carta que no puede ser atacada, este comando se marca como Acción no es legal. Por un lado, esta es una característica maravillosa del concurso, pocos de los participantes tomaron en cuenta la salud de las criaturas durante un ataque o el impacto de los elementos de la tarjeta, por lo que si todas las criaturas atacaron una tarjeta que ya estaba destruida, todos los equipos cambiaron automáticamente a no legal.

Sin embargo, se hizo posible formar una gran cantidad de equipos a la vez.

imagen

En teoría, puedes escribir equipos para atacar con una carta para cada una de las criaturas del enemigo, y luego para el enemigo mismo. Escribe todas las combinaciones posibles de SUMMON y ATTACK.

Lo que se hará se ejecutará, y el resto irá a la Acción no es legal.

Resultados


Al momento de escribir, mi bot está en el lugar 120 de la liga de bronce.

Y a 950 lugar en la cima general. Sin embargo, al final del concurso, salí del top 1000.
Resultado modesto. Esto se debe en parte a la primera experiencia de participar en el concurso. Las clasificaciones de los jugadores se calculan en función del algoritmo True Skill. De acuerdo con este algoritmo, al comienzo, se llevan a cabo 10-20 peleas con los mejores de esta liga, en función de los resultados, se determina el lugar de inicio en la tabla y luego se llevan a cabo peleas con una calificación de ± 10, cada victoria aumenta la calificación, cada derrota baja. Entonces se llevan a cabo más de 100 peleas y se determina el lugar en la tabla. Y luego, el bot continúa luchando con jugadores que envían su programa para su procesamiento. Por lo tanto, puede aumentar su calificación simplemente estando en la tabla. Una y otra vez envié el algoritmo al procesamiento con la esperanza de estar inmediatamente en la cima.

Queda por esperar y prepararse para el próximo concurso en codingame.com . Además, estoy esperando que el juego entre en el modo multijugador, lo que mejorará mi código.

Source: https://habr.com/ru/post/es422297/


All Articles