Actualmente estoy haciendo un juego de defensa donde los enemigos aparecerán y atacarán al ejército del jugador. Es similar a un juego de Tower Defense, excepto que solo hay un nivel. Los enemigos seguirán engendrando hasta que finalmente el usuario muera o acumule un ejército lo suficientemente grande como para eliminar a cualquier enemigo que se genere instantáneamente (con suerte, será lo suficientemente desafiante como para que esto no suceda).
Con lo que estoy luchando en este momento es cómo hacer que este juego se vuelva cada vez más difícil y la probabilidad de que aparezca un enemigo básicamente llegue al 100%.
Hasta ahora tengo algo similar a lo siguiente
if(Math.random() < 1 - (1/elapsed_time) && spawnTimer <= 0 ){
spawnEnemy()
spawnTimer = rand(); // random number between 1 and 3
}
Pero parece demasiado uniforme para empezar. Por el momento solo estoy engendrando un tipo de enemigo, la idea es que los enemigos más duros se generan a medida que pasa el tiempo también.
También creo que necesito aleatorizar un spawnTimer
poco más y hacer que sea más rápido a medida que pasa el tiempo, pero simplemente no puedo entender cómo debería ser mi lógica para toda esta sección. ¿Alguien puede ayudar con una idea aproximada de este tipo de fórmula?
Actualmente estoy usando JavaScript para escribir el juego, pero obviamente se trata más del concepto.