यथार्थवादी 2 डी रोल-प्लेइंग गेम टक्कर का पता कैसे लगाएं?


9

मैं हमेशा स्टार महासागर, अंतिम काल्पनिक, मन की तलवार और यहां तक ​​कि "टेल्स ऑफ" श्रृंखला जैसे पुराने जमाने के 2 डी रोल-प्लेइंग गेम बनाना चाहता हूं, और मुझे लगता है कि बहुत सारे लोग करते हैं। लेकिन कोड की एक भी लाइन लिखने से पहले मैंने बहुत सारे शोध, ड्राइंग और ट्रायआउट किए।

मुझे अपने प्रश्नों के लगभग सभी उत्तर मिल गए हैं, लेकिन एक समस्या है जिसका मैं हल नहीं कर पाया हूँ: आप एक यथार्थवादी लेकिन अभी तक साधारण टक्कर का पता कैसे लगाते हैं , जैसे कि मैंने पहले नाम वाले खेलों में?

मैं पहले से ही टक्कर का पता लगाने के कई तरीके जानता हूं, निम्नलिखित उदाहरण देखें:

टकराव का पता लगाने के उदाहरण

इनमें से कोई भी मेरी जरूरतों को पूरा नहीं करता है।

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

मैंने दस्तावेज़ीकरण बहुत पढ़ा है लेकिन मुझे कभी ऐसा कुछ नहीं मिला जो मुझे अच्छा लगे। और मेरे सभी प्रयास मेरे साथ खेलने के लिए उपयोग किए जाने के करीब नहीं दिखे। तो अगर आपके पास कोई अच्छा लिंक या ट्यूटोरियल है कि कैसे विकसित 2D आरपीजी काम करते हैं तो कृपया मुझे बताएं।


2
उस टकराव के मुखौटे के लिए आप कौन सा वातावरण विकसित कर रहे हैं? यह वास्तव में अधिकांश आधुनिक प्रणालियों के लिए चिंता का विषय नहीं है, और टक्कर के मुखौटे वास्तव में ध्वनि करते हैं जैसे आप क्या देख रहे हैं।
ग्रेगरी एवरी-वियर

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

जवाबों:


9

एन ट्यूटोरियल यहाँ मदद कर सकते हैं। मोटे तौर पर, वे एक आर्केड-शैली वाले प्लेटफ़ॉर्मर के लिए हैं, लेकिन वे सिर्फ एक टॉप-डाउन व्यू आरपीजी के लिए काम करेंगे; बस गुरुत्वाकर्षण लागू न करें। आधार बुनियादी आकृतियों के एक संग्रह में टकराव के लिए परीक्षण कर रहा है - सर्कल, अक्ष-संरेखित बाउंडिंग बॉक्स, लाइनें, अंक, वगैरह।

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

जहां मैं काम करता हूं, हमने काफी कुछ प्लेटफार्म और कुछ टॉप-डाउन एक्सप्लोरेशन गेम्स किए हैं। हम उन्हें GBA दिनों से कर रहे हैं। हम अक्सर एएबीबी का उपयोग पात्रों और वस्तुओं के लिए करते हैं, जो एक स्प्राइट संपादक में ट्यून करने योग्य है - और हम यहां पागल हो जाते हैं, प्रति टन एक टन बक्से की अनुमति देते हैं, कुछ अलग-अलग उद्देश्यों के साथ। हम कर सकते है:

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

स्तर ज्यादातर लाइन खंडों के तार होते हैं; हमारे पास प्रति खंड मेटाडेटा का थोड़ा सा नुकसान या फिसलन सतहों आदि का वर्णन करने के लिए है।

इसलिए अधिकांश टकराव का पता लगाने और प्रतिक्रिया AABB-vs-AABB या AABB-vs-खंड बन जाता है। कभी-कभी हम एक प्रोजेक्टाइल के लिए एक सर्कल-बनाम-कुछ में टॉस करते हैं, हालांकि अक्सर एक एएबीबी यहां भी करेगा।

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


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

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