गेम इंजन का उपयोग करने के क्या फायदे और नुकसान हैं? [बन्द है]


28

मुझे कैसे पता चलेगा कि गेम इंजन का उपयोग करना है या नहीं? मैं Android के लिए एक अपेक्षाकृत जटिल 2D गेम बनाना चाहता हूं। गेम इंजन को खोजने, स्थापित करने और सीखने के लिए या बस सब कुछ मैन्युअल रूप से करने के लिए मुझे यह तय करने के लिए किन कारकों को तौलना चाहिए?


यकीन नहीं होता कि गेम-डिज़ाइन सबसे अच्छा टैग है, यहाँ; लेकिन इंजन को ब्लैकलिस्ट कर दिया गया है। यह प्रश्न शायद केवल हटा दिया जाना चाहिए।
Gnemlock

जवाबों:


25

लाभ:

  • सबसे अधिक अगर आपके लिए सभी कोडिंग नहीं की जाती है, तो आपको केवल सामग्री, स्तर लेआउट आदि के बारे में चिंता करनी होगी।

  • उन पंक्तियों के साथ, मेमोरी मैनेजमेंट, एसेट लोडिंग, लाइटिंग (जटिल इंजनों में), आदि सभी को अच्छी तरह से डिजाइन किया गया है और परीक्षण किया गया है (उम्मीद है)।

  • जैसा कि नीचे उल्लेख किया गया है, यदि इंजन क्रॉस प्लेटफॉर्म है, तो आपको अपने गेम को पोर्ट करने के लिए कोई काम नहीं करना होगा।

नुकसान:

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

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

गेम इंजन की तुलना इस प्रश्न में काम करती है: प्रो और कॉन ऑफ़ विभिन्न 3D गेम इंजन


3
यह कुल मिलाकर एक बहुत अच्छा जवाब है, लेकिन मैंने अपने भौंह को पहले ही वाक्य में बदल दिया। मैं दृढ़ता से "ज्यादातर कोडिंग आपके लिए नहीं किया गया है" "से अधिकांश के लिए" कम स्तर की कोडिंग आप के लिए किया जाता है, तो फिर से बताएंगे; यह "एक खेल कोई कोडिंग की आवश्यकता है" के मिथक को बनाए रखने के लिए गैर जिम्मेदाराना के मुद्दे को भ्रामक है!
झटके

इसके अलावा, इंजन जो आप आसानी से कर सकते हैं उसे प्रतिबंधित कर सकते हैं - उदाहरण के लिए, बस के बारे में कई Minecraft या बौना-किले-शैली के परिवर्तनीय इलाके का समर्थन नहीं करते हैं। यह उन खेलों के लिए ठीक है जिन्हें इसकी आवश्यकता नहीं है, लेकिन सौभाग्य एक के साथ एक Minecraft क्लोन बनाना है।
11:25 बजे user253751

15

मेरे मामले में, मैंने खेल इंजनों के कारण कुछ भी नहीं होने के लिए बहुत समय (महीने) लहराया। मैं अब आमतौर पर प्लेग की तरह उनसे बचता हूं, हालांकि मैं समझता हूं कि उन्हें बुद्धिमानी से और संयम में इस्तेमाल किया जाना चाहिए।

मेरे लिए, मैं सभी संभावनाओं पर जुनून सवार हो जाता हूँ ! इंजन X में सुविधाओं की एक लंबी सूची को देखते हुए, यह "वाह मैं यह सब कर सकता हूं! मेरा खेल शानदार हो सकता है!" तो मैं इसे डाउनलोड करूंगा, डेमो चलाऊंगा और उन फीचर्स को एक्शन में देखकर चकाचौंध हो जाऊंगा, आदि फिर मैं अपनी आईडीई में एक नया प्रोजेक्ट बनाऊंगा और यह नहीं जानूंगा कि कहां से शुरू किया जाए। मैं कुछ कोड लिखूंगा, मैं इसे सीख सकता हूं और इसे डेमो प्रोजेक्ट से हटा सकता हूं, लेकिन वे सिर्फ डेमो थे।

मुझे नहीं पता था कि कैसे कुछ नहीं से शुरू करना है और कुछ बनाना है। मैं पहला कदम नहीं जानता था। मुझे एक इंजन के विचार से प्यार था, इसने मुझे प्रभावित किया और मुझे कुछ बनाने के लिए प्रेरित किया, लेकिन वास्तविक विकास के बारे में मेरा ज्ञान इतना सीमित था कि इंजन के निर्माण के रास्ते को जोड़ने के बारे में जानने के बाद भी, और शायद शुरू करने के लिए कुछ लाइनें लिखीं। इंजन और फिर इसे फिर से बंद कर दिया, इससे परे मैंने कभी भी कुछ भी सार्थक नहीं किया।

मैं एक बच्चे की तरह का बहुत अधिक हूँ। मैं इसके बजाय एक बार में अपना गेम बनाना चाहता हूं, उपयोगी कार्यों को फिर से करना और उन कार्यों को एक पुस्तकालय में इकट्ठा करना जो एक दिन मैं "इंजन" पर विचार कर सकता हूं। तो अब के लिए, मैं इंजन प्रचार से बचता हूं और बस निम्न-स्तरीय सामान के साथ छड़ी करता हूं।

और इंजनों का अपना स्थान होता है। यदि आप एक इंजन ढूंढते हैं और अपने आप को सोचते हैं, "यह वही है जो मैं लिखूंगा! उन्होंने मेरे लिए पहले से ही काम किया है, मुझे पहिया को सुदृढ़ करने की आवश्यकता नहीं है, और मुझे पता है कि इसे खेल में कैसे हुक करना है। मैंने पहले ही शुरू कर दिया है [या कम से कम पूरी तरह से योजना बनाई है और शुरू करने के लिए तैयार हूं] "तो यह शायद एक अच्छा फिट है। आपको पता होगा कि इसका उपयोग कैसे करना है, और कुछ उपयोगी बनाने के लिए इंजन का उपयोग करने के लिए अपना कोड कैसे लिखना है। लेकिन अगर आपको एक इंजन मिलता है तो इसका कारण सब कुछ होता है लेकिन किचन सिंक होता है और आपको लगता है कि आप दिग्गजों के कंधों पर खड़े हैं, तो आप गलत समझ रहे हैं। आपके सामने एक विशालकाय खड़ा है, और आपको उसके कंधों पर चढ़ने की जरूरत है।

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


4

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

देखने के लिए सबसे बड़ी बात समर्थन है, क्योंकि गेम इंजन सही नहीं हैं और वे आपके दिमाग को नहीं पढ़ते हैं, और आप किसी बिंदु पर सोमिंग पर अटक जाएंगे। इसलिए:

  • क्या कोई दस्तावेज है?
  • क्या प्रलेखन वास्तव में कोई अच्छा है?
  • क्या तकनीकी सहायता है (आमतौर पर नहीं, जब तक आप इसके लिए भुगतान नहीं कर रहे हैं)? टर्नअराउंड टाइम क्या है?
  • क्या ऐसे सामुदायिक फ़ोरम हैं जहाँ आप प्रश्न पोस्ट कर सकते हैं और वास्तविक उत्तर प्राप्त कर सकते हैं?
  • क्या ऐसे ट्यूटोरियल हैं जो आपको दिखाते हैं कि इंजन का उपयोग कैसे शुरू करें? क्या नमूना स्रोत कोड शामिल है? गति प्राप्त करने में आप इनको कितना उपयोगी पाते हैं?

2
+1 को प्रमुखता से प्रलेखन लगाने के लिए ... यही वह जगह है जहाँ कई ओपन सोर्स गेम इंजन विफल होते हैं
LearnCocos2D

3

किसी ऐसे व्यक्ति के रूप में जिसे सॉफ्टवेयर विकास का बहुत अनुभव है और जिसने हाल ही में वास्तव में स्क्रैच से गेम विकसित करने का प्रयास किया है, यहां मेरा 2 सेंट है।

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

तो, अपने स्वयं के प्रश्न का उत्तर दें, क्या आप सीखना चाहते हैं कि गेम सीखने के लिए उन चीजों को कैसे करना है जो आपके लिए यह लाभ लाती हैं? यदि हां, तो गेम इंजन का उपयोग न करें।


2

आपको "जटिल" से क्या मतलब है, इसका विस्तार करने की आवश्यकता है। एक अच्छा खेल इंजन निम्नलिखित सभी का ख्याल रखता है:

  • एक स्थिर फ्रैमर्ट पर प्रतिपादन
  • इनपुट से निपटने
  • प्रयोक्ता इंटरफ़ेस
  • ध्वनि / संगीत
  • संसाधन प्रबंधन (चित्र, ध्वनि, डेटा फ़ाइलें)
  • अपने खेल को सहेजना / लोड करना
  • भौतिकी (2 डी या 3 डी)

अपने बारे में सोचें, क्या मुझे पता है कि इनमें से प्रत्येक को कैसे कोड किया जाए? मुझे प्रत्येक कार्यक्रम में कितना समय लगेगा, और मुझे यह जानने में कितना समय लगेगा कि इनमें से प्रत्येक को इंजन कैसे बनाया जाए?


1

सबसे बड़ा फायदा: बहुत सी चीजें आपके लिए की जाती हैं। आपको पहिया का फिर से आविष्कार करने की आवश्यकता नहीं है।

एक और फायदा: खेल इंजन क्रॉस-प्लेटफॉर्म (यूनिटी) भी हो सकता है।

नुकसान? नियंत्रण? इंजन आपके लिए कुछ चीजों का ध्यान रख रहा है (जैसे रेंडरिंग), अगर उसमें बग या प्रदर्शन की समस्या है, तो आप बस इसे खुद ठीक नहीं कर सकते हैं।

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