यादृच्छिक स्पॉन अंक बनाना उचित है?


22

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

क्या स्पॉन पॉइंट को आकार देने या मानचित्र को बदलने का कोई तरीका है, ताकि:

  1. सभी खिलाड़ियों के पास सीमित संख्या में शत्रु होते हैं।
  2. सभी खिलाड़ियों के पास आसन्न शत्रु का सामना करने की समान संभावना है।
  3. मानचित्र का आकार खिलाड़ियों की संख्या के लिए आनुपातिक बढ़ाना नहीं है।
  4. इन सीमाओं को मनमाने ढंग से अगम्य स्थानों के साथ लागू नहीं किया जाता है।

इसका जवाब सही नहीं है, जाहिर है कि विकल्प से बेहतर है। आउट ऑफ द बॉक्स थिंकिंग वेलकम।


10
एक सर्कल में स्पॉन?
जिबेलस

1
@Zibelas पारंपरिक दृष्टिकोण, लेकिन आवश्यकता 3 का उल्लंघन करता है, और बहुत सारे खिलाड़ियों के साथ यह एक विशाल मानचित्र और खाली इंटीरियर बनाता है।
अनुचित

4
यह आपके प्रकार के खेल पर निर्भर करता है। (2D / 3D, respawn / अंतिम आदमी खड़े, आदि) परफेक्ट स्पॉन उस मामले में केवल एक गेंद के आकार की दुनिया (अधिक खिलाड़ी, करीबी स्पॉन पर संभव है, लेकिन आप गारंटी दे सकते हैं कि उनके पास समान दूरी है)। निश्चित सीमाओं के साथ 2 डी दुनिया में आपके पास हमेशा कम सीमा वाले खिलाड़ी होते हैं क्योंकि आपके पास उन्हें स्पॉन करने के लिए कोई जगह नहीं होती है। यदि इसका 3 डी गेम है, तो आपके पास कई परतें हो सकती हैं।
जिबेलस

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

3
पूर्ण उत्तर के लिए नहीं, लेकिन मुझे लगता है कि हर कोई "निष्पक्ष और संतुलित स्पॉन" के लिए कोशिश कर रहा है जो ... मजेदार नहीं है। उत्कृष्ट PUBG (और अन्य बैटल रॉयल) को देखें: खिलाड़ी "स्पॉन" (अच्छी तरह से, कूद और जमीन ...) लगभग कहीं भी वे चाहते हैं - यदि आप संघर्ष और नाटक चाहते हैं, तो आप उस जगह का चयन करें जहां अधिकांश खिलाड़ी भूमि / स्पॉन। हाईट रिस्क हाईट रिवार्ड, लेकिन अगर खिलाड़ी चाहे तो ही। आप जंगल में कहीं भी उतर सकते हैं, आपको अपने आप को तैयार करने का समय मिला - कम जोखिम वाला कम इनाम लेकिन कुछ खिलाड़ी इसे पसंद कर सकते हैं (जैसे, उदाहरण के लिए;))। यह यादृच्छिक नहीं है, खिलाड़ियों की पसंद से।
जनवरी at स्प्लिट ’K.

जवाबों:


27

खिलाड़ियों को अपना स्टार्ट लोकेशन खुद लेने दें।

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

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


3
@ शशिमई वास्तव में मेरा मानना ​​है कि मैंने पहली बार एएनओ 1602 में इस विधि को देखा है। मेरा यह भी मानना ​​है कि कुछ शुरुआती सी एंड सी गेम्स में एक वैकल्पिक मल्टीप्लेयर गेम विकल्प के रूप में था (लेकिन मुझे यकीन नहीं है कि मैं सही ढंग से याद करता हूं)।
फिलिप


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

यही तरीका है कि "वैंपिरिज्म" और "ट्री टैग" का उपयोग Warcraft 3 पर कस्टम गेममोड्स द्वारा किया जाता है। यह सबसे अच्छा काम करता है क्योंकि सभी खिलाड़ियों को गठबंधन किया जाता है (कम से कम शुरुआत में) और विरोधी टीम को बाद में जारी किया जाता है।
क्रोल्टन

यह कम अनुचित महसूस करने का लाभ भी है। यदि आप बेतरतीब ढंग से घूमते हैं और जल्दी से मर जाते हैं या दंड भुगतते हैं, तो यह अनुचित लग सकता है, भले ही यह बहुत उचित हो। यदि आप यह चुन रहे हैं कि आप मृत्यु को कहाँ तक सीमित कर सकते हैं या दंड कम अनुचित और दंडनीय लग सकता है क्योंकि स्पॉन अंक का चयन करना अपने आप में एक कौशल है और आप कुछ बेहतर कर सकते हैं। उन्होंने कहा, अगर स्पॉन पॉइंट चुनना वास्तव में कठिन है, तो यह अनुचित भी लग सकता है क्योंकि उच्च कुशल खिलाड़ी इस पर बहुत अच्छा करेंगे।
अन्बियन नोब

9

आवश्यकताओं को समझना

  1. सभी खिलाड़ियों के पास सीमित संख्या में शत्रु होते हैं।

सबसे पहले, हम खिलाड़ियों के स्पॉन पॉइंट्स के बारे में बात कर रहे हैं, न कि गेम में दिए गए पॉइंट पर खिलाड़ियों की वर्तमान स्थिति। बस उस रास्ते से हट रही है।

जब हम किसी ग्राफ़ के बारे में बात करते हैं तो आसन्न को अच्छी तरह से परिभाषित किया जाता है। हम उस मानचित्र के बारे में सोच सकते हैं जो मानचित्र पर नौगम्यता का प्रतिनिधित्व करता है - अब से "ग्राफ" पर।

यदि नोड में सबसे अधिक एक स्पॉन बिंदु हो सकता है, तो उनके "आसन्न" होने की बात समझ में आती है। ध्यान दें: मैं उन कारणों के लिए एक ही बिंदु पर नोड्स को बाधा नहीं बनाऊंगा, जो बाद में स्पष्ट होंगे।

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

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

ग्राफ को पहले से तैयार किया जा सकता था (नक्शा एक डिजाइनर द्वारा बनाया गया था); अन्यथा, यह मक्खी पर बनाया जा सकता है अगर नक्शा यादृच्छिक रूप से उत्पन्न होता है।

  1. सभी खिलाड़ियों के पास आसन्न शत्रु का सामना करने की समान संभावना है।

मैं मानूंगा कि दुश्मन दूसरे खिलाड़ी हैं। फिर से, बस उस रास्ते से बाहर हो रही है।

प्रत्येक खिलाड़ी मानकर एक यादृच्छिक चलना, एक दिए गए बिंदु पर एक खिलाड़ी को खोजने की संभावना - एक सपाट स्थान पर, बाधाओं से मुक्त - दूरी बिंदु के एक (गाऊसी) फ़ंक्शन द्वारा दिया जाएगा - अब से " समारोह"।

चूंकि हम ग्राफ पर काम कर रहे हैं, इसलिए हम इसके बजाय ग्राफ पर मानों को एनोटेट करेंगे।

  1. मानचित्र का आकार खिलाड़ियों की संख्या के लिए आनुपातिक बढ़ाना नहीं है।

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

  1. इन सीमाओं को मनमाने ढंग से अगम्य स्थानों के साथ लागू नहीं किया जाता है।

मैं समस्या को हल करने के लिए बाधाओं को जोड़ने का इरादा नहीं करता हूं। एयू गर्भनिरोधक , मुझे बाधाओं से घिरे काम करने की आवश्यकता है। यदि वे वहां नहीं होते, तो कार्यान्वयन सरल होता।


समाधान

हम एन स्पॉन पॉइंट्स को रखने की कोशिश कर रहे हैं, ताकि उन सभी स्पॉन पॉइंट्स पर किसी अन्य खिलाड़ी का सामना करने का मौका बराबर हो।

हम त्रुटि का एक उपाय प्राप्त कर सकते हैं क्योंकि अवसरों के बीच अंतर के योग के योग हैं। हम इसे कम करने की कोशिश कर रहे हैं (वास्तव में, हम इसे 0 पर बनाना चाहते हैं)।

ऐसा करने के लिए, हमें ग्राफ़ के प्रत्येक नोड पर एक खिलाड़ी से सामना करने का मौका जानना होगा।

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

नोट 1: स्पॉन पॉइंट को जोड़ने या स्थानांतरित करने से सभी नक्शे के लिए खिलाड़ी से सामना करने की संभावना प्रभावित होगी।

नोट 2: प्रत्येक स्पॉन पॉइंट पर कितना प्रभाव पड़ता है, इस पर नज़र रखना, चीजों को आसान बना देगा।

नोट 3: चूंकि नोड्स का आकार है, आप त्रुटि के कितने करीब हो सकते हैं = शून्य नोड्स के आकार पर निर्भर करता है। आप मानों की सीमाओं के साथ काम करके अधिक सटीक हो सकते हैं (न्यूमुन और मैक्सिमुन मौका, नोड के भीतर स्पॉन बिंदुओं की विशेष स्थिति पर निर्भर करता है)।

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

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

अपेक्षित व्यवहार यह है कि स्पॉन पॉइंट जो बहुत करीब हैं एक साथ अलग हो जाते हैं और स्पॉन पॉइंट जो बहुत दूर हैं, बहुत करीब आ जाते हैं। जब तक वे संतुलन तक नहीं पहुंच जाते।

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


उपरोक्त समाधान त्रुटि = शून्य पर पहुंच जाएगा, लेकिन शून्य तक पहुंचने की गारंटी नहीं है। आप इसे तब तक चला सकते हैं जब तक कि यह एक स्थानीय न्यूनतम तक नहीं पहुंच जाता ... सिद्धांत रूप में, आप इसे नोड्स को बिल्कुल शून्य बनाने के लिए विभाजित कर सकते हैं ... फिर भी, यह स्पॉन बिंदु निर्देशांक को ट्विक करने के बराबर है!

नोड के भीतर स्पॉन पॉइंट को स्थानांतरित करने के लिए सिम्युलेटेड एनीलिंग का प्रयास करें। हालांकि, ईमानदारी से, इस तरह के विस्तार के साथ परेशान करने के लिए शायद यह लायक नहीं है।


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


6

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

  • रेंज / अधिक संसाधनों में क्लोजर / बेहतर हथियार
  • बेहतर कवर / अधिक छिपा / अवलोकन
  • खिलाड़ियों के 'प्रवाह', कुछ स्थान दूसरों की तुलना में अधिक आकर्षक हैं (एक स्थान पर एक एकल घर के साथ पूर्ण वन मानचित्र के बारे में सोचें, चाहे वह घर जहां भी हो, अच्छा मौका है कि लोग इसे देख रहे हैं)

क्या आपका नक्शा एक तय है या एक प्रक्रियात्मक उत्पन्न हुआ है? और कभी 2 व्यक्ति के नक्शे पर 8 लोगों के साथ एज ऑफ एम्पायर खेलने की कोशिश की? मानचित्र आकार में समायोजन किए बिना खिलाड़ियों को अनंत पैमाने पर रखना संभव नहीं है। यहां तक ​​कि एक अनुचित शुरुआत प्लेसमेंट खेल में बहुत अधिक गतिशील ला सकता है (वर्म्स श्रृंखला देखें)। किसी ने भी शिकायत नहीं की, यदि आपने एक बड़े क्लस्टर में अधिकार जताया है, जब तक कि आपके दूसरे खिलाड़ी के साथ एक दौर का गठबंधन हुआ या आपने पहले दौर के बाद सबसे अधिक जीवित कीड़े नहीं पाए थे।

(यदि मैं आपके प्रकार के खेल के बारे में अधिक जानता हूं तो कुछ और उदाहरण जोड़ूंगा)


5

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

आप इसे एक फ्लैट नक्शा बनाकर कर सकते हैं जो वर्ग है, और प्रत्येक किनारे को विपरीत किनारे की एक प्रति में शामिल कर रहा है। जब कोई खिलाड़ी साइड से चलता है, तो उन्हें खिलाड़ी के ज्ञान के विपरीत किनारे पर टेलीपोर्ट किया जाता है। बेशक, सैद्धांतिक रूप से आप खिलाड़ियों को सीमा के दूसरी तरफ नहीं देख पाएंगे। इसे ठीक करने के लिए, उस खिलाड़ी के क्लोन बनाएं, जो सीमा के दूसरी ओर घूमते दिखाई देते हैं, ताकि आप उन्हें देख सकें, और जब आप उनकी ओर दौड़ें तो आप उस पर टेलीपोर्ट करें और वास्तविक खिलाड़ी वहीं खड़ा हो, जहाँ डमी था।

वैकल्पिक रूप से, पूरा नक्शा एक गोले के बाहर मौजूद हो सकता है, हालांकि यह निर्देशांक को स्पैनिंग के लिए मुश्किल बनाता है।


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

4

यहां कुछ संभावित उपाय दिए गए हैं:

  • सर्कल की परिधि पर बेतरतीब ढंग से स्पॉन करें
  • रेडी पर बेतरतीब ढंग से स्पॉन (केंद्र को बंद करने के लिए नहीं)
  • एक यादृच्छिक स्पॉन समय घटक जोड़ें

स्पॉनिंग तंत्र का आरेख


दूसरी छवि एक बढ़िया विकल्प है। यह पहले विकल्प की समस्या को हल करता है जहां खिलाड़ी को पता होता है कि अन्य सभी खिलाड़ी कहां स्थित हैं।
ज़ानोन

@Zanon हालांकि पहली छवि वाले खिलाड़ी (और संभावना है) किसी के वहां आने से पहले दूर चले जाएंगे। दूसरा व्यक्ति अनुचित रूप से शिकार करेगा, कुछ दूसरों के करीब। हो सकता है कि कुछ इस जहां 2 हलकों और छोटे और बड़े से एक के बीच अंतर देखते हैं, जहां वे अंडे, तो दूसरी छवि की तरह है, लेकिन केंद्र के लिए कम है।
Ave

1

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

आदर्श नोड में तब है:

  • वर्तमान में इसमें कोई खिलाड़ी नहीं है
  • पास में शून्य से अधिक खिलाड़ी (कुछ छोटी संख्या में लिंक दूर)

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

आप करेंगे के रूप में खिलाड़ियों की संख्या बढ़ती है नक्शा आकार बढ़ाने के लिए की जरूरत है, लेकिन kजरूरत 1 या अधिक नहीं होना। आपका सबसे खराब मामला अभी भी यह है कि ग्राफ पर प्रत्येक नोड में कम से कम एक खिलाड़ी है - जिस स्थिति में उपयोग करने के लिए कोई अच्छा नोड नहीं है, और आपको उस मामले को भुगतना होगा और एक खिलाड़ी को यह जानना होगा कि वे जानते हैं कि दूसरे के ठीक ऊपर जमीन। स्कोरिंग एल्गोरिदम को अभी भी नोड्स का वजन करना चाहिए ताकि आप सबसे कम अन्य खिलाड़ियों के साथ नोड में स्पॉन करें।

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

शोधन:

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

0

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

अपने तीसरे और चौथे मानदंड को संबोधित करते हुए: "मानचित्र का विस्तार नहीं होना चाहिए।"

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

अपनी इच्छित स्पॉन विशेषताओं के लिए आंकड़ो की गणना करें:

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


0

यदि खेल का मैदान एक टोपोलॉजिकल टोरस है (यानी एक आयत जहां "सीमा से बाहर" का अर्थ है, विपरीत दिशा में प्रवेश करना), तो यह एक अच्छा जवाब होने की संभावना है: खिलाड़ी उस स्थान पर jघूमता है x = (pjW/N) mod W, y = (qjH/N) mod H, जहां W,Hआयत के आयाम हैं N। खिलाड़ियों की संख्या, और p,qनिर्धारित करने के लिए पूर्णांक हैं; वे अलग-अलग हैं, (शायद) अपेक्षाकृत प्रमुख हैं, और बहुत दूर नहीं हैं sqrt(N)। स्पॉन पॉइंट एक तिरछा 'वॉलपेपर' पैटर्न बनाते हैं।

यह मानते हुए कि खिलाड़ी खेल की शुरुआत में ही स्पॉन करते हैं। यदि वे बाद में घूमते हैं, तो मुझे लगता है कि आप उन्हें किसी भी खिलाड़ी की वर्तमान स्थिति से यथासंभव दूर रखना चाहेंगे - अन्य खिलाड़ियों द्वारा परिभाषित वोरोनोई आरेख के एक शीर्ष पर।


0

कैसा रहेगा:

प्रत्येक खिलाड़ी एक गैर-स्पॉनिंग बॉक्स (या सर्कल) से घिरा हुआ है

जैसा कि, एक निश्चित आकार का एक वर्ग होता है, जो प्रत्येक खिलाड़ी के चारों ओर घूमता है और उस खिलाड़ी के चारों ओर चलता है - कोई अन्य खिलाड़ी उस वर्ग के भीतर नहीं जा सकता है।

ये वर्ग केवल स्पॉनिंग को प्रभावित करते हैं और खेल के दौरान किसी अन्य आंदोलन को नहीं।

यह प्रारंभिक-केवल स्पॉनिंग या निरंतर स्पॉनिंग के साथ काम करता है।

(डॉट्स खिलाड़ियों को इंगित करते हैं और हरे नए खिलाड़ियों के लिए संभावित स्पॉन क्षेत्र को इंगित करते हैं)

मानचित्र का आकार खिलाड़ियों की संख्या के लिए आनुपातिक बढ़ाना नहीं है

इससे निपटने के लिए, आप दो काम कर सकते हैं: (या दोनों)

  • खिलाड़ियों की संख्या के आधार पर गैर-स्पॉनिंग बक्से का आकार घटाएं।
  • प्रत्येक बॉक्स में स्पैन तक एक्स दुश्मन खिलाड़ियों को अनुमति दें।
    • आपके जाते ही यह संख्या बढ़ सकती है (0 पर शुरू)।
    • वेरिएंट 1: एक छोटा नो-स्पॉन बॉक्स और एक बड़ा सीमित स्पॉन बॉक्स है।
    • वेरिएंट 2: नई स्पॉन इस खिलाड़ी के कितने करीब है (अगर बॉक्स के अंदर है) के अनुसार वजन की संभावनाएं - कुशलता से लागू करने के लिए कठिन हो सकती हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.