क्या चरित्र-चालित गेम इंजन को उस बिंदु पर सरल बनाना एक अच्छा विचार है, जहां स्क्रिप्टिंग / प्रोग्रामिंग सीखना अनावश्यक है?


9

मुझे याद है, और मुझे अभी भी लगता है, कि कोई भी सरल उपकरणों का परीक्षण करने के लिए एक आदर्श 3 डी गेम नहीं बना सकता है जैसे कि एकता के विशाल उपकरणों का उपयोग किए बिना या व्यापक सी ++ प्रोग्रामिंग, डिज़ाइन पैटर्न, एक सभ्य या बुनियादी 3 डी इंजन, आदि को जानने के बिना।

अब मैं सोच रहा हूं, क्योंकि मैं प्रोग्रामिंग जानता हूं, क्या मैं उन लोगों से ज्यादा भाग्यशाली हूं, जिन्हें कुछ बनाने से पहले प्रोग्रामिंग सीखने की जरूरत है। यहां तक ​​कि स्क्रिप्टेड इंजन जैसे कि एकता बच्चों के लिए नहीं है, और मेरी समझ से वे चीजों को करने के अपने तरीके तय करते हैं। यह Ogre या Irrlicht जैसे इंजन के मामले में नहीं है।

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

जब मैं प्रोटोटाइप कहता हूं, तो मेरा अर्थ "सामान्य" भी है कि कोई गेमप्ले मापदंडों के एक सेट से चुन सकता है जैसे कि दृश्य प्रबंधक, खिलाड़ी का कैमरा पीओवी, नियंत्रण, कुछ बहुत ही बुनियादी टकराव / भौतिकी और एकीकरण। बुनियादी स्टीयरिंग (उदाहरण के लिए OpenSteer)। मुख्य विचार एआई सैंडबॉक्स बनाना है, लेकिन 3 डी में है, इसलिए इसे 2 डी बाधाओं के बिना प्रदर्शित किया जा सकता है (और 2 डी के बजाय 3 डी प्रोजेक्ट के लिए 3 डी में प्रोटोटाइप के लिए इसे और अधिक फिट बना सकता है)।


एक 'बुनियादी' 3 डी इंजन विशाल नहीं है, और सी ++ प्रोटोटाइप के लिए भयानक है। उसके लिए अजगर की कोशिश करें।
कम्युनिस्ट डक

जवाबों:


6

मुझे वास्तव में ब्लेंडर में अंडर-सराहित गेम इंजन पसंद है। (http://www.blender.org) सेंसर-कंट्रोलर-एक्ट्यूएटर मॉडल वास्तव में गैर-प्रोग्रामर के लिए भी अनुसरण करना आसान है, और यह एक पूरी तरह से पूरा गेम बनाने के लिए संभव है (एक एनिमेटेड चरित्र को ले जाएं, एक हथियार को आग लगा दें, लक्ष्यों को नष्ट करें , बिना किसी प्रोग्रामिंग के, बिना किसी प्रोग्रामिंग के, स्कोर स्कोर करें, स्वास्थ्य का ध्यान रखें, स्तर को रीसेट करें या नए पर जाएं)।

बेशक, कुछ चीजों को प्रोग्रामिंग की आवश्यकता होती है (विशेष रूप से एक एफपीएस के लिए माउस इनपुट प्राप्त करना।) हालांकि, ब्लेंडर पहले से ही पायथन को शामिल करता है, और पायथन स्क्रिप्टिंग को मॉडल में बहुत अच्छी तरह से बांधा गया है, इसलिए आपको सेंसर-एक्ट्यूएटर्स को पायथन के साथ बदलने की आवश्यकता नहीं है। इसके बजाय, आप बस एक बहुत ही सरल 'पास-थ्रू' कंट्रोलर से पूरी पायथन स्क्रिप्ट पर स्विच करते हैं जो दृश्य के सभी सेंसर को पढ़ सकती है और सभी एक्ट्यूएटर्स को कंट्रोल पास कर सकती है।

यह ब्लेंडर में कुछ दिनों में एक गेम प्रोटोटाइप बनाने के लिए काफी संभव है (मैंने पिछले साल एक स्थानीय बच्चों के संग्रहालय में एक परियोजना के लिए किया था।)

बेशक, कुछ भी पुराने-पुराने प्रोग्रामिंग को नहीं जानता है, और आखिरकार, एक डेवलपर को प्रोग्रामिंग को समझने की आवश्यकता है।


यह बॉक्स के बजाय कोड के साथ इस खेल इंजन का उपयोग करने के लिए काफी अच्छा होगा ... शायद यह उपयोग करने के लिए पर्याप्त साफ नहीं है, लेकिन मुझे आश्चर्य है ...
21

4

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

यह कहा जा रहा है, सभी स्क्रिप्टिंग को पाठ-आधारित प्रोग्रामिंग भाषा के साथ करने की आवश्यकता नहीं है। दृश्य पटकथा प्रणाली बनाने की दिशा में कुछ काम (लेकिन बहुत कुछ नहीं) हुआ है। अवास्तविक स्तर की स्क्रिप्टिंग टूल, किसमेट, एक का एक बहुत अच्छा उदाहरण है। स्रोत इंजन में एक समान मैकेनिक है, लेकिन यह एक समतल विमान के बजाय दुनिया में संस्थाओं का उपयोग करता है।

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

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


आप अवास्तविक किस्मत की तरह मतलब है?
DeadMG

1

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

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

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