2 डी स्तर डिजाइन / संपादन / बचत सवाल [बंद]


12

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

इसलिए मेरे सवाल हैं:
क्या इसके लिए बेहतर तरीके हैं?
इसके लिए पेशेवर तरीके क्या हैं?
क्या मुझे टाईल्स और टाइल्स के आधार पर मैप एडिटर के साथ ऐसा करना चाहिए? (किसी कारण के लिए मुझे यह पसंद नहीं है, लेकिन मुझे लगता है कि अगर इसकी सबसे अच्छी विधि मैं इसका इस्तेमाल करेगा)
एक टाइल आधारित स्तर के साथ, आपको ढलानों का एहसास कैसे होगा, और आप उन्हें टक्कर के लिए कैसे जांचेंगे?

जवाबों:


10

एक 2D MMO के लिए हम http://www.mapeditor.org/ का उपयोग करते हैं । हम बैकग्राउंड, बैकग्राउंड डेकोरेशन के लिए कई लेयर्स का इस्तेमाल करते हैं, उसी तरह की वस्तुएं जो खिलाड़ी के सामने और ऑब्जेक्ट्स के रूप में होती हैं। और टक्करों को चिह्नित करने के लिए सिर्फ एक लाल वर्ग के साथ एक अतिरिक्त परत।

मुझे यकीन नहीं है कि अगर यह एपॉच या सॉफ्टवेयर 2 डी साइड स्क्रोलर के लिए काम करता है, लेकिन यह इस पर एक नज़र रखने के लायक हो सकता है।


+1। यह एक महान उपकरण है। यह खुला स्रोत भी है, इसलिए यदि आपको आवश्यकता हो तो आप इसे बढ़ा सकते हैं।
Janis Kirsteins

यह वास्तव में एक अच्छा उपकरण है, मैंने इसका परीक्षण किया और इसे अपने खेल में आयात करने में कोई समस्या नहीं थी।
सिमील

1
ठीक है, अब मैं जानना चाहता हूं कि कैसे गैर-टाइल-आधारित स्तर बनाने के लिए, कीड़े की दुनिया की तरह, लेकिन मुझे लगता है कि मैं किसी दिन यह एक नया सवाल
पूछूंगा

6

एक सामान्य तरीका उदाहरण के लिए सिर्फ एक स्ट्रिंग हो सकता है

0,0,0,0,0,0,1,1,1,0,0,0,2

जहां 0 एक ऐसा ब्लॉक होगा जिस पर आप चल सकते हैं 1 स्पाइक्स हो सकता है और 2 फिनिश लाइन हो सकती है

आप बस एक पाठ फ़ाइल के माध्यम से इसे पढ़ेंगे (या इसे गेम में हार्डकोड किया गया है) और संबंधित ब्लॉक को आकर्षित करें जो संख्या से जुड़ा हुआ है और आपके कोलिशन लॉजिक को संभालना है लेकिन यह सेटअप है।

जाहिर है आप जो चाहें प्रारूप चुन सकते हैं और शायद 0 का मतलब है 5 चलने योग्य ब्लॉक।

यह सिर्फ एक तरीका है जिससे इसे हासिल किया जा सकता है।

http://www.smudgedcat.com/tut_tiledlevel.html यह लिंक XNA फ्रेमवर्क का उपयोग करके c # के भीतर एक उदाहरण है। यह आपको एक मोटा विचार देगा (इसमें ढलान नहीं है, लेकिन इस तरह के मामले को परिभाषित करने के लिए एक समान चीज का इस्तेमाल किया जा सकता है)

सादर निशान


यह वास्तव में बहुत बढ़िया है "एक्साइट बाइक" क्या यह कस्टम नक्शे को निंटेंडो पर वापस किया था। vc.nintendolife.com/games/nes/excitebike
स्टीफन

5

वैकल्पिक शब्द

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


मुझे लगता है कि इन-गेम स्तर संपादक दृष्टिकोण बहुत सामान्य है। डेवलपर मोड एक अंदर का खाता है कि कैसे एक बहुत लोकप्रिय गेम, ब्रैड के लिए स्तरों को डिज़ाइन किया गया था। खेल में एक विकास मोड है जहां स्तरों का निर्माण / संशोधन किया जा सकता है। स्तरों में एक टकराव की परत होती है, जो चित्रमय टाइलों से ढकी होती है:

वैकल्पिक शब्द


और मैं व्यक्तिगत रूप से इसकी अनुशंसा नहीं करता, लेकिन एलेग्रो के लिए एक 2D डेमो प्रोग्राम ने कुछ प्रकार के 3D मॉडलिंग प्रारूप का उपयोग किया और इसे एक कस्टम-इन-गेम प्रारूप में परिवर्तित किया। लाभ यह था कि यह बहुत चिकनी, निरंतर सतहों को मॉडल कर सकता था। (यह एक 2 डी भौतिकी-आधारित स्केट बोर्डिंग गेम था।)

एलेग्रो डेमो गेम के स्तर के डेटा को संपादित करने के लिए, हम स्वतंत्र और खुले स्रोत टूल ब्लेंडर का उपयोग करते हैं। आप इसे यहाँ प्राप्त कर सकते हैं:

http://blender.org

यहां चरण निर्देश दिए गए हैं कि यह कैसे काम करता है:

1) फ़ाइल को अपने ब्लेंडर स्क्रिप्ट फ़ोल्डर में ademo_export.py रखें। यह निर्यात स्क्रिप्ट है जो .blend प्रारूप से .txt प्रारूप में डेमो गेम द्वारा उपयोग किए जाने वाले में परिवर्तित हो जाएगी। यूनिक्स के तहत, रास्ता होगा:

~ / .Blender / scripts / ademo_export.py

2) .blend फ़ाइल ब्लेंडर को लोड करें। यूनिक्स के तहत, इसे डायरेक्टरी से लेवल.ब्लेण्ड फाइल के साथ टाइप करें:

ब्लेंडर -w level.blend

(-W विंडो मोड का उपयोग करना है, जो मुझे पसंद है।)

3) स्तर संपादित करें। मेनू में, के तहत

मदद -> लिपियों मदद ब्राउज़र -> निर्यात -> Allegro डेमो गेम स्तर

आपको कुछ उपयोगी टिप्स मिलेंगे।

4) फ़ाइल सहेजें (कमिट करने से पहले कम्प्रेशन का उपयोग करें)। निर्यात मेनू से .txt के रूप में इसे निर्यात करें, Allegro डेमो गेम स्तर का चयन करें।

5) Level.txt का उपयोग कर level.dat को अपडेट करें, गेम में नया स्तर दिखाई देना चाहिए।


2

'पेशेवर' विधियों में संभवतः C # में एक बहुत विस्तृत मानचित्र संपादक शामिल होगा, जो उन्हें हर चीज पर पूर्ण नियंत्रण प्रदान करेगा।

दो मुख्य दृष्टिकोण हैं; एक करना आसान है, लेकिन उतना प्रभावी नहीं।

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

2

मेरे पास समान विचार हैं (जैसे कि गेम लिखने के शौक को वापस लें - नौकरी और अन्य प्रतिबद्धताएं ...)

मैं 'मैप एडिटर' को गेम / एप्लिकेशन के हिस्से के रूप में विकसित करने के मार्ग पर गंभीरता से विचार करूंगा।

यदि आपका खेल कभी भी आपके अपने पीसी से आगे निकल जाता है तो सामुदायिक सामग्री बहुत बड़ा वरदान होगी।

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