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