Làm thế nào để hỗ trợ phanh của trò chơi đua xe?


8

Có rất nhiều trò chơi đua xe trên PC có hỗ trợ lái xe độc ​​đáo này giúp phanh xe của bạn để bạn có thể xoay nó một cách an toàn. Mặc dù trong một số trò chơi, nó chỉ là một 'trợ giúp', nhưng nó sẽ chỉ giúp phanh xe của bạn nhưng không đảm bảo rẽ an toàn. Trong khi ở những người khác, hỗ trợ phanh sẽ giúp bạn có được một lượt an toàn. Tôi đã tự hỏi về những gì có thể là thuật toán được theo sau để đạt được nó.

Một thuật toán rất cơ bản tôi có thể nghĩ ra là,

  • Xác định trước khoảng cách phanh của một chiếc xe lý tưởng cho mỗi lượt của đường đua, tùy thuộc vào bán kính của vòng quay, và sau đó bắt đầu phanh xe phù hợp. Chẳng hạn, với vòng quay dưới 90 o , xe sẽ tự động phanh ở khoảng cách 50m kể từ khi bắt đầu rẽ.

Một thuật toán tiên tiến hơn, đảm bảo biến an toàn, có thể là

  1. Xác định trước tốc độ của xe khi bắt đầu mỗi lượt, riêng cho từng đường đua, rẽ và xe. Ngoài ra, xác định trước tốc độ giảm tốc của từng chiếc xe, điều này thay đổi do hiệu suất của xe.
  2. Hỗ trợ phanh sẽ tiếp tục ghi lại tốc độ của xe tại một thời điểm nhất định.
  3. Bắt đầu phanh xe một cách thích hợp để xe đạt được tốc độ chính xác cần thiết khi bắt đầu rẽ.
  4. Ví dụ: để tốc độ của một chiếc xe cụ thể khi bắt đầu rẽ trong bán kính 43m, là 120km / h. Đặt tốc độ giảm tốc của xe là 200km / h 2 . Nếu tại một thời điểm nào đó, tốc độ của xe là 200km / h, thì chiếc xe sẽ tự động bắt đầu phanh ở 400m kể từ khi bắt đầu rẽ.

2
Các tùy chọn phức tạp hơn sẽ ảnh hưởng đến thời tiết, mặt đường, phân bổ trọng lượng của xe, đặc điểm của hệ thống treo và lốp xe. Tôi đã thấy các trò chơi như Real Racing 2 trong đó các tùy chọn nâng cấp sửa đổi hệ thống treo và lốp xe và một số game khác cho phép điều chỉnh hệ thống treo. Một trò chơi với các đặc điểm thế giới dai dẳng có thể tính đến sự tích lũy tào lao trên đường và thay đổi độ mòn và độ cứng của lốp xe khi chúng nóng lên.
Andy Dent

[có vẻ như tôi chưa thể bình luận, vì vậy tôi đăng bài này dưới dạng câu trả lời] Ngoài đề xuất thứ hai của bạn, tôi sẽ điều chỉnh thuật toán này để phanh hơi quá nhiều để tốc độ ở đầu lượt thấp hơn tốc độ tối ưu . Ý định ở đây là người chơi nên khám phá ra rằng anh ta có thể quay đầu nhanh hơn mà không bị lạc đường nếu anh ta không sử dụng trợ lý. Tôi muốn khuyến khích người chơi vô hiệu hóa các hỗ trợ giúp anh ta tự hào hơn về bản thân.
Grzegorz Sławecki

Bất kỳ thuật toán nào ở đây sẽ khác biệt đáng kể so với việc kiểm soát đối thủ AI?
kéo

Không đáng chú ý, nhưng có, khác nhau về nhiều mặt. Bạn có thể làm cho AI di chuyển ở bất kỳ tốc độ và góc nào mà vẫn tạo ấn tượng chuyển động bình thường. Trong trường hợp này, một nhân vật AI có thể quay ngay cả ở tốc độ 160km / h, ngay cả khi điều đó là không thể, nhưng thuật toán đầu tiên ở đây sẽ không cho phép người chơi làm điều đó. Ngay cả đối với chiếc thứ hai, vai trò của hỗ trợ là đưa chiếc xe đến tốc độ tối ưu cần thiết khi bắt đầu rẽ. Nếu một người chơi có kế hoạch tăng tốc độ của anh ta sau đó, anh ta sẽ không thể quay đầu.
Ayush Khemka

Câu trả lời:


4

Về cơ bản, hỗ trợ phanh hoạt động so sánh tốc độ xe của người chơi với tốc độ của điểm gần nhất trên đường đua tối ưu của đường đua và tự động áp dụng phanh khi cần để giảm tốc độ xe của người chơi để phù hợp với tốc độ được chỉ định trên đường đua tối ưu. Nó chính xác giống như viết AI xe đua, nhưng chỉ áp dụng đầu ra phanh của AI, không phải là chân ga hay tay lái.

Điều này (rõ ràng) yêu cầu bạn phải có dữ liệu về một đường đua tối ưu, vì vậy bạn có thể cho biết người chơi cần giảm tốc độ bao nhiêu. Dòng đua này thường được tạo ra một cách tính toán trong quá trình phát triển và được vận chuyển cùng với trò chơi dưới dạng một phần dữ liệu tĩnh, thay vì được tính toán trong thời gian chạy. .


1

Bạn có thể tính toán con đường mà chiếc xe sẽ mô tả nếu nó quay với tốc độ hiện tại mà không bị trôi. Sau đó áp dụng hệ thống phanh theo tỷ lệ với khoảng cách d , là khoảng cách đo từ đường tính toán đến đường cong.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.