टॉप-डाउन शूटर में शत्रु स्पैनिंग विधि


20

मैं DoDonPachi , Ikaruga , आदि के लिए एक टॉप-डाउन शूटर पर काम कर रहा हूं । दुनिया के माध्यम से कैमरा आंदोलन को स्वचालित रूप से नियंत्रित किया जाता है, जो कैमरे के दृश्य क्षेत्र के अंदर स्थानांतरित करने में सक्षम खिलाड़ी के साथ होता है।

रास्ते में, दुश्मनों को रास्ते में विशेष बिंदुओं पर स्पॉन करने के लिए स्क्रिप्ट किया जाता है। हालांकि यह सीधा लगता है, मैं इन बिंदुओं को परिभाषित करने के दो तरीके देख सकता हूं:

  1. कैमरा की स्थिति: कैमरा ट्रिगर के रूप में 'ट्रिगर' अंक से गुजरता है
  2. पथ के साथ समय: "30 सेकंड में, 2 दुश्मनों को पालें"

दोनों ही मामलों में, कैमरा-रिलेटिव पोजिशन को परिभाषित किया जाएगा और साथ ही दुश्मन के व्यवहार को भी।

जिस तरह से मैं इसे देखता हूं, जिस तरह से आप इन बिंदुओं को परिभाषित करते हैं, वह सीधे 'स्तर के संपादक', या आपके पास क्या है, को प्रभावित करेगा।

क्या एक दृष्टिकोण का दूसरे पर कोई लाभ होगा?

जवाबों:


7

मैं सुझाव दूंगा कि वास्तव में पृष्ठभूमि मानचित्र पर स्पॉन पोज़िशन को नोड्स के रूप में रखा जाए जो किसी प्रकार के मैप एडिटर से दिखाई देते हैं। आप दो चर के साथ एक shmup स्पॉन का प्रतिनिधित्व कर सकते हैं:

  1. स्थिति वे पहली बार से दिखाई दे रहे हैं, जो एक बिंदु के रूप में सबसे अच्छा है
  2. नीचे स्क्रीन से दूरी जब आपको उन्हें स्पॉन करना चाहिए।

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


फिर से) बेशक, निर्यात पर आपको यह कोड रिवर्स करना होगा (यानी प्रति पंक्ति में, स्पॉन पॉइंट सक्रिय होने चाहिए, क्योंकि इस सिस्टम के साथ आपको दिखाई देने से पहले कुछ स्पॉन बिंदुओं के बारे में पता होना चाहिए। एक विस्तार हालांकि। यह वास्तव में सबसे तार्किक तरीका है।
काज

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

मैं इस विचार से प्यार करता हूँ क्योंकि यह वास्तव में संपादन को बहुत आसान बना देगा, जो हमेशा एक प्लस है
क्रिस वाटर्स

7

हालांकि, एक बड़े डोमिनोज़ प्रभाव के बारे में चिंता किए बिना, पथ को संशोधित करने के लिए कैमरा की स्थिति संभवतः अधिक लचीली होगी।

यदि आप समय के साथ जाते हैं, तो पथ को जोड़ने या हटाने के लिए बहुत बड़ा दर्द होगा क्योंकि आपको दुश्मन के बहुत सारे जवानों को संशोधित करना होगा।

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


2

मैं दृढ़ता से "कैमरा" को बिल्कुल नहीं हिलाने की सलाह दूंगा; हर समय एक ही निश्चित समन्वित स्थान में खिलाड़ी और दुश्मनों पर विचार करें। दुश्मन और पृष्ठभूमि स्क्रॉल दोनों को एक स्वतंत्र समय रेखा से मेल खाना चाहिए। यह सभी गणित को आसान बनाता है।


मैं आपसे आधा सहमत हूँ। निश्चित रूप से shmup भौतिकी नकली है और वास्तव में आगे नहीं बढ़ने वाले जहाज पर आधारित है। उस ने कहा, सवाल अभी भी मान्य है क्योंकि आपके पास विचार करने के लिए एक कैमरा आदि है
Iain

वास्तव में, यह सवाल को अमान्य नहीं करता है। यह अभी भी समय बनाम (आभासी) दूरी की यात्रा है। चाहे आप खिलाड़ी को आगे बढ़ाते हों या बैकग्राउंड केवल एक वैचारिक परत हो। इसके अलावा, गणित को आसान बनाने के लिए उन्हें डिकौप्‍लेट करना अन्‍य चीजों को बहुत कठिन बना सकता है, जैसे कि बैकग्राउंड में शत्रुओं को डालना (बैकग्राउंड), उन्‍हें बैकग्राउंड ऑब्जेक्ट से बचना, या बैकग्राउंड में कॉरिडबेल होना।
काज

1

मैं कैमरे की स्थिति के लिए जाऊँगा। यदि आप अपने मैप फ़ाइल में कुछ ग्राफिक्स के साथ दुश्मन मार्ग से मेल खाना चाहते हैं तो समय का उपयोग करना कठिन बना देगा (जैसे कि घुमावदार रास्ते का अनुसरण करने वाले दुश्मन)। इसके अलावा यह आपको स्पॉनप्वाइंट को बदलने के बिना स्क्रॉल को गति देने की अनुमति देता है।
फ्लिपसाइड यह है कि स्क्रॉल को तेज करने से दुश्मन तेजी से आएंगे। जिसे एक प्लस माना जा सकता है (स्पीडअप में कठिनाई होगी) या एक नकारात्मक (स्क्रॉल गति पेसिंग को प्रभावित करती है)।


1

मैं एक स्पेस शूटर गेम पर भी काम कर रहा हूं। मैंने जो किया वह है मैंने GameController नामक एक खाली गेमबॉजेक्ट का उपयोग किया। GameController.cs नामक एक स्क्रिप्ट घटक जोड़ा गया है जो स्पॉइंग भाग को नियंत्रित कर रहा है जैसे,

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

http://www.youtube.com/watch?v=VqFJsU63GRo


0

मैं उन्हें बड़े मानचित्र की पृष्ठभूमि पर रखूँगा और उस मानचित्र पर उनका प्रारंभिक आवागमन पथ शामिल करूँगा। इस तरह मैं कैमरा पथ को बाद में सार्थक तरीके से बदल सकता था बजाय इसके कि दोनों पथ और समय को अलग-अलग बदलने की आवश्यकता हो।

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