AI orientato all'azione: l'algoritmo di evasione richiede molto tempo


9

L'evasione, il processo di evasione, è l'opposto dell'inseguimento. Invece di cercare di ridurre la distanza dall'obiettivo, cerchiamo di massimizzarla.

Ci vuole molto tempo mentre si evita più oggetti contemporaneamente. Uso BFS qui. Per rendere più veloce quali algoritmi dovrei usare?


2
Penso che intendi "evasione"
BigStuuu il

@BigStuuu, Sì, "evasione"
Md Mahbubur Rahman

Risposte:


12

Ti suggerisco di usare i comportamenti di guida per simulare questi tipi di comportamento. Vedi questa pagina per un esempio di comportamento evasivo implementato in questo modo.

L'idea di base è di considerare solo proprietà semplici come i vettori di posizione e velocità della tua preda e dei predatori per calcolare il cambiamento desiderato in queste proprietà in tempo lineare. Ciò si traduce in un comportamento reattivo ma realistico.

Tuttavia, ciò comporta il costo di non prendere in considerazione altri fattori, come obiettivi di più alto livello (ad esempio la posizione dei power-up) o la posizione di ostacoli statici, come si farebbe con l'individuazione del percorso. Questi possono essere presi in considerazione combinando l'approccio Comportamento dello sterzo con, ad esempio, i campi potenziali (vedere Utilizzo dei campi potenziali in uno scenario di gioco di strategia in tempo reale (Tutorial) ) o l'individuazione del percorso (ad esempio Metodo della mappa del corridoio ). Nel caso di quest'ultimo, si desidera ridurre la frequenza di aggiornamento (e fidarsi dei comportamenti dello sterzo per compensare eventuali errori che potrebbero verificarsi a causa di ciò) o eseguire una ripianificazione parziale, possibilmente combinata con un approccio più gerarchico (ad esempio Pathfinding gerarchico quasi ottimale) (HPA *) .

Se desideri una risposta più specifica, migliora la tua domanda con maggiori dettagli sul tuo problema. Ad esempio, considera di descrivere di cosa tratta il tuo gioco e il numero di NPC di cui stiamo parlando.


Puoi anche gestire la progressione dell'obiettivo in competizione con la logica fuzzy. Quindi, se la preda sta fuggendo dal predatore, può anche spostarsi verso una grotta (o potenziarsi o altro). Ciò può produrre situazioni interessanti in cui il predatore si trova tra la caverna e la preda e la preda esita a fuggire fuori e fuori mentre il predatore insegue una preda diversa, si sposta in un ampio ancoraggio attorno al predatore per raggiungere la caverna. Tutto con un costo aggiuntivo limitato. (sottoterra per qualcosa di mobile, come un medico su un campo di battaglia, per capire perché i campi potenziali non sono una buona soluzione qui.)
DampeS8N
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.