क्या इंजन के एब्स्ट्रक्शन के साथ स्क्रिप्ट को इंटरैक्ट करना चाहिए?


10

मैं Java और Jython का उपयोग कर रहा हूं, और कुछ शोधों के बाद मैंने स्क्रिप्ट को इंजन इंटरफ़ेस तक सीधे पहुंच देने की खोज की, यह एक गलती हो सकती है, क्योंकि यह दोनों को कसकर जोड़ेगा।

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

जवाबों:


7

दोनों, सामान्य तौर पर। आपकी स्क्रिप्ट को एक सार - या कम से कम मध्यवर्ती - कार्यक्षमता की परत और न ही इंजन से बात करनी चाहिए।

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

दूसरा, यह आपको लिपियों के संपर्क में आने वाले इंटरफेस को सरल बनाने की अनुमति देता है, जो कि अधिक गैर-प्रोग्रामर अनुकूल या सामान्य रूप से उपयोग करने में आसान हो।

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


3

मैं यह भी सोचता हूं कि यदि आप इंजन में संशोधन करना चाहते हैं तो यह आपकी मदद करता है। इंजन बदलने के बाद से आप अपनी सभी लिपियों को बदलने की चिंता किए बिना उन्हें कर सकते हैं। आपको सिर्फ जोश की बताई गई अमूर्त परत को बदलना होगा।


1

खेल के मूल और लिपियों के बीच एक परत बनाना, संशोधन बनाने के लिए उपयोग किया जाता है, मेरी राय में, आवश्यक है।

आप इस विधि का उपयोग करके कई लाभ प्राप्त करते हैं:

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

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

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