Un Modelo de Ataque y Defensa en Juegos de Estrategia

Publicadas por Jose Carlos Tamayo

Al desarrollar Xeno, necesitaba alguna forma de calcular las batallas. Tome lo mejor de otros juegos de estrategia y RPGS como Warcraft o Ikariam, y juegos de cartas como Magic the Gathering y pues, salio algo interesante. Por supuesto es la base de mi modelo, puede cambiar o aumentarle mas cosas pero pienso que lo simple es mejor. Mientras mas simple, mas jugadores lo entienden, menos jugadores se frustan, y es mas parejo para todos. Pero eso si, cualquier modelo que eligas, tiene que darte la posibilidad de eleccion. Piensen en el YanKenPo: Piedra > Tijera > Papel > Piedra.

Vamos por las cosas iniciales:

EL Ejercito: Cada cuadrado con la imagen de alguna unidad, son en realidad muchas unidades de este tipo, son un ejercito

Por ejemplo este cuadrado contiene 50 unidades de ese tipo.

Los Stats:
Hay 5 Stats que influyen directamente en la batalla:
  • Ataque: Es el daño que causa la unidad al atacar.
  • Overkill: Es el daño que causa la unidad al defender.
  • Defensa o Armadura: Son los puntos que restas del daño que recibes.
  • Vida: Son los puntos de vida que tiene cada unidad.
  • Unidades: El numero de unidades que tiene tu ejercito.

Secuencia de Batalla: Simularemos un simple ataque de una unidad a otra unidad. Lo primero que hacemos es:

1) Calculamos el daño que hace la unidad atacante: Esto es igual al numero de unidades que existe en el atacante multiplicado por lo que sale del ataque menos la defensa de la unidad defensora:
daño_atacante = unidades_atacante * ( ataque_atacante - defensa_defensor )

2)Calculamos el daño que hace la unidad defensora: Al defenderse la unidad, causa daño al atacante. Estuve pensando como hacer para que la unidad con el ataque mas alto no sea la unidad Dios del juego, es por eso que dividi el ataque entre daño de ataque y dao de overkill.

daño_defensor = unidad-defensora * ( overkill_defensor - defensa_atacante)

3) Calculo de unidades muertas en los dos bandos: Ya obtenidos el daño del atacante y del defensor simplemente se divide el daño_atacante entre los puntos de vida del defensor. Idem proceso para calcular los muertos en el defensor.

muertos_defensor = daño_atacante / vida_defensor
muertos_atacante = daño_defensor / vida_atacante

Eso es el resultado de una batalla, ahora se podria mejorar de muchas formas como calcular el daño de defensa despues de reducir las unidades,algo asi como un first strike en Heroes4.

Asi funciona el calculo basico en Xeno. Saludos y espero les sea util

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me