Calcular el "poder" de un jugador en un juego tipo "Defiende tu castillo"

10

Estoy haciendo un juego tipo "Defiende tu castillo", donde cada jugador tiene un castillo y debe enviar unidades para destruir el castillo del oponente. Se ve así (y sí, este es el juego real, no un dibujo de pintura rápido ...):

ingrese la descripción de la imagen aquí

Ahora, estoy tratando de implementar la IA del oponente, y me gustaría crear 4 niveles diferentes de IA: Fácil, Normal, Difícil y Duro. Nunca antes había hecho una IA "seria" y esta vez me gustaría crear una muy completa.

Mi idea es calcular el puntaje de "poder" de un jugador, basado en la salud actual de su castillo y el puntaje de "poder" individual de sus unidades. Luego, la IA solo intentaría mantener un puntaje cercano al del jugador ( Fácil se mantendría por debajo de él, Normal se mantendría cerca de él y Difícil trataría de superarlo). Pero simplemente no sé cómo calcular el puntaje de poder de un jugador. Hay demasiadas variables para tener en cuenta y no sé cómo usarlas adecuadamente para crear un número significativo (el nivel de potencia).

¿Alguien podría ayudarme con esto?

Estas son las variables que deberían influir en el puntaje de poder de un jugador:

La salud actual del castillo, la salud total de la unidad, el daño, la velocidad y el rango de ataque. Además, el jugador puede aumentar los ingresos (la bolsa de dinero), el daño (el + Daño) y la velocidad (la + velocidad) ... ¿Cómo podría incluirlos en la puntuación?

Estoy realmente atrapado aquí ... ¿O hay alguna otra forma en que podría implementar IA para este tipo de juego?

Gracias por tu precioso tiempo.

Jesse Emond
fuente
Si alguna parte no es lo suficientemente clara o si debo presentar más información sobre cómo manejo una funcionalidad en el juego, simplemente deje un comentario y editaré mi pregunta. Además, ¿debería ser una wiki comunitaria? Personalmente no lo veo como subjetivo o argumentativo, pero puedo estar equivocado.
Jesse Emond

Respuestas:

4

No estoy seguro de lo fácil que sería decir esto, pero tratar de descubrir qué tan importante es cada variable es probablemente el lugar para comenzar (si gana 50 puntos de vida, puede durar 10 segundos más; si gana 5 daños, usted puede destruir 50 de salud 10 segundos más rápido; etc ...). Después de eso, tratar de normalizar las habilidades podría valer la pena (50 de salud es lo mismo que 10 velocidades es lo mismo que 100 ingresos).

Me imagino que una manera fácil de encontrar algo de esto es simplemente ejecutando simulaciones. Mantenga a un jugador en un solo nivel y luego comience a ajustar las variables individuales a su escala.

nimbus57
fuente
3

En primer lugar, no incluiría los beneficios a corto plazo, como los ingresos o las actualizaciones de velocidad, creo que los jugadores esperan que estas cosas les ayuden por un tiempo, no que la IA se adapte de inmediato y se fortalezca también.

Y por lo demás: pruébalo. Comience con una fórmula de poder que le parezca razonable (la respuesta de nimbus57 debería ser un buen punto de partida) y luego desarrolle su fórmula y la IA de forma iterativa.

Por último, pero no menos importante, trata de asegurarte de que el jugador no pueda explotar la fórmula subyacente para obtener una ventaja injusta, etc. Tampoco debería ser demasiado obvio cómo funciona, así que pon un poco de aleatoriedad.

Alexander Gessler
fuente