Bagaimana cara kerja pengereman dari game balap mobil?


8

Ada banyak permainan balap mobil PC di sekitar yang memiliki bantuan mengemudi unik yang membantu rem mobil Anda sehingga Anda dapat dengan aman mengubahnya. Sementara di beberapa permainan itu hanya 'membantu', itu hanya akan membantu rem mobil Anda tetapi tidak akan memastikan belokan yang aman. Sementara pada yang lain, bantuan pengereman akan membantu Anda mendapatkan belokan yang aman. Saya bertanya-tanya apa yang bisa menjadi algoritma yang diikuti untuk mencapainya.

Algoritma yang sangat mendasar yang dapat saya pikirkan adalah,

  • Pra-tentukan jarak pengereman mobil yang ideal untuk setiap belokan trek, tergantung pada jari-jari belokan, dan kemudian mulai pengereman mobil yang sesuai. Sebagai contoh, untuk pergantian kurang dari 90 o , mobil akan mulai pengereman otomatis pada jarak 50 m dari awal belokan.

Algoritma yang lebih maju, yang akan memastikan belokan aman, bisa

  1. Pra-tentukan kecepatan mobil pada awal setiap belokan, secara individual untuk setiap lintasan, belokan dan mobil. Juga, tentukan terlebih dahulu laju perlambatan setiap mobil secara terpisah, yang bervariasi karena kinerja mobil.
  2. Bantuan pengereman akan terus merekam kecepatan mobil pada saat tertentu.
  3. Mulai pengereman mobil dengan tepat sehingga mobil mencapai kecepatan yang tepat yang dibutuhkan pada awal belokan.
  4. Sebagai contoh, biarkan kecepatan mobil tertentu pada awal putaran 43m dalam radius, menjadi 120km / jam. Biarkan laju perlambatan mobil menjadi 200 km / jam 2 . Jika, pada waktu tertentu, kecepatan mobil adalah 200 km / jam, maka mobil akan secara otomatis mulai pengereman pada 400m dari awal belokan.

2
Opsi yang lebih canggih akan mempertimbangkan cuaca, permukaan jalan, distribusi berat mobil, karakteristik suspensi dan ban. Saya telah melihat permainan seperti Real Racing 2 di mana opsi peningkatan memodifikasi suspensi dan ban dan beberapa lainnya memungkinkan penyetelan suspensi. Sebuah gim dengan karakteristik dunia yang persisten dapat memperhitungkan akumulasi sampah di jalan dan perubahan keausan dan kekakuan ban saat dipanaskan.
Andy Dent

[sepertinya saya belum bisa berkomentar, jadi saya memposting ini sebagai jawaban] Selain proposal Anda yang kedua saya akan mengubah algoritma ini untuk rem terlalu banyak sehingga kecepatan di awal belokan lebih rendah daripada kecepatan optimal . Tujuannya di sini adalah bahwa pemain harus menemukan bahwa dia dapat mengambil belokan lebih cepat tanpa keluar jalur jika dia tidak menggunakan assist. Saya ingin mendorong pemain untuk menonaktifkan assist yang seharusnya membuatnya lebih bangga pada dirinya sendiri.
Grzegorz Sławecki

Apakah ada algoritma di sini yang secara nyata berbeda dari mengendalikan lawan AI?
kapal tunda

Tidak terasa, tapi ya, berbeda dalam banyak aspek. Anda dapat membuat AI bergerak pada kecepatan dan sudut apa pun dan tetap membuat kesan gerakan dinormalisasi. Dalam hal ini, karakter AI dapat berubah bahkan pada kecepatan 160 km / jam, bahkan jika itu tidak mungkin, tetapi algoritma pertama di sini tidak memungkinkan pemain untuk melakukan itu. Bahkan untuk yang kedua, peran assist adalah untuk mendapatkan mobil ke kecepatan optimal yang diperlukan pada awal belokan. Jika seorang pemain berencana untuk meningkatkan kecepatannya setelah itu, ia tidak akan bisa berbalik.
Ayush Khemka

Jawaban:


4

Pada dasarnya, pengereman membantu pekerjaan membandingkan kecepatan mobil pemain terhadap kecepatan titik terdekat di jalur balap optimal lintasan, dan secara otomatis menerapkan rem sesuai kebutuhan untuk menurunkan kecepatan mobil pemain agar sesuai dengan kecepatan yang ditentukan pada garis balap optimal. Ini persis seperti menulis mobil balap AI, tetapi hanya menerapkan output rem AI, bukan akselerator atau kemudi.

Ini (tentu saja) mengharuskan Anda untuk memiliki data tentang garis balap yang optimal, sehingga Anda dapat mengetahui seberapa banyak pemain harus melambat. Garis balap ini biasanya dihasilkan secara komputasi selama pengembangan, dan dikirimkan bersama permainan sebagai bagian dari data statis, daripada dihitung saat dijalankan. (Saya telah bekerja pada permainan yang secara dinamis menghasilkan garis balap di depan pemain, tetapi ini mahal secara komputasi, dan saya tidak merekomendasikannya kecuali Anda memiliki trek yang berubah dengan cara yang tidak dapat diprediksi)


1

Anda bisa menghitung jalur yang akan digambarkan oleh mobil itu jika berbelok dengan kecepatan saat ini tanpa melayang. Kemudian berikan rem secara proporsional dengan jarak d , yang merupakan jarak yang diukur dari jalur yang dihitung ke kurva.

masukkan deskripsi gambar di sini

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.