Saya seorang pemula mutlak dengan pengembangan game dan semua yang saya tahu tentang penghindaran / resolusi tabrakan, saya mempelajarinya di atau melalui situs ini dalam seminggu terakhir ... jadi jangan ragu untuk memperbaiki saya jika apa yang saya tanyakan di sini adalah berdasarkan asumsi yang salah / kesalahpahaman. Saya mencoba yang terbaik untuk menjadi jelas, tetapi yang mengatakan, subjek masih novel bagi saya.
Kendaraan
Dalam permainan saya, saya memiliki kendaraan yang bergerak secara mandiri. Mereka ditempatkan di ruang 3D, dan gerakan mereka diatur oleh sejumlah variabel yang berbeda untuk setiap kendaraan. Yang menarik di sini adalah:
- Hanya gerak maju .
- Sebuah kecepatan yang dapat bervariasi antara min & max, tapi yang min adalah tidak (bahkan mendekati) nol.
- Sebuah radius kemudi yang tergantung dari kecepatan (kecepatan yang lebih tinggi, jari-jari yang lebih besar)
- Dua akselerasi maksimum (untuk penurunan dan peningkatan kecepatan)
Tujuan
Tujuan saya adalah menerapkan semacam AI yang akan menghindari tabrakan 100% akurat (yaitu saya akan memastikan bahwa kendaraan tidak akan pernah bertabrakan).
Desain
- Meskipun saya lebih suka ide memiliki AI "onboard" (yaitu masing-masing kendaraan yang memiliki "AI penghindaran tabrakan" sendiri, akhirnya meminta dan / atau mengirim pesan ke kendaraan lain) juga memungkinkan bagi saya untuk mengimplementasikan CA AI di tingkat pusat (mengirim perintah ke kendaraan).
- Dalam sebagian besar kasus, kendaraan hanya harus menghindari satu sama lain ke segala arah, tetapi dalam keadaan tertentu, mereka harus menghindari tabrakan dan pergi ke sasaran yang sama
Apa yang saya temukan sejauh ini dan di mana saya terjebak
Di dalam banyak banyak tautan yang saya temukan di pertanyaan lain di situs ini, saya menemukan penggunaannya sebagai berikut:
Walaupun ketiga tautan ini "membuka mata saya" dalam banyak hal, tidak segera jelas bagi saya bagaimana menggunakan informasi itu dalam kasus saya. Dalam artikel # 2 khusus hanya "mencoba" untuk mencegah tabrakan (tetapi tabrakan memang terjadi dari waktu ke waktu). Sementara artikel # 3 perlu menghentikan kendaraan kadang-kadang untuk mencegah tabrakan.
Apa yang juga saya perhatikan, adalah bahwa algoritma penghindaran benturan yang dihubungkan di atas menggunakan "proyeksi instan" kecepatan linear untuk memeriksa apakah ada sesuatu yang menghalangi kendaraan. Saya bertanya-tanya apakah ini cukup dalam kasus saya atau jika saya harus memproyeksikan posisi saya dengan cara yang lebih realistis (misalnya: Jika saya 60 ° ke kemudi 90 ° ke kanan, saya harus menghitung posisi saya untuk sisa 30 ° dari kurva, dan kemudian mengasumsikan gerakan linier).
Akhirnya, saya sangat takut akan kebuntuan . Dengan kata lain: meskipun kepadatan kendaraan di dunia akan cukup rendah, saya khawatir bahwa mengingat sejumlah kendaraan tertentu berkumpul menuju titik yang sama, begitu mereka akan menyadari bahwa mereka berada di jalur tabrakan, setiap manuver mengelak tidak akan mungkin karena akan membawa kendaraan pada jalur tabrakan dengan beberapa yang lain.
Pertanyaan
Bagaimana saya bisa mencapai "tujuan" saya? Penjelasan mendalam tentu saja sangat dihargai, tetapi tautan ke sumber daya eksternal juga akan sangat membantu (saya yakin saya bukan yang pertama dengan masalah ini, tapi mungkin saya menggunakan kata kunci yang salah untuk mencari di web? )
Terima kasih sebelumnya atas bantuan Anda!