Pola untuk perilaku balap AI


9

Jadi katakanlah Anda memiliki AI balap spline-based. Anggap saja sudah dapat menangani dasar-dasar pengereman dan kemudi di sekitar trek.

Bagaimana Anda menyusun dan menerapkan penghindaran tabrakan, menyalip, menyusun, memblokir, dan perilaku lainnya sehingga mobil Anda tetap kompetitif tetapi membuat balapan yang menarik?

Tautan ke makalah / implementasi akan luar biasa.


jenis mesin apa yang Anda gunakan,
Harshal Benake

Jawaban:


7

Pernahkah Anda melihat Steering Behaviors For Autonomous Characters ? Saya akan mempertimbangkan algoritma "CrowdPathFollowing" untuk tetap di jalur dan menghindari tabrakan. Anda mungkin dapat mencampur dalam perilaku "Alur Mengikuti Bidang" untuk menyusun, meneruskan, dan memblokir - buat bidang aliran mengikuti lintasan pemain yang lalu dan yang diproyeksikan, tetapi bagilah di sekitar lokasi saat ini.

      /-------------\
 ----<  [playerCar]  >-----
      \-------------/

Itu harus menyebabkan AI cenderung mengikuti langsung di belakangnya dan bergerak langsung di depan untuk memblokir, namun mendorong melewati yang bersih.


1
Saya mengetahui boids, tapi ini referensi yang bagus. Saya agak takut pada banyak perilaku (tetap di jalur balap, menghindari mobil, blok, konsep, dll.) Berinteraksi dengan cara yang terlalu rumit untuk disempurnakan, dan berakhir dengan tabrakan tepi kasus sesekali. Ini bagus untuk pejalan kaki, tetapi merupakan bencana besar bagi mobil balap yang harus terus bergerak.
tenpn

Saya telah bekerja dengan OpenSteer API yang mengimplementasikan banyak hal ini. Saya merasa cukup mudah untuk menyetel. Dalam kasus Anda, saya akan membuat berat "SteerToAvoidCollision" sangat tinggi. Saya tidak tahu kendaraan apa yang Anda gunakan untuk balapan, tetapi saya pikir jika Anda melakukannya dengan benar untuk sebagian besar kasus, maka benjolan atau bash yang tersisa karena case edge mungkin cukup realistis ....
AShelly

Apakah itu kendaraan kemudi atau yang lainnya? Saya takut situasi yang menyebabkan masalah seperti dua kendaraan di depan ke kiri dan satu di depan ke kanan. Vektor rata-rata akan menghasilkan gerakan yang benar, meskipun itu mungkin akan membuat Anda bersentuhan dengan kendaraan kanan.
tenpn

Saya sebagian besar bekerja dengan pejalan kaki, jadi saya tidak bisa bersumpah itu akan berhasil. Satu hal yang perlu diingat adalah itu tidak harus menjadi campuran perilaku - itu bisa menjadi warisan. Jadi Anda dapat menghindari tabrakan mengambil prioritas yang lebih tinggi untuk hal lain. Jika Anda menggambarkan mobil hanya akan berjalan dengan benar sampai jalur yang diprediksi memotong jalur mobil sebelah kanan, di mana menghindari tabrakan itu menjadi kekuatan utama. Anda juga dapat menambahkan kondisi khusus: misalnya, jika tidak ada jalur aman ditemukan di N frame, tambahkan pengereman keras.
AShelly


1

Anti-Pattern: Lawan mengadaptasi kecepatan mereka

Sayangnya saya tidak dapat memberikan pola Anda, tetapi saya ingin memberi nama anti pola. Tolong jangan mencoba untuk menyesuaikan kecepatan driver AI ke salah satu pemain manusia. Gagasan di balik ini adalah untuk menciptakan kondisi balap yang adil untuk amatir serta pro dan untuk mengabaikan kebutuhan berbagai tingkat kesulitan (dan implementasinya).

Namun, apa yang terdengar bagus di atas kertas ternyata buruk dalam praktiknya dan seri MotoGP gagal menerapkan perilaku ini. Itu berakhir di lawan mengemudi pada 5mp / jam ketika Anda berdiri diam selama beberapa detik dan ketidakmungkinan untuk mengetahui apakah Anda telah meningkatkan dalam permainan (umpan balik yang sangat buruk)


Terima kasih. Saya berbicara secara khusus tentang perilaku balapan yang menarik di sini daripada menyeimbangkan atau tingkat kesulitan, tetapi saya akan mengingatnya.
Tenpn

5
Hampir semua gim balap mencakup beberapa bentuk karet gelang untuk menjaga pemain tetap beraksi, atau menjaga AI tetap dekat dengan pemain bagus. Triknya adalah bersikap halus dengan itu dan tahu kapan harus mematikannya. Begitu pemain melihat mereka merasa ditipu.
wkerslake

Situasi MotoGP kedengarannya seperti masalah mengambilnya terlalu jauh, daripada masalah dengan karet-banding pada umumnya. Bukan tidak masuk akal bagi pengemudi di depan untuk mengemudi dengan lebih hati-hati dan mobil di belakang untuk mencoba lebih keras untuk menutup celah, dan saya pikir ada nilai dalam memodelkannya seperti itu dan menyajikannya secara transparan kepada pemain.
Jibb Smart

Ini adalah posting yang menarik tentang topik: gamasutra.com/view/feature/3920/... Pada dasarnya mereka menempatkan Anda dalam 3 kelompok pembalap AI dan memungkinkan Anda maju dari grup ke grup selama perlombaan.
Felsir
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.