संपादित: ध्यान दें कि यह जवाब अब दशक आधे से अधिक पुराने है - मशीन सीखने उस समय में प्रगति का एक बहुत बना दिया है और यह संभावना है कि क्या खेल में प्रयोग किया जाता है भी बदल गया है। मूल उत्तर निम्नानुसार है।
मुझे लगता है कि आप सबसे आधुनिक गेम एआई की क्षमताओं को अधिक महत्व दे रहे हैं; जो बहुत अच्छा है, क्योंकि यह वही है जो आधुनिक गेम डेवलपर्स की उम्मीद कर रहे हैं। वे प्रणाली को अधिक बुद्धिमान दिखने में समय का निवेश करते हैं, उदाहरण के लिए एआई वर्णों के बारे में बात करते हैं कि वे क्या करने जा रहे हैं, या कभी-कभी पूर्व-सेट स्क्रिप्ट का पालन करते हैं जो कार्यों की एक जटिल श्रृंखला करते हैं।
नहीं वास्तविक मशीन एल्गोरिदम सीखने, तो क्या सबसे नवीनतम सुविधाएं वाणिज्यिक खेल ऐ गाड़ी चला रहा है? यह बहुत जटिल है लेकिन स्थिर (गैर-एमएल) एल्गोरिदम जो में सक्षम हैं अधिकांश संभावनाओं को कवर करते हैं?
आमतौर पर बहुत कम संभावनाएं होती हैं। जैसा कि एक और जवाब में बताया गया है, आम तौर पर काम पर एक सीमित राज्य मशीन है। जैसे। एक शूटिंग गेम में एक विशिष्ट दुश्मन निम्नलिखित राज्यों में से एक में हो सकता है: निष्क्रिय, चेतावनी (वे जानते हैं कि वहां परेशानी है), शिकार (वे एक दुश्मन की तलाश कर रहे हैं), हमला कर रहे हैं (वे दुश्मन को देख सकते हैं और इसे संलग्न कर सकते हैं), और भागने (वे एक दुश्मन से बचने की कोशिश कर रहे हैं)। राज्यों के बीच संक्रमण सरल घटनाएं हो सकती हैं जैसे शोर सुनाई जा रही है, एक प्रतिद्वंद्वी देखा जा रहा है, एक निश्चित सीमा के नीचे एक स्वास्थ्य मूल्य गिर रहा है, आदि। बहुत तुच्छ, वास्तव में।
प्रत्येक राज्य के कार्यान्वयन को आमतौर पर सरल कार्यों की एक छोटी संख्या में विघटित किया जा सकता है, उदाहरण के लिए। स्थिति में स्थानांतरित करें, दिशा में देखें, लक्ष्य पर शूट करें, आदि। ये निम्न स्तर की गतिविधियां अच्छी तरह से प्रलेखित और व्यापक रूप से उपयोग की जाती हैं। (उदाहरण के लिए ए * पथदर्शी के लिए खोज, स्टीयरिंग और अभिविन्यास के लिए वेक्टर गणित।) इन सभी बिल्डिंग ब्लॉक 3 डी में काम करते हैं, जैसा कि उन्होंने अधिकांश भाग के लिए 2 डी में किया था।
इसके अतिरिक्त, अधिक जटिल दिखने वाली एआई अक्सर लिखी जाती है, जो कहती है कि व्यवहार एक साधारण प्रोग्रामिंग भाषा में एक बहुत ही विशिष्ट गेम स्थिति में काम करने के लिए पूर्व-प्रोग्राम किया गया है। विशिष्ट परिस्थितियों के लिए लिपियों पर्यावरण के बारे में धारणाएं बना सकते हैं (उदाहरण के लिए, छिपाने के लिए कवर का स्थान, सहयोगियों और दुश्मनों की निकटता आदि) और तदनुसार बहुत विशिष्ट लक्ष्य प्रदान कर सकते हैं। अधिक सामान्य स्क्रिप्ट को पूर्वनिर्धारित घटना प्रकारों (उदाहरण के लिए, दुश्मन देखा, सहयोगी शोर, अज्ञात शोर सुनाई) के सेट द्वारा ट्रिगर किया जा सकता है और प्रत्येक मामले में लिखे गए बहुत ही सरल प्रतिक्रियाएं (उदाहरण के लिए। अगर स्वयं। स्वास्थ्य> 75% तब हमले नेस्टेस्ट ईएलएसई भागने के लिए टोपी सुरक्षा)।
... एक सीखने एल्गोरिथ्म शायद विकास के चरणों में इस्तेमाल किया गया था एक मॉडल (स्थिर एल्गोरिथ्म) के उत्पादन के लिए, और कहा कि मॉडल तो खेल में निर्णय करने के लिए प्रयोग किया जाता है?
यह उन परिस्थितियों है कि इस तरह रेसिंग खेल के रूप में वाहनों, मॉडल कर रहे हैं में बहुत आम है - आप उन बिंदुओं के आधार पर अंक और आदानों की एक श्रृंखला के रूप में एक एल्गोरिथ्म रेस ट्रैक खिलाने सकता है, और एक विकसित करने के लिए एक सीखने एल्गोरिथ्म मिल रणनीति जो सर्वोत्तम समय में अंतराल को पूरा करती है। आखिरकार आप इसे खेल के साथ भेज सकते हैं। लेकिन यह एक छोटी संख्या में इनपुट (बाधाओं की निकटता, बाधाओं की निकटता, वर्तमान गति) से उत्पादन की एक छोटी संख्या (वांछित गति, वांछित स्टीयरिंग) से एक सरल मैपिंग है, जो मशीन सीखने के लिए खुद को अच्छी तरह से उधार देता है। मानव व्यवहार को अनुकरण करने वाले गेम शायद ही कभी इन सरल कार्य अनुमानों पर वापस आ सकते हैं, इसलिए हम अलग-अलग व्यवहारिक राज्यों के मैन्युअल सिमुलेशन पर भरोसा करते हैं।
कभी-कभी एक संकर दृष्टिकोण हो सकता है, जहां परिमित राज्य मशीन संक्रमण को अधिक इष्टतम होने के लिए प्रशिक्षित किया जा सकता है, लेकिन अभ्यास में बहुत से खेलों में यह अनुमान लगाने की संभावना नहीं है, क्योंकि यथार्थवादी संक्रमण आमतौर पर एक डिजाइनर को कार्यान्वित करने के लिए तुच्छ होते हैं ।
अरे @ डैमनपावलिका, कृपया नए टैग पर [टैग: गेम-डेवलपमेंट] टैग जोड़ने की कोशिश न करें। यह पहले से ही [जला हुआ] रहा है (http://meta.stackexchange.com/questions/159115/burninate-the-game-development-tag-again) कई बार। वर्तमान में [मेटा] (http://meta.stackoverflow.com/q/334859/2415822) पर आपके कार्यों पर चर्चा की जा रही है। अगर टैगिंग के बारे में आपके कोई प्रश्न हैं, तो कृपया मुझे [एसओसीवीआर] (http://chat.stackoverflow.com/rooms/41570/so-close-vote-reviewers) चैट रूम में शामिल हों। धन्यवाद। – JAL
बहुत अधिक दिलचस्प सवाल यह है कि कठिनाई के स्तर के लिए यथार्थवादी मॉडल कैसे बनाया जाए। गेम जीतने के लिए व्यवहार को फेंकना आसान है, लेकिन जब यह चुनौतीपूर्ण होने के लिए पर्याप्त परेशानी पैदा करने के लिए उबलता है लेकिन हारने के लिए असंभव रूप से असंभव नहीं है, तो यह स्वचालित सीखने की भावना में बहुत मुश्किल हो जाता है। – mkin