Un * pathfinding per ostacoli dinamici e blocchi fatti dal giocatore?


11

Ciao, sto creando un TD in Unity 5 e ho bisogno di aiuto con il mio Pathfinding.

Ho intenzione di utilizzare Arons A * pathfinding per la mia intelligenza artificiale che mi permette di usare gli oggetti dinamici e aggiornare il percorso in fase di esecuzione. Tuttavia, nel mio gioco voglio che il giocatore sia in grado di bloccare i minion con torrette speciali che costringeranno i minion ad attaccare la "torre di blocco" invece di passare a destinazione.

Come potrei realizzare qualcosa del genere?

Immagine per maggiore chiarezza: inserisci qui la descrizione dell'immagine

Risposte:


22

Non ho esaminato l'implementazione specifica di A * da parte di Aaron ma con un A * normale potresti includere la "torre di blocco" come terreno percorribile ma aggiornare l'euristica in modo che il "costo" sia molto più alto di una tessera normale (in modo che L'intelligenza artificiale valuterà se è più facile distruggere il blocco e continuare o semplicemente spostarsi attraverso il percorso che non è bloccato).

Quindi dovresti aggiornare la tua IA in modo che quando un nemico tenta di spostarsi da una tessera normale a una "tessera torre di blocco" attacca automaticamente fino alla distruzione.


8
+1 Aggiungerei che potresti voler calcolare il costo della torre bloccante in base al tempo impiegato per distruggere il numero X e il tipo di servitori, se c'è qualche differenza. Un costo prestabilito per la torre potrebbe non essere preciso se i minion di livello più basso impiegano 5 secondi per distruggerlo, ma un super-minion può farlo in 1 secondo.
Fuzzy Logic,

0

Se quello che stai cercando è una specie di torre di scherno, puoi aggiungere un collettore al suo set così come è il grilletto e quando i servi entrano nel grilletto vengono semplicemente programmati per attaccare la torre.

Se vuoi che i servi attaccino le torri solo quando non ci sono percorsi alternativi, quando il percorso è bloccato e A * viene chiamato per calcolare un altro percorso se restituisce null, puoi scriptare i nemici per trovare tutte le torri provocatorie e colpiscili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.