अधिकांश सभ्य इंजन और चौखटे आपको वह कार्यक्षमता प्रदान करते हैं जिनकी आपको आवश्यकता होती है, और कभी भी आपके रास्ते में नहीं आती हैं।
क्या वे? बल्कि यह वास्तव में इस बात पर निर्भर करता है कि आप क्या कर रहे हैं, ग्राफिक रूप से बोल रहे हैं।
कई प्रकार के खेलों के लिए, ग्राफिकल सवालों के मानक उत्तर हैं। उदाहरण के लिए औसत 2 डी गेम को 2 डी प्रूव के साथ ठीक से संभाला जा सकता है, उदाहरण के लिए, एक्सएनए / मोनोगोम। यह सिर्फ स्प्राइट्स है, जो इलाके के लिए बैचों में आ सकता है, घुमाया जा सकता है, और आगे भी।
लेकिन अपने खेल क्या हुआ अगर इस्तेमाल किया जा करने के लिए औसत 2 डी खेल है, तो आप कुछ शांत तकनीक के बारे में इस तरह के एक ऊँचाई मानचित्र का उपयोग कर एक बहुरुपिया स्क्रीन पर गहराई रिश्तेदार की उपस्थिति है कि निर्माण करने के लिए के रूप में पढ़ा,। और आप ऐसा करना चाहते हैं।
अब आप सामान्य मानचित्रण और यहां तक कि संभवतः लंबन मानचित्रण भी नियोजित कर रहे हैं। "स्प्राइट्स रेंडरिंग" के समान संदर्भ में, लेकिन बहुत सारे प्योर 2 डी इंजनों की आवश्यकता होती है। विशेष रूप से, इसे मल्टीटेक्स्ड "स्प्राइट ब्लिटिंग" की आवश्यकता होती है, जो कि ऐसा कुछ नहीं है जो कई 2D इंजन कर सकते हैं।
यदि आपका इंजन आपके साथ अनुकूलन नहीं कर सकता है तो आप क्या करते हैं? तो इसका मतलब है कि आपको कई पास करने होंगे, एक रंग के लिए और एक सामान्य मानचित्र के माध्यम से प्रकाश व्यवस्था के लिए। लेकिन यह काम नहीं करता है, क्योंकि आपको रंग देखने के लिए लंबन मैपिंग को नियुक्त करने के लिए सामान्य नक्शे की ऊंचाई के क्षेत्र की आवश्यकता होती है। तो अब क्या? पारदर्शिता करने के लिए आपको अल्फा की आवश्यकता होती है, इसलिए आप अल्फा को चोरी नहीं कर सकते। और इंजन सिर्फ मल्टीटेक्स्चर का समर्थन नहीं करता है।
तो आपको निम्न में से एक चुनना होगा:
- विचार का त्याग करें। इसका मतलब है कि आपका खेल कार्यात्मक रूप से आपके इंजन द्वारा सीमित है।
- मल्टीटेक्स्ट करने के लिए इंजन को हैक करें। यह मानते हुए कि आपके पास स्रोत कोड तक पहुंच है, अब आप इसे किसी और के कोड पर प्रहार करने के लिए खुद पर ले रहे हैं। इसका मतलब यह भी है कि आपको इसे बनाए रखने की ज़रूरत है और इसे अपने ठोकर के साथ नहीं तोड़ना चाहिए।
- इंजन की सीमाओं के भीतर आप सबसे अच्छा कर सकते हैं। तो आप सामान्य मानचित्रों पर लंबन प्राप्त कर सकते हैं, लेकिन रंगों पर नहीं। यह वही नहीं हो सकता है जो आप चाहते थे, लेकिन यह कुछ भी नहीं से बेहतर है।
उदाहरण के रूप में, ज्यामिति युद्धों को लें। अधिकांश 2D इंजन इस प्रकार के दृश्यों को चूसते हैं, क्योंकि उनमें से अधिकांश रेखाओं को नहीं बल्कि ड्राइंग स्प्राइट के आसपास बनाए जाते हैं। यह एक ऐसा खेल है जिसमें बहुत ही खास तरह के रेंडर की जरूरत होती है।
दिन के अंत में, आपको अपने खेल के उन तत्वों की जिम्मेदारी लेनी होगी जो आपके खेल की जरूरतों के लिए महत्वपूर्ण हैं । यदि आपके खेल का दृश्य रूप मुख्य रूप से विशिष्ट प्रभावों के बजाय आपके द्वारा उपयोग की जाने वाली छवियों और मॉडलों की कला शैली द्वारा विकसित किया गया है, तो पूर्व-पैक समाधान का उपयोग करना ठीक है। लेकिन अगर आपके गेम की दृश्य शैली को कस्टम रेंडरिंग कोड द्वारा महत्वपूर्ण रूप से परिभाषित किया गया है, तो यह अच्छा है कि यदि आप बॉक्स के बाहर की चीजों को करने का निर्णय लेते हैं तो एक मानक इंजन एक गंभीर सीमा बन सकता है।
इसके अलावा, एक बहुत ही व्यावहारिक मुद्दा है: सभी गेम इंजन समान रूप से पोर्टेबल नहीं हैं।
मोबाइल प्लेटफ़ॉर्म के हालिया उदय के साथ, खेलों के लिए बाज़ार कई ओएस और उपयोगकर्ता-इंटरफ़ेस उपकरणों में फैला हुआ है। सभी इंजन सभी उपकरणों पर काम नहीं करते हैं। और यदि आपका इंजन एक प्लेटफॉर्म पर काम नहीं करता है, तो आप निश्चित रूप से इसे एक पर काम करने के लिए समय नहीं लेंगे । सब के बाद, यही कारण है कि आपने पहली जगह में एक इंजन का इस्तेमाल किया है, है ना?
यदि यह आपके लिए महत्वपूर्ण है कि आपका गेम किसी विशेष प्लेटफॉर्म पर काम करता है, तो आपको फिर से इसकी जिम्मेदारी लेने की आवश्यकता है। और इसके साथ सफलता सुनिश्चित करने का "सबसे आसान" तरीका यह है कि आप इसे स्वयं करें। एक इंजन बनाने के लिए जो कई प्लेटफार्मों पर काम कर सकता है, शायद सरल प्लेटफॉर्म-विशिष्ट रूपरेखाओं को नियोजित करना जहां कुछ निम्न-स्तरीय विवरणों को संभालने की आवश्यकता होती है। इस तरह, अगर यह टूट जाता है, तो यह आपका कोड है; आप इसे ठीक करने में सक्षम होने के लिए सबसे अच्छे व्यक्ति हैं।