मेरे पास खरोंच से वास्तविक समय की रणनीति का खेल बनाने की परियोजना है। मैं अभी भी शुरुआती योजना के चरण में हूं, लेकिन मैं यांत्रिकी को देखने के लिए थोड़ा प्रोग्रामिंग कर रहा हूं।
मुझे पता है कि कैसे प्रोग्राम करना है। मुझे यह भी पता है कि मैं कंप्यूटर खिलाड़ियों के लिए खेल वर्गों और नियम-आधारित (राज्य-मशीन) एआई की संरचना कैसे करूंगा।
मैं Doctrines विकसित करना चाहता हूं, जो एक विशिष्ट इकाई को एक विशिष्ट व्यवहार देगा (लेकिन एक ही समय में कई इकाइयों पर उपयोग किया जा सकता है), जैसे कि स्काउट, मिशन मिशन का पालन करें, स्थिति रखें (किसी भी शत्रु पर हमला करें या अभिभूत हो जाएं) , आदि...
सिद्धांत केवल इकाइयों पर लागू होंगे, इसलिए इसमें एक इकाई परिप्रेक्ष्य होगा, और पूरे मानचित्र पर नहीं पता होगा।
कंप्यूटर एआई पूरे दृश्यमान मानचित्र का विश्लेषण करेगा और यह तय करेगा कि नियमों के एक और सेट के आधार पर प्रत्येक इकाई को असाइन करने के लिए किस सिद्धांत पर।
मैं ओपन # के साथ सी # में ऐसा कर रहा हूं।
अभी के लिए, मेरे पास मुख्य गर्भाधान शुरू करने से पहले मेरे पास बहुत कुछ नहीं है। मेरे पास एक गेम लूप है जहां सभी गेम प्रोसेसिंग (जहां मैं अपडेट मॉवमेंट, मुकाबला, रेंडरिंग आदि कहूंगा, एक के बाद एक) होगा, यह बहुत बार कहा जाता है अगर Application.Idle इवेंट।
अब, मैं सोच रहा था। चूंकि गेमलो में प्रक्रिया करने के लिए बहुत सारी चीजें होंगी, क्या कंप्यूटर एआई और इकाइयों को उस लूप में अपने कार्यों का चयन करना चाहिए या यह बहुत धीमी गति से होगा?
अगर मैं चाहता हूं कि सभी चीजें एक साथ हों, तो क्या मुझे कंप्यूटर AI के लिए एक अलग थ्रेड बनाना चाहिए? या यहां तक कि हर इकाई के लिए एक अलग धागा?
मुझे मल्टी-थ्रेडिंग का ज्यादा अनुभव नहीं है। इसके लिए सबसे अच्छा तरीका क्या होगा?