¿Una * búsqueda de obstáculos dinámicos y bloqueos hechos por el jugador?


11

Hola, estoy creando un TD en Unity 5 y necesito ayuda con mi Pathfinding.

Voy a usar la búsqueda de rutas Arons A * para mi IA, que me permite usar objetos dinámicos y actualizar la ruta durante el tiempo de ejecución. Sin embargo, en mi juego quiero que el jugador pueda bloquear a los súbditos con torretas especiales que obligarán a los súbditos a atacar la "torre de bloques" en lugar de pasar a su destino.

¿Cómo podría lograr algo como esto?

Imagen para más claridad: ingrese la descripción de la imagen aquí

Respuestas:


22

No he analizado la implementación específica de A * por Aaron, pero con un A * normal, podría incluir la 'torre de bloques' como terreno transitable, pero actualizar la heurística para que el 'costo' sea mucho mayor que un mosaico normal (para que AI evaluará si es más fácil destruir el bloqueo y continuar o simplemente recorrer el camino que no está bloqueado).

Luego, deberías actualizar tu IA para que cuando un enemigo intente pasar de una casilla normal a una 'casilla de bloque de torre', ataque automáticamente hasta que sea destruido.


8
+1 Agregaría que es posible que desee calcular el costo de la torre de bloqueo dependiendo de cuánto tiempo tomaría el número X y el tipo de secuaces para destruirla, si hay alguna diferencia. Un costo preestablecido para la torre podría ser inexacto si los minions de nivel más bajo tardan 5 segundos en destruirlo, pero un súper minion puede hacerlo en 1 segundo.
Fuzzy Logic

0

Si lo que estás buscando es una especie de torre de burlas, puedes agregarle un colisionador como activador y cuando los secuaces entran en el activador, solo tienen una secuencia de comandos para atacar la torre.

Si quieres que los minions ataquen las torres solo cuando no hay caminos alternativos, entonces cuando el camino está bloqueado y se llama a A * para calcular otro camino si vuelve nulo, entonces puedes guiar a los enemigos para encontrar todas las torres burlonas y apuntar a ellos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.