क्या खेल होस्ट को प्राधिकरण, या किसी अन्य गूंगा ग्राहक होना चाहिए?


15

एक नेटवर्क मल्टीप्लेयर-गेम डिज़ाइन करते समय जहां एक खिलाड़ी होस्ट करता है और अन्य लोग कनेक्ट होते हैं, ऐसी दो रणनीतियाँ हैं जिनसे मैं परिचित हूँ:

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

इनमें से प्रत्येक के फायदे / नुकसान क्या हैं? जो सबसे अधिक बार उपयोग किया जाता है (या यह खेल के प्रकार / आकार से भिन्न होता है)?


पहला मामला जो आप बता रहे हैं, वह P2P नेटवर्किंग का एक रूप हो सकता है (एक आधिकारिक क्लाइंट के साथ) और इसका आमतौर पर बहुत अधिक जटिल, और लागू करने और बनाए रखने के लिए कठिन होता है।
एकाल्टर

जवाबों:


13

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


8

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

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

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

Googling Peer-2-Peer मल्टीप्लेयर प्रोटोकॉल आपको इस दृष्टिकोण के बारे में कुछ और जानकारी दे सकते हैं।


1
gamedev.stackexchange.com/questions/3887/… यहाँ कुछ और जानकारी दी गई है :)
michael.bartnett

दिलचस्प। उस पोस्ट का दावा है कि यह "सबसे अधिक रणनीति शीर्षक" है जो नेटवर्किंग को लागू करता है। क्या यह वास्तव में सच है? यह कैसा उदाहरण है। कमान और जीत और Starcraft काम करते हो?
ब्लूराजा - डैनी पफ्लुघोटे

@BlueRaja, यह है कि Starcraft कैसे काम करता है, हाँ। Starcraft में कोई अधिकार नहीं है। Warcraft III और Starcraft II में अधिक केंद्रीकृत संदेश विनिमय मॉडल, अंतराल और डिस्कनेक्ट हैंडलिंग है, लेकिन मौलिक रूप से समान है कि प्रत्येक ग्राहक अपनी गेम स्थिति को होस्ट करता है।
रॉटसर

इस नेटवर्किंग मॉडल का अन्य लाभ यह है कि यह न्यूनतम तुल्यकालन यातायात के साथ बड़े सुसंगत साझा विश्व राज्य का समर्थन करने की अनुमति देता है।
11'11

इस मॉडल का सबसे बड़ा नुकसान "मेफ़ॉकिंग" के लिए इसकी अंतर्निहित भेद्यता है, जो कुछ गेम स्टेट डेटा को प्रकट कर रहा है जो खिलाड़ी सामान्य रूप से देख सकता है।
रॉटसर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.