रेसिंग गेम में ड्राइवर ए.आई.


17

मैं उत्सुक हूं कि मैं रेसिंग गेम में कारों को कैसे नियंत्रित कर सकता हूं।

क्या मेरे एआई एजेंट को "0.35 पर थ्रॉटल, 0.5 सही पर स्टीयरिंग व्हील, 0.0 पर ब्रेक" जैसी कमांड के साथ अपनी कार को नियंत्रित करना चाहिए? या क्या मुझे पहले से गणना करनी चाहिए कि एक कार कार से चिपक जाती है, और सामने वाले पहियों की तरह दृश्य बस सब कुछ सुसंगत बनाने के लिए हैं? या कोई और तरीका है?


4
"स्टिक टू आदर्श कर्व" रणनीति केवल तब तक काम करती है जब तक कि कोई हस्तक्षेप न हो। जिस क्षण एआई एजेंट अन्य कारों के साथ बातचीत करना शुरू कर देते हैं (उन्हें चकमा दे रहे हैं या चकमा दे रहे हैं) उन्हें सुधारने की आवश्यकता होगी।
फिलिप

1
हां, कुछ प्रकार के नोड्स के साथ ट्रैक के साथ बोयड टाइप स्टीयरिंग।
MichaelHouse

1
यहाँ कॉलिन मैकरे की रैली 2 में AI पर एक लेख है
gre_gor

@gre_gor, यह बहुत उपयोगी लेख है, धन्यवाद!
दरगमीर

जवाबों:


16

हम कह सकते हैं कि कुछ स्तर पर खेल एक पूर्व-गणना पथ का अनुसरण कर रहा है। चूंकि रेसिंग गेम के ट्रैक वैसे भी (आमतौर पर) पूर्व-गणना पथ होते हैं।

यहां तक ​​कि अगर हम यादृच्छिक रूप से पटरियों को उत्पन्न करने के बारे में बात कर रहे हैं, तो खेल को उस समय के लिए पटरियों के वर्तमान हिस्से की गणना करनी चाहिए जहां कार मिलती है।

खैर, यह आसान था। इसके बारे में कुछ और?

दोनों, एक पूर्व-संकलित पथ का अनुसरण करना और कार उद्योग को व्यवस्थित रूप से नियंत्रित करना खेल उद्योग में उपयोग करता है। इसका उत्तर दोनों का उपयोग करना है।

सबसे पहले, मैं यह उल्लेख करना चाहता हूं कि "वक्र की गणना" का अर्थ दो चीजें हो सकता है:

  • ऐसे फ़ंक्शंस बनाना जो वक्र पर स्थिति को आउटपुट करेंगे, पैरामीटर के रूप में आप उस पर कितनी दूर क्वेरी करना चाहते हैं।

  • एक पथ बनाना, अनुसरण करने के लिए अंकों की सूची (या निर्देश और अन्य नियंत्रण जानकारी) के रूप में समझा जाता है।

पूर्व भविष्यवाणी या कुछ भौतिक सिमुलेशन में उपयोगी हो सकता है। फिर भी, जब हम किसी वस्तु को नियंत्रित करने की बात करते हैं, तो उत्तरार्द्ध अनुशंसित दृष्टिकोण है।

नोट: पुराने खेलों (1980) के लिए अन्य कारें जहां चलती बाधाएं अधिक पसंद हैं। आप उनसे बचने और उनसे आगे निकलने के लिए वहां मौजूद थे। हम उनके बारे में बात नहीं कर रहे हैं।


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

    ,: वास्तव में, यह पूर्वगामी था। रिकॉर्ड और प्लेबैक GTA SA गेम इंजन की नई विशेषताओं में से एक था।

  • एआई द्वारा नियंत्रित:

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

    एक सरल खेल के लिए, आपको शायद केवल दो उल्लेखनीय व्यवहारों की आवश्यकता है: 1) यदि यह पटरियों पर है, तो अन्य कारों और किसी भी बाधा से बचने वाले ट्रैक का पालन करें और 2) यदि यह पटरियों पर नहीं है, तो पटरियों पर वापस जाएं।

    इस स्तर पर, यह एक पथ (पटरियों) का पालन करने से दूर नहीं है। फिर भी, चूंकि ट्रैक वास्तव में एक पंक्ति नहीं हैं, हम एक पथ का अनुसरण करने के बारे में बात नहीं कर रहे हैं, लेकिन इसके करीब रहना (अन्य कारों और किसी भी बाधाओं से बचते हुए)। इसका अर्थ है कि AI को "स्टीयरिंग, ब्रेकिंग और एक्सील्यूटिंग" को हल करना है।

    एक आधुनिक गेम के लिए, कार भौतिकी सिमुलेशन (टक्कर को हल करने और यथार्थ रखने के लिए) के अधीन भी होगी। उसके कारण, गेम लूप का प्रत्येक पुनरावृत्ति कार अपनी गति और त्वरण के आधार पर अपडेट हो जाएगा, और वर्तमान व्यवहार का पालन करने के लिए "स्टीयरिंग, ब्रेकिंग और त्वरण" (गति को गति) भी लागू किया जाएगा।

    मैं यह भी उल्लेख करना चाहता हूं कि आधुनिक खेलों में ऐसे व्यवहार हो सकते हैं जो अधिक जटिल हैं, उदाहरण के लिए, एआई किसी अन्य कार को हिट करने या अपना रास्ता अवरुद्ध करने का विकल्प चुन सकता है। वास्तव में, एआई भी चुन सकता है जो मशीन सीखने के कुछ रूप के आधार पर लागू होता है, लेकिन मैं पचाता हूं।

    अंत में, विचार करें कि खिलाड़ी के दृश्य के बाहर एआई कारों के लिए सरल नियंत्रण रखना भी उपयोगी हो सकता है। या तो प्रदर्शन के लिए या रबर बैंडिंग के लिए (जो इस मामले में दौड़ को दिलचस्प रखने के लिए एआई कारों को खिलाड़ी के पास रखता है, इसे एआई को धोखा माना जा सकता है जब आप वास्तव में किसी भी प्रतिद्वंद्वी को पीछे नहीं छोड़ सकते)।


एनीमेशन के बारे में, आमतौर पर पहियों के लिए भौतिकी को स्वतंत्र रूप से अनुकरण करना एक अच्छा विचार नहीं है। यदि आप ऐसा करते हैं, तो यह खेल में यथार्थवाद जोड़ सकता है, लेकिन प्रदर्शन में खर्च होगा। आमतौर पर खेल पहियों की गति और परिणामों का अनुकरण करने के संदर्भ में व्यवहार को व्यक्त करने के बजाय व्यवहार के आधार पर पहियों को चेतन करेगा।

बेशक, आपको जो कुछ भी हो या नहीं हो, उसमें अतिरिक्त ध्यान रखने की जरूरत है क्योंकि पहिए जमीन के साथ विपरीत स्थिति में हैं। और शायद सस्पेंशन सस्पेंड।


यह सिर्फ अद्भुत जवाब है, बहुत-बहुत धन्यवाद।
दरगमीर

0

मैं दृढ़ता से कार भौतिकी / राज्य मॉडल को कार नियंत्रक से अलग करने की सलाह देता हूं, और एआई एजेंट और खिलाड़ी नियंत्रक को दो प्रकार के विनिमेय नियंत्रक होने चाहिए, जैसे आपके प्रश्न में सुझाए गए उच्च स्तरीय कमांड।

इसके कई अच्छे प्रभाव हैं:

  • आप खिलाड़ी और AI दोनों के लिए एक बार भौतिकी / राज्य मॉडल को लागू और डिबग कर सकते हैं
  • भौतिकी / राज्य मॉडल की कोई भी नई सुविधा तुरंत खिलाड़ी और एआई दोनों पर लागू होती है
  • खिलाड़ी और AI कारें ट्रैक पर लगातार व्यवहार करती हैं, जो कथित और वास्तविक निष्पक्षता को बढ़ाती है (यदि आप रेसर्स को विकलांग करना चाहते हैं, तो निश्चित रूप से, आप इसे कारों पर मापदंडों को बदलकर कर सकते हैं)
  • विभिन्न प्रकार के मल्टीप्लेयर समर्थन विकसित करने के लिए बहुत आसान हो जाते हैं।

यह एक विशेष मामला है एमवीसी अलगाव है, वैसे।


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

1
इस तथ्य के अलावा कि व्यू पहलू पर सवाल या जवाब में चर्चा नहीं की जाती है, आपको क्यों लगता है कि इसे MVC के रूप में फ्रेम करना बेतुका है?
रसेल बोरोगोव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.