टर्न-आधारित रणनीति खेलों के लिए जटिल गेम एआई


26

मैं एक मोड़-आधारित रणनीति खेल परियोजना के लिए कुछ शोध कर रहा हूं और इस विषय पर अच्छे संसाधनों की तलाश कर रहा हूं। खेल एक विशिष्ट युद्ध खेल है जहाँ देश एक दूसरे से लड़ सकते हैं, इकाइयाँ तैनात कर सकते हैं और ये इकाइयाँ एक हेक्सागोनल तिलमप पर घूमती हैं, एक दूसरे पर हमला करती हैं, आदि।

मुझे विशेष रूप से दिलचस्पी है कि सभ्यता V का AI कैसे व्यवस्थित किया जाता है! विकिपीडिया के अनुसार खेल एआई की विभिन्न परतों के लिए चार अलग-अलग AI सिस्टम का उपयोग करता है:

  • सामरिक AI व्यक्तिगत इकाइयों को नियंत्रित करता है
  • परिचालन AI पूरे युद्ध के मोर्चे की देखरेख करता है
  • रणनीतिक AI पूरे साम्राज्य का प्रबंधन करता है
  • भव्य रणनीतिक एआई दीर्घकालिक लक्ष्यों को निर्धारित करता है और यह निर्धारित करता है कि गेम कैसे जीता जाए

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

इसके अलावा अगर किसी को कोई भी अच्छी किताब पता है जो टर्न-आधारित रणनीति गेम AI को संभालती है, तो यह जानना बहुत अच्छा होगा। जाहिर है कि यह वेब पर एक दुर्लभ विषय है। मुझे उदाहरण के लिए "प्रोग्रामिंग गेम एआई" मिला, लेकिन यह पुस्तक उच्च-स्तरीय लक्ष्य-उन्मुख एआई की तुलना में एकल एजेंट व्यवहार एआई के बारे में अधिक है।

जवाबों:


19

जब भी मैं DampeS8N के शुरुआती पैराग्राफ से सहमत होता हूं (यानी गेम AI को केवल इतना स्मार्ट होने की आवश्यकता है कि खिलाड़ी यह समझे कि यह स्मार्ट है), मुझे लगता है कि इस सवाल को थोड़ा और विस्तार की जरूरत है। उपयोग में डेटा संरचना सभी स्तरों के लिए FSM हो सकती है, लेकिन यह वास्तव में इस सवाल का जवाब नहीं देता है कि व्यक्तिगत सिस्टम कैसे काम करते हैं।

डिस्क्लेमर: मैंने शायद ही सभ्यता के खेल खेले हैं इसलिए गेमप्ले की मेरी समझ सीमित है। यदि कोई स्पष्ट त्रुटियां हैं, तो मैं माफी चाहता हूं। कृपया मुझे सुधारें, और मैं ख़ुशी से संपादित करूँगा।

मैं मूल IGN अनुच्छेद से उद्धरण ले रहा हूँ ।

1. सामरिक ऐ

निम्नतम स्तर पर, सामरिक AI स्थानीय स्तर पर लड़ाई जीतने के लिए हाथ में बलों का उपयोग करता है।

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

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

परिणाम की गणना कुछ इस तरह से की जाती है:

If (AI unit score >> (much greater) enemy unit score) Then Completely destroy enemy unit
If (AI unit score > (somewhat greater) enemy unit score) Then Partially destroy enemy unit
If (AI unit score < (somewhat less) enemy unit score) Then Partially destroy AI unit
If (AI unit score << (much less) enemy unit score) Then Completely destroy AI unit

यह समझ में आता है कि युद्ध में जब AI कोशिश करेगा और इस स्कोर को अधिकतम करेगा।

एक एप्सिलॉन वैल्यू में जोड़ें (जैसे कि विफलता / सफलता का छोटा यादृच्छिक मौका) और आपको एक सुंदर सभ्य एआई मिल गया है (कोई भी सही प्रतिद्वंद्वी नहीं चाहता है, यह सिर्फ मज़ेदार नहीं है!)।

2. ऑपरेशनल एआई

उससे एक कदम ऊपर, परिचालन एआई चुनता है जो लड़ने के लिए लड़ता है और सुनिश्चित करता है कि आवश्यक बल उपलब्ध हैं।

मुझे लगता है कि इसके कुछ बिंदु हैं:

  • वर्तमान ताकत का मूल्यांकन
  • इकाइयों का सुदृढीकरण
  • मूल्यांकन जो लेने / बचने के लिए लड़ता है

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

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

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

यहां एक सभ्य कागज है जो रियल टाइम स्ट्रेटेजी गेम्स में प्रभाव मानचित्र का उपयोग करता है।

3. रणनीतिक ऐ

इससे भी आगे बढ़ते हुए, रणनीतिक AI साम्राज्य को एक पूरे के रूप में प्रबंधित करता है, इस पर ध्यान केंद्रित करता है कि शहरों का निर्माण कहां करना है और उनके साथ क्या करना है।

"मुझे एक शहर कहां बनाना चाहिए?" सिर्फ स्थिति मूल्यांकन की तरह लगता है। शतरंज कार्यक्रम और अन्य खेल किसी दिए गए पद की वांछनीयता को निर्धारित करने के लिए इसका उपयोग करते हैं। उदाहरण के लिए:

हेक्स ए: उच्च भू-भाग पर संसाधनों के करीब, सहयोगी दलों के करीब, दुश्मन के करीब हेक्स बी: संसाधनों से दूर, मध्य स्तर के इलाके पर, सहयोगियों से मध्यम दूरी, दुश्मन से दूर

स्थिति मूल्यांकन समारोह इन तीन कारकों को इस तरह ले सकता है:

Score = Proximity to resources (closer yields a higher score) + 
terrain elevation (higher yields higher score) + 
proximity to allies (closer is better) + 
proximity to enemies (farther is better)

और जो भी षट्भुज उच्च स्कोर है, वह शहर जहां बनाया गया है। मूल्यांकन कार्यों के बारे में अधिक जानकारी यहां पाई जा सकती है

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

4. ग्रैंड स्ट्रेटेजिक एआई

सीढ़ी के शीर्ष पर भव्य रणनीतिक एआई है, जो यह तय करता है कि गेम कैसे जीता जाए।

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

EDIT: बेशक जैसा कि DampeS8N द्वारा बताया गया है, नक्शे के प्रकार के लिए सबसे अच्छी जीत की स्थिति तय कर सकते हैं, जिस स्थिति में यह डिजाइनरों द्वारा हार्डकोड किया जा सकता है या विभिन्न चर में मूल्यांकन प्रकार फंक्शनिंग कर सकता है।

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

मैं वास्तव में इस पोस्ट की लंबाई के लिए माफी माँगता हूँ, यह एक जानवर के एक बिट में बदल गया है :(

किसी भी तरह से, मुझे आशा है कि यह मदद करता है!


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

1
वाह, और मुझे लगा कि मेरा जवाब थोड़ा लंबा हो रहा था। जबरदस्त हंसी। अच्छा प्रदर्शन।
DampeS8N

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

@ निकोलबोल्स इससे बहुत अच्छी तरह से जटिल हो सकते हैं, लेकिन आपके द्वारा बनाए गए सभी बिंदु एआई के निचले स्तरों के लिए जिम्मेदारियां हैं। निर्णय लेना कि किसने युद्ध की घोषणा की -> संचालन। हमला करने के लिए कौन सा लक्ष्य सबसे कमजोर है -> ऑपरेशनल / टैक्टिकल। सही संसाधनों को प्राप्त करना -> संचालन / रणनीतिक। यह पूरी तरह से अनुमान लगाया गया है, लेकिन यह समझ में आता है कि निचले सिस्टम युग्मन के निम्नतम स्तर को सुनिश्चित करने के लिए विशिष्ट रणनीतियों के लिए जिम्मेदार हैं।
रे डे

1
@ रेडे: एआई के उच्चतम स्तर को संसाधन अधिग्रहण जैसी चीजों में शामिल करने की आवश्यकता है, क्योंकि यह तय करने की आवश्यकता है कि इसे कैसे प्राप्त किया जाए। कूटनीति मिल सकती थी। संसाधन तक विस्तार इसे प्राप्त कर सकता है। परिचालन स्तर यह तय करने के लिए उचित स्थान नहीं है कि किसी अन्य रणनीति के विपरीत इस पर लड़ना चाहिए या नहीं। सभ्यता जैसे खेल के लिए युग्मन एक आवश्यकता है; सब कुछ उस खेल में बाकी सब को प्रभावित करता है। आपके पास एक प्रभावी AI नहीं हो सकता है जो बहुत सारे युग्मन के बिना निर्णय लेता है। हालांकि यह बता सकता है कि Civ V का AI क्यों ... विशेष रूप से उज्ज्वल नहीं है?)
निकोल बोलस

9

खेलों में सामान्य रूप से एआई को 'जटिल' नहीं माना जाना चाहिए, यह सब उस चीज के बारे में है जिसे आप कम से कम संभव प्रयास के साथ चाहते हैं। खेल का नाम इमर्जिंग है।

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

आपने कठिनाई का क्रम उलट दिया है। Civ AI का सबसे कठिन घटक सामरिक AI है, जिसके बाद ऑपरेशनल को बारीकी से देखा जाता है। रणनीतिक शायद बहुत सरल है, और भव्य एआई शायद अभी भी सरल है।

घटकों के बीच संचार ग्रंट की प्रणाली की तरह अधिक है और वास्तविक संचार की तरह कम है। उच्च स्तर से निम्न स्तर पर यह इस तरह दिखेगा:

ग्रैंड ए.आई.

मानचित्र की स्थिति का आकलन करें। एआई के पास जो ज्ञान है (जो सब कुछ हो सकता है या केवल यह क्या हो सकता है अगर यह एक खिलाड़ी होता) को देखते हुए यह तय करता है कि अंतिम लक्ष्य किस तक पहुंचने में सबसे तेज है। यह संभावना है कि एक परिमित अवस्था मशीन है जो कुछ संख्या में crunching करती है और एक लक्ष्य चुनती है। संभवतः यह कुछ अधिक विदेशी है; एक आनुवंशिक एल्गोरिथम या संभवतः एक बायेसियन आधारित डोहेकी । यह तब "अधिक विज्ञान" जैसे संदेश को दिखाता है।

स्ट्रैट एआई

फिर यह देखता है कि एक ही जानकारी का उपयोग करने के साथ काम करने के लिए क्या उपलब्ध है। यह उस समग्र लक्ष्य को पूरा करने की कोशिश करता है, लेकिन खेल के अधिक विस्तृत पहलुओं की भी चिंता करता है। क्या मैं युद्ध में हूँ? क्या मैं लोगों को भूखा मार रहा हूं? शीघ्र। यह शायद एक परिमित राज्य मशीन भी है , संभवतः फ़ज़ी लॉजिक (जो वास्तव में एफएसएम पर सिर्फ एक विकास है।) मान लेते हैं कि यह एक साधारण एफएसएम है। यह ऊपर दिए गए प्रश्नों को एक क्रम में पूछेगा, जहां कुछ निश्चित मानदंड दिए गए हैं, यह तय करेगा कि इस दौर में अलग-अलग चीजें होनी चाहिए। मैं युद्ध में हूं, प्रशिक्षण सैनिकों के लिए धन आवंटित करता हूं। मेरे लोग भूखों मर रहे हैं, यहाँ कुछ विज्ञान निर्मित करने के बजाय एक अन्न भंडार का निर्माण कर रहे हैं।

हम जिस चीज़ को विभाजित कर रहे हैं, उसके आधार पर स्ट्रेट एआई और ओप एआई का हिस्सा बनने वाली इकाइयाँ चुन सकते हैं।

सेशन AI

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

सामरिक एअर इंडिया

इकाई विशिष्ट है। प्रत्येक प्रकार की इकाई सामान्य आदेश पर अलग तरह से प्रतिक्रिया करेगी। एक इकाई जो आत्महत्या करने का इरादा रखती है, एक पीछे हटने के आदेश की अनदेखी कर सकती है। युद्ध के लिए कहा गया है कि यूनिट भी wusses पीछे हट सकते हैं। Civ आमतौर पर इस तरह की चीज़ पर बहुत हल्का होता है। आमतौर पर Civ की सभी इकाइयाँ उनकी आज्ञा का पालन करती हैं। एक बड़े आदेश को देखते हुए, वे एक एफएसएम के तहत एक पैटर्न देख रहे हैं। क्या मैं घायल हूं? मुझे वापस बाहर आना चाहिए और चंगा करना चाहिए। क्या मुझे इस स्थान पर एक फायदा है? हमला। क्या मैं भी हमला करने के करीब हूं? पीछे हटना। और इस FSM की जटिलता उन 3 चीजों से ज्यादा प्रभावी और बुद्धिमान होने के लिए जरूरी नहीं है।

क्या इसे बढ़ाया जा सकता है?

हां बिल्कुल। सवाल यह है कि क्या खिलाड़ी नोटिस करेंगे। और 99% समय वे नहीं करेंगे।

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


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