कई प्रस्तावों के लिए 2 डी गेम बनाते समय मुझे क्या ध्यान में रखना चाहिए?


27

मैं एक 2D (Android) गेम बना रहा हूं। Android डिवाइस स्क्रीन रिज़ॉल्यूशन में काफी भिन्न होते हैं; अपना गेम बनाते समय मुझे क्या ध्यान रखना चाहिए?

  • क्या मुझे संकल्प के आधार पर सभी छवियों के बड़े संस्करणों को रखने और स्केल करने की आवश्यकता है (क्या यह बेकार स्थान नहीं है)?
  • क्या बिटमैप फोंट बड़े पैमाने पर हैं या मुझे कुछ और उपयोग करने की आवश्यकता है?
  • कुछ और मैं भूल रहा हूँ?

जवाबों:


26

मैं एक बेहद पोर्टेबल मोबाइल गेम का डेवलपर हूं, जो पीसी से लेकर टीवी तक, ब्लैक एंड व्हाइट अमेज़न किंडल (स्माइल्स एचडी - http://smileshd.com तक - आपके द्वारा देखे जाने से अधिक डिवाइस और प्लेटफ़ॉर्म) तक सब कुछ चलाता है। ।

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

पहलू अनुपात को बनाए रखते हुए किसी भी स्क्रीन को सूट करने वाली कलाकृति बनाने के लिए, ऐसी पृष्ठभूमि बनाएं जो सबसे विशिष्ट स्क्रीन से बड़ी हो, जो कभी देखी जाएगी। यह टेलीविजन के साथ अवधारणा शीर्षक-सुरक्षित क्षेत्रों के समान है।

http://en.wikipedia.org/wiki/Safe_area

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

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

आज मेरे साथ काम करने वाली भिन्नता "शीर्षक सुरक्षित" 3 डी ऑब्जेक्ट बना रही है। चूंकि वे 3D हैं, जो पूरी तरह से वर्टिकल से बना है, उन्हें स्क्रीन से बड़ा बनाने के लिए व्यावहारिक रूप से अधिक मेमोरी नहीं लगती है अगर वे फिट थे। जैसे ही पिक्सेल का घनत्व बढ़ता है, आप कुछ उच्च विवरण वाले पाठ उपलब्ध कर सकते हैं। यदि नहीं, तो ठीक है, यह थोड़ा धुंधला है।

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

http://www.smileshd.com/press/iPad/png/UI01.png

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

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

वाइड: http://www.smileshd.com/press/iPad/jpg/SmilesHD01.jpg

लंबा: http://www.smileshd.com/press/iPad/jpg/SmilesHD02.jpg

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

क्या मुझे संकल्प के आधार पर सभी छवियों के बड़े संस्करणों को रखने और स्केल करने की आवश्यकता है (क्या यह बेकार स्थान नहीं है)?

वैसे आप या तो "बेकार जगह" कर सकते हैं और एक ही निर्माण के साथ उपकरणों की एक विस्तृत विविधता का समर्थन कर सकते हैं, या "अपना समय बर्बाद कर सकते हैं" और कई उपकरणों के लिए MANY बिल्ड और कलाकृति का आकार बदलना होगा।

सबसे अच्छा मामला, आपको अपनी कलाकृति को अंतिम आकार से अधिक रिज़ॉल्यूशन पर बनाना चाहिए जो 1080p टेलीविज़न (1920x1080) पर होगा। आपके स्रोत कलाकृति में 2048x2048 एक सामान्य आकार होना चाहिए। या तो वह, या फ़्लैश और एडोब इलस्ट्रेटर जैसे वेक्टर कलाकृति टूल का उपयोग करने पर विचार करें।

मैं आपकी कलाकृति को आकार देने के लिए एक स्वचालित प्रक्रिया बनाने की जोरदार सिफारिश करूंगा। अधिकांश मोबाइल उपकरणों में आज टैबलेट शामिल हैं, 720p (1280x720) से अधिक रिज़ॉल्यूशन से अधिक नहीं है ... कम से कम, बहुत से नहीं। अगले साल हालांकि, हम अभी नहीं जानते हैं कि क्या यह सच होगा (iPad 3?)।

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

क्या बिटमैप फोंट बड़े पैमाने पर हैं या मुझे कुछ और उपयोग करने की आवश्यकता है?

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

http://en.wikipedia.org/wiki/Mipmapping

वैसे भी, मुझे उम्मीद है कि मदद करता है। अपने प्रोजेक्ट के साथ बेस्ट ऑफ लक।


2

सामान्य तौर पर, आपके द्वारा बनाई गई प्रत्येक बनावट 256x256 या 512x512 होनी चाहिए। यदि आप पैड (गैलेक्सी टैब, ऑनकॉम्ब, आईपैड) को भी लक्षित कर रहे हैं, तो 512x512 पूरी स्क्रीन को नहीं भरेगा, इसलिए आप उन कला संपत्तियों के बड़े संस्करणों को शामिल करना चाह सकते हैं जिन्हें स्क्रीन को भरने की आवश्यकता है। Apple में इस मामले को संभालने के लिए एक देशी "@ 2x" छवि प्रत्यय शामिल है।

सरल समाधान, जो मैंने खुद का उपयोग किया है, बस अपने खेल को 320x480 स्क्रीन (आईफोन) के लिए बनाना है। आईफोन 2 (640 x 960) के लिए इसे स्वाभाविक रूप से दोहराएं, और फिर एकमात्र अन्य मामला जिसे आपको वास्तव में अलग तरह से संभालना है, यह तथ्य है कि कुछ एंड्रॉइड डिवाइसों में एक लंबा स्क्रीन है - इसलिए बस ऊपर और नीचे (चित्र में) एक बफर डालें मोड)।

संक्षेप में - एक तटस्थ स्क्रीन आकार के लिए अपना गेम बनाएं, और फिर अपवादों को कवर करें


2
मुझे लगता है कि आपने मेरा Androidटैग मिस कर दिया । वैसे भी, बफर बेकार है; यह बेहतर है अगर आपका खेल वास्तव में तराजू और अच्छा दिखता है।
ashes999

1

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

एक स्क्रीन आकार या किसी अन्य के लिए निर्माण के बजाय, मैं आपको शुरुआत से ही विभिन्न प्रकार के निर्माण के लिए दृढ़ता से सुझाव दूंगा। आप न केवल विभिन्न पिक्सेल घनत्वों के बारे में बात कर रहे हैं, आप विभिन्न पहलू अनुपातों के बारे में भी बात कर रहे हैं। 16x9 और 16x10 बहुत अलग दृश्य अनुभव दे सकते हैं। इसलिए सुनिश्चित करें कि आप विभिन्न स्क्रीन आकृतियों और आकारों की विविधता पर नए परिवर्तनों का परीक्षण करते हैं।

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


1

Android इसके लिए कुछ सहायता प्रदान करता है ...

आप अपने ग्राफिक्स जैसी वस्तुओं के लिए "वैकल्पिक संसाधन" निर्दिष्ट कर सकते हैं।
इस लिंक पर "वैकल्पिक संसाधन प्रदान करना" अनुभाग देखें: http://developer.android.com/guide/topics/resources/providing-resources.html आपको एसडीके उदाहरणों में या Google के माध्यम से उदाहरण खोजने में सक्षम होना चाहिए।

इसके अलावा, Google एक एंड्रॉइड एमुलेटर प्रदान करता है जो आपको एसडीके के साथ मिलता है। आप अपने कोड का परीक्षण करने के लिए विभिन्न कॉन्फ़िगरेशन वाले कई आभासी उपकरणों को परिभाषित कर सकते हैं। यहाँ अधिक जानकारी के लिए एक लिंक है: http://developer.android.com/guide/developing/devices/emulator.html

गुड लक एम्बे


0

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

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