2013-10-19 5 views
7

मैं महीनों के लिए एंडइंजिन के साथ परीक्षण कर रहा हूं, लेकिन अभी भी कोई गेम प्रोटोटाइप नहीं बनाया है। वहाँ कुछ कारणों की वजह मैं libgdx स्विच करना चाहते हैं:एंडइंजिन से libgdx तक स्विचिंग - क्या जानना है?

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

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

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

उत्तर

8

आप निम्नलिखित बातें के बारे में पता होना चाहिए:

  1. यह अधिक performant है, एक तथ्य thats और व्यापक रूप से जाना जाता है। Libgdx अधिक कठिन कार्यों के लिए देशी कोड का उपयोग करता है।
  2. इस पर विकास बहुत तेज़ है, मुझे नहीं लगता कि क्यों (कुछ) लोग कहते हैं कि सरल कार्यों को करने के लिए बहुत सी रेखाएं लेता है, जो कि सच नहीं है। लाइब्रेरी प्रोग्रामिंग की संभावना निम्न स्तर के रूप में प्रोग्रामिंग की संभावना के साथ बहुत उच्च स्तर है। विशेष रूप से डेस्कटॉप पर परीक्षण करने की क्षमता, ऐप को एंड्रॉइड डिवाइस या बदतर पर तैनात करने की प्रतीक्षा करने के बजाय ... एमुलेटर। इससे विकास का समय तेजी से बढ़ता है।
  3. पुस्तकालय बहुत सारी आजादी देता है, आप चीजें बना सकते हैं जैसे कि इसे चाहते हैं। उदाहरण के लिए मैंने एक टेम्पलेट बनाया है जिसका उपयोग मैं हर नए गेम के लिए करता हूं, जो मेरे लिए चीजों को और भी तेज़ बनाता है।
  4. आपको ओपनजीएल, एंड्रॉइडस्क या lwjgl को नहीं पता है, वास्तव में आप केवल लाइब्रेरी के अवशेषों को जानने की आवश्यकता है। लेकिन यदि आवश्यक हो तो आप मंच विशिष्ट कोड बना सकते हैं। और यह अच्छी तरह से प्रलेखित है।
  5. पूरक पीटी। बिंदु, libgdx में बॉक्स 2 डी भौतिकी और बुलेट (3 डी) भौतिकी के लिए एक रैपर है जो उपयोग करने में बहुत आसान है (बुलेट को छोड़कर: एस ना मजाक कर रहा है)। और मैं कहूंगा, नया 3 डी एपीआई लगभग पूरा हो गया है, अगले स्थिर रिलीज के लिए ज्यादा नहीं बदलेगा, मैंने आईआरसी पर भी पढ़ा है कि यह काफी कुछ किया गया है। मैं इसका उपयोग करता हूं और उपयोग करने के लिए आपको यह बहुत आसान बता सकता हूं।

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

3

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

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

किसी नए टूल की कमियों और परेशानियों के लिए अपने वर्तमान टूल के छोटे आने और नुकसान का व्यापार करने के बजाय, संभवतः आप जो टूल जानते हैं उसके साथ चिपकने से बेहतर हो।

+0

मैं libGDX के निम्न स्तर से सहमत नहीं हूं। उदाहरण के लिए इसमें टाइलमैप लोडर जैसी कई उच्चतम सामग्री हैं। और आपको libGDX के साथ काम करने के लिए OpenGL के बारे में कुछ भी जानने की आवश्यकता नहीं है ... – noone

+0

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

+0

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

4

दोनों पीटी। और लेस्टैट अपने उत्तरों में बहुत अच्छे अंक बनाते हैं। लेकिन मेरे लिए, मुझे लगता है कि केवल एक चीज है जिसे आपको libgdx के बारे में जानने की आवश्यकता है, जो कि libgdx एक टूलकिट इंजन या ढांचा नहीं है। यह एक तथ्य है कि आप चीजों को करने के किसी विशेष तरीके से बंद नहीं हैं। यदि आप माइक्रो-फ्रेमवर्क चाहते हैं, तो libgdx के साथ एक लिखें। यदि आप "एकता 2 डी" लिखना चाहते हैं, तो इसे libgdx के साथ लिखें। यदि आप सब कुछ एक फाइल में रखना चाहते हैं, तो वस्तु उन्मुख सिद्धांतों को हवा में फेंकना, आप libgdx के साथ ऐसा कर सकते हैं।

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

लेकिन मूल रूप से यह एक टूलकिट है, यद्यपि यह एक उत्कृष्ट है। आप टूलकिट के साथ क्या करना चुनते हैं आप पर निर्भर है।