क्या मैं विकर्ण आंदोलन को मानचित्र के अधिक अन्वेषण से रोक सकता हूं?


57

एक टाइल-ग्रिड में जहां 8 दिशाओं में से कोई भी आंदोलन बिल्कुल समान मात्रा में घुमाव (शतरंज-बोर्ड शैली के नियम) लेता है, क्या मैं विकर्ण आंदोलन को ऑर्थोगोनल आंदोलन से अधिक नई टाइल दिखाने से रोक सकता हूं?

उदाहरण के लिए: आप नीचे दी गई छवि में लाल बॉक्स हैं। हरे रंग की कोशिकाएं वर्तमान में आपको दिखाई देती हैं (वर्ग क्षेत्र)। आप आठ में से किसी भी दिशा में एक टाइल की दूरी को स्थानांतरित कर सकते हैं।

यदि आप उत्तर-पूर्व की ओर बढ़ते हैं , तो आप 13 नई टाइलें (नीले रंग में दिखाए गए) का पता लगाएंगे। यदि आप इसके बजाय दक्षिण की ओर बढ़ते हैं , तो आप केवल 7 नई टाइलें (बैंगनी में दिखाए गए) का पता लगाएंगे।

स्थिति पर निर्भर दृष्टि के साथ ग्रिड

मैं अन्वेषण के लिए प्रत्येक दिशा में यात्रा को समान रूप से अनुकूल कैसे बना सकता हूं?


27
यह इस तरह के खेल के डिजाइन के साथ एक मौलिक दोष है। आपको या तो विकर्ण आंदोलन या हेक्स ग्रिड जैसी किसी चीज़ पर स्विच करने की अनुमति नहीं है, जिसमें यह समस्या नहीं है।
तेतराद

1
@ टैट्राड आप इसे गलत होने के बारे में गलत नहीं हैं, लेकिन आप शायद इस तरह के खेल में प्रचलित नहीं हैं ।
श्री स्मिथ

8
किसी भी खेल में जहां ऑर्थोगोनल और विकर्ण आंदोलन समान रूप से त्वरित होते हैं, वहाँ हमेशा कुछ चीजें होती हैं ऑर्थोगोनल आंदोलन और इसके विपरीत के लिए विकर्ण आंदोलन बेहतर होता है। यह सिर्फ हल करने योग्य नहीं है - यदि आप एक छेद को प्लग करते हैं तो दूसरा खुलता है।
23

3
पूरी तरह से उत्तर नहीं है, लेकिन क्या यह आपके खेल में एक विकर्ण को एक ओर्थोगोनल की तुलना में लंबे समय तक ले जाने के लिए संभव है जो विकर्ण लंबाई के आनुपातिक है? दूसरा, आपके पास एक मिश्रित समाधान हो सकता है जहां आंदोलन हीरे के पैटर्न का उपयोग करता है और दृश्य दूरी वर्ग एक का उपयोग करता है?
वैलिट

2
एक और नहीं-काफी-एक-जवाब: ऑर्थोगोनल चाल के रूप में वे अब व्यवहार करते हैं, लेकिन विकर्ण चाल प्रकाश स्रोत "फजी" बनने का कारण बनती है - यह उन सभी 13 वर्गों को प्रकट नहीं करता है जो अभी सीमा में आए हैं, लेकिन केवल 7 (या तो) उनमें से, यादृच्छिक रूप से निर्धारित।
स्नोबोउ

जवाबों:


67

डंगेन्स और ड्रैगन्स 3.5 (पेन-एंड-पेपर आरपीजी) में एक समाधान है जो आंदोलन और ग्रिड-आधारित त्रिज्या गणना दोनों के लिए उपयोग किया जाता है: विकर्ण आंदोलन की लागत 1.5 है जो ऑर्थोगोनल लागत है। चूंकि एक इकाई वर्ग का विकर्ण लगभग 1.414 है, 1.5 बहुत करीब है।

क्योंकि डी एंड डी 3.5 केवल पूर्णांक आंदोलन का समर्थन करता है, जिस तरह से यह वास्तव में गणना की जाती है कि ऑर्थोगोनल आंदोलन की लागत "एक वर्ग" है। आपके पहले विकर्ण आंदोलन में केवल "एक वर्ग" की लागत होती है, लेकिन दूसरी विकर्ण लागत "दो वर्ग" होती है। आप प्रत्येक विकर्ण चाल के लिए एक और दो वर्गों को वैकल्पिक करते हैं। अपने खेल के भीतर इस आंदोलन नियम को लागू करना विकर्ण आंदोलन के साथ कई समस्याओं को संभाल लेगा।

जैसा कि यह आरेख दिखाता है, यह आंदोलन नियम सर्किलों का एक उचित अनुमान बनाता है और यह भी सही दूरी (जब शुरू की 15 इकाइयों के भीतर) की तुलना में 1 से अधिक नहीं है।

यहाँ छवि विवरण दर्ज करें

यदि आपकी दृष्टि / अन्वेषण त्रिज्या की गणना भी इस तरह से की जाती है, तो विकर्ण आंदोलन और तिरछी खोजों के बारे में ऑर्थोगोनल के रूप में करीब या दूर होंगे।


बिल्कुल वही जो मैं सुझाना चाहता था। यद्यपि यह ध्यान देने योग्य है कि यह रणनीति आंदोलन को प्रतिबंधित करने के मामले में गिर जाती है यदि चरित्र केवल प्रति मोड़ एक स्थान को स्थानांतरित कर सकता है (जो प्रश्न के आरेख से मामला प्रतीत होता है?)। आप बदल सकते हैं "याद" अगर वे मोड़ के बीच विषम / भी विकर्ण पर हैं, हालांकि यह खिलाड़ी को भ्रमित / निराशा हो सकती है। भले ही, यह दृश्यता के मुद्दे के लिए अच्छी तरह से काम करता है।
एलेक्सिस बीग्नेसर

5
@AlexisBeingessner, सच। और प्रश्नकर्ता ने संकेत दिया कि वह शतरंज-राजा जैसा आंदोलन चाहता था, लेकिन मुझे लगता है कि चूंकि यह एक कंप्यूटर गेम डेवलपमेंट साइट है, इसलिए मैं एक अच्छा गेम-प्ले समाधान बताता हूं। यदि यह एक पहेली या शुद्ध गणित प्रश्न से अधिक है, तो मैं इसे किसी अन्य साइट पर उम्मीद करूंगा। यदि यह एक दुष्ट-जैसे खेल के लिए है, तो उनमें से कुछ पहले से ही अलग गति को गति का समर्थन करते हैं।
डेन

अधिकांश Roguelike गेम टर्न-बेस्ड प्रतीत होते हैं, लेकिन वास्तव में एक समय घटक होता है, इसलिए यदि आप तिरछे चलते हैं, तो अन्य ऑब्जेक्ट्स को प्रतिक्रिया करने के लिए आपके पास एक और कदम करने से पहले अधिक समय होगा।
कोस

67

आपको देखने के क्षेत्र के आकार को बदलने की आवश्यकता है।

ताकि जब आप किसी भी दिशा में आगे बढ़ें, तो समान संख्या में नए वर्ग दिखाई दें।

यहाँ एक संभावना है:

ग्रिड का उदाहरण


5
दिलचस्प; मैंने कभी भी डायमंड फील्ड-ऑफ-व्यू नहीं माना है। हालाँकि, इस दृष्टिकोण के साथ एक मुद्दा भी है; अब विकर्ण यात्रा करना एक भयानक विचार है, क्योंकि यदि आप विकर्ण यात्रा करते समय एक दुश्मन को हाजिर करते हैं, तो यह आपकी तुलना में काफी करीब होगा अगर आप यात्रा कर रहे थे।
श्री स्मिथ

43
@ mr.smith, हाँ, यह एक नई समस्या है, लेकिन मैंने आपका पुराना हल निकाल लिया है ...
चार्जिंगपुन

वास्तव में आपने किया; लगता है कि मैं इस प्रश्न के साथ पर्याप्त विशिष्ट नहीं था।
श्री स्मिथ

8
क्या एक गोलाकार आकृति यहां मदद करेगी?
14

3
@amitp यह है एक गोल आकार - प्रदान की अपनी दूरी समारोह मैनहट्टन की दूरी है।
डैनियल वैगनर

27

विकर्ण और ऑर्थोगोनल आंदोलन के लगभग एक ही क्षेत्र को प्रकट करने के लिए, आपको दो चीजों की आवश्यकता होती है (जिनमें से प्रत्येक, अकेले, पहले से ही एक और उत्तर या टिप्पणी में सुझाई गई है):

  1. लगभग परिपत्र दृश्य सीमा :

    छद्म-वृत्ताकार दृश्य श्रेणी की छवि

    अपने दम पर, यह दोनों प्रकार के आंदोलन के लिए समान रूप से प्रकट क्षेत्र नहीं देगा। उदाहरण के लिए, ऊपर की छवि में, ऑर्थोगोनल आंदोलन 9 वर्गों को प्रकट करता है, जबकि विकर्ण आंदोलन 13. प्रकट करता है। यह अभी भी आपके उदाहरण में वर्ग दृश्य क्षेत्र के लिए 13/7 अनुपात से बेहतर है, हालांकि।

    वास्तव में, जैसा कि दृश्य त्रिज्या बढ़ता है, विकर्ण / ओर्थोगोनल चरण के प्रति प्रकट क्षेत्रों का अनुपात एक गोलाकार क्षेत्र के लिए ≈2 view 1.414 हो जाता है, जबकि एक वर्ग दृश्य क्षेत्र के लिए समान अनुपात 2 हो जाता है।

  2. धीमी गति से विकर्ण आंदोलन :

    वास्तविक जीवन में, एक वर्ग के क्षेत्र में तिरछे चलना एक पक्ष के साथ चलने में अधिक समय लेता है। वास्तव में, इसमें लगभग longer2, 1.414 गुना अधिक समय लगता है। यदि आप यथार्थवादी महसूस करने के लिए अपने खेल में आंदोलन चाहते हैं, तो आपको अपने खेल में भी ऐसा करना चाहिए।

    व्यवहार में, 3/2 = 1.5 ,2 का एक बहुत अच्छा अनुमान है। इस प्रकार, आप केवल प्रत्येक ओर्थोगोनल कदम को दो समय इकाइयां बना सकते हैं, और प्रत्येक विकर्ण कदम को तीन ले सकते हैं। ऊपर दिए गए उदाहरण क्षेत्र के साथ, यह ऑर्थोगोनल मूवमेंट के लिए प्रति टाइम यूनिट 9/2 = 4.5 का पता चला है, और विकर्ण आंदोलन के लिए 13/3 = 4.33 प्रति समय यूनिट का पता चला है। बहुत करीब है, एह?

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


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

1
@ सुपरकैट: सही, लेकिन यह ई, एनई, ई, एनई, ... को छोड़ देगा , जो सीधे ओर्थोगोनल / विकर्ण आंदोलन की तुलना में खोज करने के लिए काफी कम कुशल है, जो वांछनीय भी नहीं हो सकता है।
इल्मरी करोनन

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

2
मैंने कुछ समय पहले भी ऐसा ही किया था, और मैंने इसे ऑर्थोगोनल मूवमेंट प्रति वर्ग दो "टिक्स" और विकर्ण मूवमेंट कॉस्ट तीन की लागत से हल किया था।
मेसन व्हीलर

11

चूंकि आप एक ग्रिड का उपयोग कर रहे हैं और जानते हैं कि उपयोगकर्ता किस दिशा में आगे बढ़ रहा है, तो आपको पूर्व उत्तर को स्वीकार करने और दिशा के आधार पर देखने के विभिन्न क्षेत्रों का उपयोग करने में कोई बाधा नहीं है।

उदाहरण के लिए, आप कार्डिनल दिशाओं में यात्रा करते समय कोनों को शामिल करने के लिए क्षेत्र को बढ़ा सकते हैं और इसे अपने विकर्ण मामलों में प्रत्येक छोर पर दो वर्गों को छोटा कर सकते हैं ताकि प्रत्येक 9 वर्गों को खोल दे।

एक अन्य विकल्प इस बात पर निर्भर करता है कि आपके प्रकाश कार्य कैसे एंटीअलियासिंग के साथ एक बेहतर सर्कल सन्निकटन का उपयोग करते हैं, आंशिक रूप से कुछ वर्गों को प्रकट करने के लिए।


यह एक दिलचस्प समझौता है; यदि आप तिरछे यात्रा करते हैं, तो सभी कोशिकाएं जो सामान्य रूप से दिखाई देती हैं, दिखाई नहीं देती हैं। आप या तो एक मोड़ का इंतजार कर सकते हैं (उन कोशिकाओं की खोजबीन करने के लिए) या चलते रहना चाहिए।
श्री स्मिथ

8
कौन सा उत्तर "पूर्व का उत्तर" है?
मूविंग डक

7

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


3

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

हालांकि आप अपने descreet ग्रिड को खोए बिना एकल इकाई आंदोलन को बाध्य नहीं कर सकते हैं (जो आपके गेम डिज़ाइन को काफी बदल देगा) शायद आप अतिरिक्त आंदोलन का ट्रैक रख सकते हैं और बाद में चालें गिरा सकते हैं: अतिरिक्त 0.41s को ट्रैक करें और एक बार जब वे अधिक हो जाएं। 1.00 में वह इकाई एक चाल को छोड़ती है। या आसपास का दूसरा तरीका: विकर्ण को सामान्य मानते हैं, प्रत्येक क्षैतिज या ऊर्ध्वाधर चाल के लिए 0.41 जोड़ते हैं, और एक बार अतिरिक्त चाल क्रेडिट देते हैं जो 1 (या विकर्ण चाल के लिए 1.41) से अधिक है।

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

यह सबसे अच्छा काम करेगा यदि खिलाड़ी नियंत्रण इकाइयां प्रत्येक इकाई को एक बारी से आगे बढ़ाए। उदाहरण के लिए तीन आंदोलन बिंदुओं का उपयोग तीन भयानक चालों के रूप में किया जा सकता है, या 0. के साथ दो विकर्ण बाद में पूल में छोड़ दिए जाते हैं। एक बार जब 1.00 हिट हो जाता है तो खिलाड़ी को "फ्री" हॉर / बहुत चलता है और 1.41 पर एक फ्री विकर्ण हो जाता है। आप इसे उपयोग करने के लिए या इस संग्रहित ऊर्जा को उम्र के लिए रखने या उसे बनाने देने से रोकने के लिए 1.5 पर अतिरिक्त कैप लगा सकते हैं।

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


2

आप खिलाड़ी को दो जगह घुमा सकते हैं यदि वे ऊपर, नीचे, बाएं या दाएं और केवल एक तिरछे चलते हैं। यह पूरी तरह से बाहर भी नहीं होगा, लेकिन यह बहुत करीब होगा।


यह एक अच्छा विचार है, लेकिन मेरा मानना ​​है कि बस विकर्ण आंदोलन पर प्रतिबंध लगाने के बराबर है (एक विकर्ण सिर्फ दो ऑर्थोगोनल चाल है)
12
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.