Evasion, proses menghindar, adalah kebalikan dari mengejar. Alih-alih mencoba mengurangi jarak ke target, kami mencoba memaksimalkannya.
Dibutuhkan banyak waktu saat menghindari beberapa objek secara bersamaan. Saya menggunakan BFS di sini. Untuk membuatnya lebih cepat, algoritma apa yang harus saya gunakan?
algorithm
ai
game-mechanics
Md Mahbubur Rahman
sumber
sumber
Jawaban:
Saya sarankan Anda menggunakan Perilaku Kemudi untuk mensimulasikan jenis perilaku ini. Lihat halaman ini untuk contoh perilaku menghindar yang diterapkan dengan cara ini.
Ide dasarnya adalah Anda hanya mempertimbangkan properti sederhana seperti vektor posisi dan kecepatan mangsa Anda dan predator untuk menghitung perubahan yang diinginkan dalam properti ini dalam waktu linier. Ini menghasilkan perilaku responsif namun realistis.
Namun, ini harus dibayar dengan tidak mempertimbangkan faktor-faktor lain, seperti lebih banyak tujuan tingkat tinggi (posisi power-up misalnya) atau posisi hambatan statis, seperti yang Anda lakukan dalam merintis jalan. Ini dapat diperhitungkan dengan menggabungkan pendekatan Perilaku Kemudi dengan, misalnya, bidang potensial (lihat Menggunakan Bidang Potensial dalam Skenario Game Strategi (Tutorial) ) atau pencarian jalan (misalnya Metode Peta Koridor ). Dalam kasus yang terakhir Anda ingin mengurangi frekuensi pembaruan (dan percaya Perilaku Pengarah untuk mengkompensasi kesalahan yang mungkin terjadi karena ini) atau melakukan perencanaan ulang parsial, mungkin dikombinasikan dengan pendekatan yang lebih hierarkis (misalnya Pathfinding Hierarchical Near-Optimal) (HPA *) .
Jika Anda menginginkan jawaban yang lebih spesifik, perbaiki pertanyaan Anda dengan lebih detail tentang masalah Anda. Misalnya, pertimbangkan untuk menjelaskan tentang game Anda dan jumlah NPC yang sedang kita bicarakan.
sumber