में गेम ऑब्जेक्ट्स के बीच संचार हाल ही में मैं सी # में एक गेम कोडिंग करने पर अपना हाथ आजमा रहा हूं। मैं इसके लिए एक्सएनए का उपयोग नहीं कर रहा हूं, जैसा कि मैंने सोचा था कि अगर मैं स्क्रैच से गेम को कोड करता हूं तो मैं और जानूंगा (हालांकि मैं मल्टीमीडिया इंजन का उपयोग कर रहा हूं)।गेम प्रोग्रामिंग - 2 डी
मैं एक 2 डी आरपीजी गेम तैयार करने की कोशिश कर रहा हूं - मुझे थोड़ा महत्वाकांक्षी पता है, हालांकि मुझे खेल के कम से कम बुनियादी हिस्सों (यानी 'बॉयलर प्लेट' कोड) की उचित समझ है, और मैं ' मैं एक ऐसे भाग पर पहुंचा जहां मुझे नहीं पता कि यहां से कहाँ जाना है।
2 डी गेम में, आप विभिन्न 'क्षेत्रों' के चारों ओर घूमकर खेल के माध्यम से प्रगति करते हैं। एक बार जब आप 'पोर्टल टाइल' दबाते हैं, तो आपको अगले क्षेत्र आदि में ले जाया जाता है।
मुझे यह समझने में समस्या हो रही है कि इन क्षेत्र वस्तु को कैसे स्थापित किया जाना चाहिए। यह मेरा पहला विचार था: प्रत्येक क्षेत्र में कुछ अलग संग्रह संरचनाएं होती हैं (उदाहरण के लिए, एक दृश्यता क्वाड्री, एक टकराव क्वाड्री, एआई इकाई सूची आदि)। तो अगर मैं खेल में दुश्मन इकाई को जोड़ना चाहता था, तो इसे दृश्यता क्वाड्री, टकराव क्वाड्री (क्योंकि आप संस्थाओं के साथ टकरा सकते हैं) और एआई इकाई सूची में डाल दिया जाएगा। जब क्षेत्र को अद्यतन अनुरोध प्राप्त होता है, तो यह इन संरचनाओं में से प्रत्येक को स्वयं को अपडेट करने के लिए कहता है, जो बदले में संस्थाओं को स्वयं को अपडेट करने के लिए कहता है। सब अच्छा, अब तक।
मेरा प्रश्न यह है: क्या होगा अगर इस दुश्मन को अन्य वस्तुओं के साथ संवाद करने की आवश्यकता हो? उदाहरण के लिए, यह जानना आवश्यक हो सकता है कि खिलाड़ी इसकी एक निश्चित सीमा में था या नहीं। या क्या यह खिलाड़ी द्वारा मारा गया था। या जहां सभी टकराव योग्य वस्तुएं क्षेत्र में हैं (इसलिए यह पथदर्शी हो सकती है)।
इस समस्या का पहला (और बुरा) समाधान प्रत्येक इकाई को प्रत्येक संग्रह के संदर्भ में पारित करने के लिए होगा। लेकिन यह स्पष्ट रूप से कसकर युग्मित वस्तुओं को प्रोत्साहित करता है, जो अच्छा नहीं है।
दूसरा समाधान जो मैं आया था, प्रत्येक इकाई के लिए संदेश संरचनाओं के माध्यम से क्षेत्र से पूछताछ करने में सक्षम होना था। तो एक दुश्मन कहने में सक्षम होगा "मुझे मेरी स्थिति की एक्स दूरी के भीतर प्रत्येक इकाई की एक सूची दें" और क्षेत्र एक जवाब देगा। हालांकि, यह तेजी से कठिन हो जाएगा क्योंकि मुझे क्षेत्र में अधिक से अधिक संभावनाएं कोडित करना होगा ("मुझे उन संस्थाओं की एक सूची दें जो स्वयं की एक्स दूरी के भीतर नहीं हैं", "मुझे सभी संस्थाओं की एक सूची दें जो स्वास्थ्य से कम हैं एक्स "आदि)।
जो मैं खोज रहा हूं वह इंटर ऑब्जेक्ट संचार की इस समस्या का एक समय परीक्षण समाधान है, और मूल रूप से एक क्षेत्र को कैसे स्थापित किया जाए। मुझे लगता है कि इसे किसी प्रकार की मैसेजिंग सिस्टम की भी आवश्यकता होगी, हालांकि मुझे यकीन नहीं है।
पढ़ने के लिए धन्यवाद।
पाठ की दीवार डरावना है – Chad