एआई व्यवहार रेसिंग के लिए पैटर्न


9

तो मान लीजिए कि आपको एक स्पाइन-आधारित रेसिंग AI मिल गई है। मान लें कि यह पहले से ही ट्रैक के चारों ओर ब्रेकिंग और स्टीयरिंग की मूल बातें संभाल सकता है।

आप टकराव से बचने, ओवरटेकिंग, प्रारूपण, अवरोधन और अन्य व्यवहारों को कैसे लागू करेंगे और संरचना करेंगे ताकि आपकी कारें प्रतिस्पर्धी बनी रहें लेकिन दिलचस्प दौड़ बना सकें?

कागजात / कार्यान्वयन के लिंक भयानक होंगे।


आप किस तरह के इंजन का उपयोग कर रहे हैं,
हर्षल बेन्क

जवाबों:


7

दिखाई दिया ऑटोनॉमस कैरेक्टर के लिए स्टीयरिंग बिहेवियर ? मैं ट्रैक पर रहने और टकराव से बचने के लिए एक " क्राउडपैथफॉलोिंग" एल्गोरिदम पर विचार करूंगा । आप प्रारूपण, पासिंग और ब्लॉकिंग के लिए "फ्लो फील्ड फॉलो फॉलो " व्यवहार में मिश्रण करने में सक्षम हो सकते हैं - प्रवाह क्षेत्र को खिलाड़ी के अतीत और अनुमानित पथ का पालन करें, लेकिन उसके वर्तमान स्थान के आसपास विभाजित करें।

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

इससे एआई को उसके पीछे सीधे चलने और ब्लॉक करने के लिए सीधे आगे बढ़ने का कारण बनना चाहिए, फिर भी स्वच्छ पास को प्रोत्साहित करना चाहिए।


1
मुझे बोलियों के बारे में पता है, लेकिन यह अच्छा संदर्भ है। मैं कई व्यवहारों से थोड़ा डर गया हूं (रेसिंग लाइन पर रहें, कारों से बचें, ब्लॉक, ड्राफ्ट, आदि) उन तरीकों से बातचीत करना जो ट्यून करने के लिए बहुत जटिल हैं, और सामयिक किनारे के मामले में टकराव के साथ समाप्त होते हैं। यह पैदल चलने वालों के लिए ठीक है, लेकिन दौड़ कारों के लिए विनाशकारी है जिन्हें चलते रहने की आवश्यकता है।
तेनप

मैंने OpenSteer API के साथ काम किया है जो इस सामान को बहुत अधिक लागू करता है। मैंने इसे धुनना बहुत आसान पाया है। आपके मामले में मैं "SteerToAvoidCollision" वजन बहुत अधिक करूँगा। मुझे नहीं पता कि आप कौन से वाहन चला रहे हैं, लेकिन मुझे लगता है कि अगर आप इसे अधिकांश मामलों के लिए सही पाते हैं, तो एक किनारे के मामले के कारण शेष सामयिक टक्कर या मार शायद बहुत यथार्थवादी है ....
एएसएचएल

वह स्टीयरिंग वाहन था या कुछ और? मैं स्थितियों से डरता हूं जिससे आपके बाएं से आगे दो वाहन और आपके दाईं ओर आगे बढ़ने जैसी समस्याएं पैदा हों। औसत वेक्टर के परिणामस्वरूप एक आंदोलन सही होगा, भले ही वह आपको दाहिने हाथ के वाहन के संपर्क में ला सकता है।
13

मैं ज्यादातर पैदल यात्रियों के साथ काम कर रहा था, इसलिए मैं यह नहीं कह सकता कि यह काम करेगा। एक बात याद रखें कि व्यवहार का मिश्रण होना जरूरी नहीं है - यह एक उत्तराधिकार हो सकता है। तो आप टकराव से बचने के लिए किसी और चीज को अधिक प्राथमिकता दे सकते हैं। मामले में आप कार का वर्णन केवल सही तरीके से करेंगे जब तक कि अनुमानित पथ दाहिने हाथ की कार के मार्ग को अवरुद्ध न कर दे, उस समय उस टकराव से बचने से ओवरराइडिंग बल बन जाता है। आप विशेष शर्तें भी जोड़ सकते हैं: उदाहरण के लिए, यदि एन फ्रेम में कोई सुरक्षित रास्ता नहीं मिला है, तो हार्ड ब्रेकिंग जोड़ें।
एएसएच

2

पेरिस में इस साल के एआई गेम देव सम्मेलन में आंशिक रूप से एक सत्र था। आप यहां स्लाइड और सारांश देख सकते हैं:

http://aigamedev.com/open/coverage/paris10-report/#session9


1
पीपीटी का लिंक 404 है।> _ <
tenpn


टा - उसका दृष्टिकोण दिलचस्प है लेकिन मैं वर्तमान में जिस कोड के साथ काम कर रहा हूं वह वास्तव में अधिक उन्नत है!
दसपुल

1

विरोधी पैटर्न: विरोधियों ने उनकी गति को अपनाया

दुर्भाग्य से मैं आपको पैटर्न देने में सक्षम नहीं हूं, लेकिन मैं एक विरोधी पैटर्न का नाम देना चाहूंगा। कृपया एआई ड्राइवरों की गति को मानव खिलाड़ी में से एक में बदलने की कोशिश न करें। इसके पीछे का विचार एमेच्योर के साथ-साथ पेशेवरों के लिए उचित रेसिंग स्थितियों का निर्माण करना है और कई कठिनाई स्तरों (और उनके कार्यान्वयन) की आवश्यकता को छोड़ना है।

हालांकि, कागज पर जो अच्छा लगता है वह व्यवहार में भयानक हो जाता है और MotoGP श्रृंखला इस व्यवहार को लागू करने में बुरी तरह विफल रही। यह 5mp / h पर ड्राइविंग करने वाले विरोधियों में समाप्त हो गया जब आप कुछ सेकंड के लिए स्थिर रहे और यह बताने की असंभवता कि क्या आपने खेल में सुधार किया है (बहुत बुरा फीडबैक बुद्धिमान)


धन्यवाद। मैं विशेष रूप से दिलचस्प दौड़ व्यवहारों के बारे में बात कर रहा हूँ बजाय संतुलन या कठिनाई स्तरों के, लेकिन मैं इसे ध्यान में रखूँगा।
दस

5
लगभग सभी रेसिंग गेम्स में खिलाड़ी को एक्शन में बनाए रखने के लिए रबर-बैंडिंग का कोई न कोई रूप शामिल होता है, या AI को अच्छे खिलाड़ी के करीब रखा जाता है। चाल इसके साथ सूक्ष्म होना है और पता है कि इसे कब बंद करना है। एक बार खिलाड़ी ने नोटिस किया कि वे ठगा हुआ महसूस कर रहे हैं।
जूल

MotoGP की स्थिति सामान्य रूप से रबर-बैंडिंग की समस्या के बजाय इसे बहुत दूर ले जाने की समस्या की तरह लगती है। यह सामने के ड्राइवरों के लिए अनुचित नहीं है कि वे अधिक सावधानी के साथ ड्राइव करें और पीछे की कारों को अंतराल को बंद करने के लिए अधिक सख्त प्रयास करें, और मुझे लगता है कि इस तरह से मॉडलिंग करने और उस खिलाड़ी को पारदर्शी रूप से प्रस्तुत करने में मूल्य है।
जिब स्मार्ट

यह इस विषय पर एक दिलचस्प पोस्ट है: gamasutra.com/view/feature/3920/… मूल रूप से उन्होंने आपको AI रेसर्स के 3 समूहों में रखा था और दौड़ के दौरान आपको समूह से समूह तक अग्रिम करते थे।
Felsir
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.