2010-10-04 10 views
5

ग्रीटिंग्स,उड़ान खेल एआई एल्गोरिदम?

मैं अपने शौक परियोजना में से एक के डिजाइन चरण में हूं। मैं एक 3 डी एयर-लड़ाकू गेम विकसित करने जा रहा हूं। (HAWX द्वारा प्रेरित)। लेकिन मैं सोच रहा हूं कि एआई दुश्मन शिल्प के लिए कैसे काम करता है? मुझे लगता है, वे एफपीएस खेलों में एक पथ (एक ग्राफ पर पथ खोज) के साथ नहीं जाते हैं। दुश्मन शिल्प आंदोलन के लिए मैं किस प्रकार का एल्गोरिदम उपयोग कर सकता हूं? क्या कोई एआई लाइब्रेरीज़ मैं इसके लिए उपयोग कर सकता हूं?

नोट: मैं अपने विकास पर्यावरण के रूप में सिंचाई इंजन, सी ++ का उपयोग करता हूं।

उत्तर

4

एक अवरोधन बिंदु को खोजने के लिए एक साधारण सवाल का जवाब ...

समय में किसी भी बिंदु पर, एक सीधे लाइनों धारणा बनाते हैं। आप और आपका लक्ष्य निश्चित गति पर सीधे लाइनों में यात्रा कर रहे हैं। इसलिए, आप अपने लक्ष्यों से अपनी स्थिति और गति घटा सकते हैं, और लक्ष्य सापेक्ष स्थिति और वेग के साथ काम कर सकते हैं।

समय में एक दिलचस्प बिंदु तब होता है जब आपका लक्ष्य करीब (उस रेखा पर) होता है क्योंकि यह कभी भी होगा - उस रेखा का सबसे नज़दीकी बिंदु। IIRC, वेक्टर डॉट उत्पादों के साथ गणना की जा सकती है कि ...

 P . V 
t = - ----- 
     V . V 

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

इससे, आप यह निर्धारित कर सकते हैं कि वह निकटतम बिंदु कहां है और यह कितना दूर है।

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

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

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

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

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

+0

हाय, स्टीव tips.Actually के लिए धन्यवाद मेरे सवाल लगता है specific.I मैं दुश्मन राज्यों के लिए एक राज्य मशीन रखने की जरूरत नहीं है। (उदाहरण: हमले की बल्लेबाजी, हमलावर खिलाड़ी, पीछा करने वाला खिलाड़ी, खिलाड़ी मिसाइलों से बचाव .. आदि)। और राज्य पर निर्भर करता है कि एल्गोरिदम बदला जाना चाहिए। मुझे आश्चर्य है कि उन्होंने ए.ए.ए.ए.एक्स जैसे खेलों में एआई को कैसे कार्यान्वित किया! –

+0

मुझे नहीं लगता कि आप पूर्ण वेग को अनदेखा कर सकते हैं। मध्यम (वायु) आराम पर है और इसका एक बड़ा प्रभाव पड़ता है कि आप कैसे पैंतरेबाज़ी कर सकते हैं। – ziggystar

+0

@ ज़िगगीस्टार - निकटतम बिंदु गणना निरंतर वेग मानती है। ऑप्टिमाइज़ेशन के लिए मामूली बदलावों को चुनने के लिए, सिमुलेट किए गए विमान की अनुमानित सीमाओं को ध्यान में रखना समझदारी है, लेकिन यह * लक्ष्य * निर्धारित करने के लिए है, यह तय नहीं कर रहा कि विमान वास्तव में क्या हासिल करेगा। विमान का असली प्रदर्शन तय करना भौतिकी इंजन का काम है, एआई इंजन नहीं। एक अधिक परिष्कृत एआई को भौतिकी के जटिल मॉडल की आवश्यकता हो सकती है, लेकिन यह भौतिकी के बारे में नहीं है - यह एआई के बारे में है, और उस पर बहुत सरल एआई है। – Steve314

संबंधित मुद्दे