paint-brush
यूनिटी रीयलटाइम मल्टीप्लेयर, भाग 8: रेडी-मेड नेटवर्किंग समाधानों की खोजद्वारा@dmitrii
7,101 रीडिंग
7,101 रीडिंग

यूनिटी रीयलटाइम मल्टीप्लेयर, भाग 8: रेडी-मेड नेटवर्किंग समाधानों की खोज

द्वारा Dmitrii Ivashchenko11m2023/08/31
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

मल्टीप्लेयर गेम में, क्लाइंट को सिंक करने की आवश्यकता होती है। आइए सभी प्रकार के उपयोग के मामलों के लिए कुछ तैयार नेटवर्किंग समाधान देखें।
featured image - यूनिटी रीयलटाइम मल्टीप्लेयर, भाग 8: रेडी-मेड नेटवर्किंग समाधानों की खोज
Dmitrii Ivashchenko HackerNoon profile picture
0-item


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


नमस्ते! मैं दिमित्री इवाशेंको, MY.GAMES में लीड सॉफ्टवेयर इंजीनियर हूं। 2023 में यूनिटी रियलटाइम मल्टीप्लेयर परिदृश्य के बारे में लेखों की हमारी श्रृंखला जारी है! आज का विषय रीयल-टाइम मल्टीप्लेयर के लिए तैयार समाधानों से संबंधित है जो हमारे लिए उपलब्ध हैं। आएँ शुरू करें।

परिवहन पर एक त्वरित टिप्पणी

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


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

एकता रिले और नेटकोड

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

एकता रिले

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

एकता रिले


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


रिले किसी भी गेम इंजन के साथ काम करने का समर्थन करता है। यदि आप यूनिटी के साथ रिले का उपयोग कर रहे हैं, तो रिले एसडीके का उपयोग करना सबसे अच्छा अभ्यास है, जो यूनिटी ट्रांसपोर्ट पैकेज (यूटीपी) के साथ एकीकृत है।

एकता परिवहन पैकेज

मल्टीप्लेयर गेम विकसित करने के लिए यूनिटी ट्रांसपोर्ट एक निम्न-स्तरीय नेटवर्किंग लाइब्रेरी है। यह गेमऑब्जेक्ट्स के लिए नेटकोड और संस्थाओं के लिए नेटकोड को रेखांकित करता है , लेकिन आप इसे अपने समाधान के साथ भी उपयोग कर सकते हैं।


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


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


यूनिटी ट्रांसपोर्ट के साथ काम करने के लिए, आपको यूनिटी एडिटर संस्करण 2022.2 या बाद का संस्करण इंस्टॉल करना होगा और com.unity.transport पैकेज भी इंस्टॉल करना होगा।


एकता परिवहन पैकेज


रिले यूनिटी ट्रांसपोर्ट (UTP) के साथ काम करता है, जो ग्राहकों को कनेक्ट करने की अनुमति देता है अन्यथा सख्त फ़ायरवॉल जैसे रूटिंग प्रतिबंधों के कारण संचार करने में सक्षम नहीं होगा।

एकता रिले सीमाएँ

रिले की निम्नलिखित सीमाएँ हैं:


  1. वर्तमान में कोई क्षेत्र-लॉकिंग कार्यक्षमता नहीं है; यदि अनुरोध को पूरा करने की पर्याप्त क्षमता है तो कोई भी किसी भी क्षेत्र में आवंटन का अनुरोध कर सकता है।
  2. रिले सेवा सभी ट्रैफ़िक को एक चयनित होस्ट क्षेत्र के माध्यम से रूट करती है। परिणामस्वरूप, अंतर-क्षेत्रीय संचार इष्टतम विलंबता प्रदान नहीं कर सकता है।
  3. एक खेल सत्र में अधिकतम 100 खिलाड़ी एक मेजबान में शामिल हो सकते हैं।
  4. रिले सेवा किसी भी सेकंड के भीतर एपीआई द्वारा प्राप्त अनुरोधों की संख्या को सीमित करके नेटवर्क ट्रैफ़िक को नियंत्रित करने के लिए दर सीमित करने का उपयोग करती है। "आबंटन बनाएं", "जॉइन कोड बनाएं", "रिले में शामिल हों" और "क्षेत्रों की सूची बनाएं" अनुरोधों के लिए, प्रति मिनट 60 अनुरोधों की सीमा निर्धारित की गई है। सीमा प्रत्येक प्रमाणित खिलाड़ी पर लागू होती है।


सीमाओं के बावजूद, रिले सेवा प्लेयर कनेक्टिविटी को सरल बनाने और एक सहज मल्टीप्लेयर गेमिंग अनुभव प्रदान करने के लिए एक शक्तिशाली उपकरण है।

गेमऑब्जेक्ट्स के लिए नेटकोड

रिले के मुख्य गेम नेटवर्क कोड के लिए दो सबसे लोकप्रिय समाधानों में गेमऑब्जेक्ट्स (एनजीओ) के लिए नेटकोड और एपीआई मिरर नेटवर्किंग शामिल हैं।


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

फोटॉन रीयलटाइम

फोटॉन रीयलटाइम लोगो


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


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


फोटॉन रीयलटाइम शब्द एपीआई, टूल और सेवाओं के हमारे व्यापक ढांचे को भी शामिल करता है, जो क्लाइंट और सर्वर के बीच बातचीत को परिभाषित करता है।


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


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


फोटॉन रीयलटाइम में, कमरे के डेटा को आसानी से सहेजा और लोड किया जा सकता है, और फोटॉन क्लाउड को बाहरी वेब सर्वर से जोड़ने के लिए वेबहुक सेट किया जा सकता है।

फोटॉन फ्यूजन

फोटॉन फ्यूजन


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


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


फ़्यूज़न में, उदाहरण के लिए, आरपीसी और नेटवर्क स्थिति को स्पष्ट क्रमांकन कोड की आवश्यकता के बिना, MonoBehaviour विधियों और गुणों पर विशेषताओं द्वारा परिभाषित किया जाता है, और सभी नवीनतम यूनिटी प्रीफ़ैब सुविधाओं का उपयोग करके नेटवर्क ऑब्जेक्ट को प्रीफ़ैब के रूप में परिभाषित किया जा सकता है।


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


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


फ़्यूज़न को यूनिटी (बोल्ट और पीयूएन) के लिए दो मौजूदा फोटॉन उत्पादों को बदलने के लिए विकसित किया गया था। फ़्यूज़न के महत्वपूर्ण मुख्य घटक NetworkRunner और NetworkObject हैं। NetworkRunner फ़्यूज़न का मूल माना जा सकता है - दृश्य में एक धावक है जो नेटवर्क संचालन और सिमुलेशन का प्रबंधन करता है।


फ़्यूज़न तेज़ गेम या प्रोटोटाइप निर्माण के लिए विभिन्न पूर्व-निर्मित NetworkBehaviours प्रदान करता है।

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


फ़्यूज़न उन मामलों के लिए आरपीसी (रिमोट प्रोसीजर कॉल्स) का समर्थन करता है जहां मानक फ़्यूज़न इनपुट या [Networked] गुणों का उपयोग सबसे व्यावहारिक समाधान नहीं है। फ़्यूज़न के साथ आरंभ करने के लिए, हम फ़्यूज़न प्रारंभ करने की मार्गदर्शिका का अध्ययन करने की सलाह देते हैं।

फोटॉन क्वांटम

फोटॉन क्वांटम


फोटॉन क्वांटम मल्टीप्लेयर गेम के लिए पूरी तरह से नियतात्मक इंजन है। यह भविष्यवाणी/रोलबैक दृष्टिकोण पर आधारित है, जो उन ऑनलाइन गेम्स के लिए बिल्कुल सही है जो देरी के प्रति संवेदनशील हैं, जैसे एक्शन आरपीजी, स्पोर्ट्स गेम्स, फाइटिंग गेम्स, एफपीएस इत्यादि।


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


फोटॉन क्वांटम एक पूर्णतः नियतिवादी इंजन है


नियतिवादी खेल स्वाभाविक रूप से धोखाधड़ी के प्रति प्रतिरोधी होते हैं। धोखेबाजों के खिलाफ लड़ाई रीप्ले या सर्वर-जज सिमुलेशन (सबसे प्रभावी धोखाधड़ी-रोधी उपाय) की जांच करके की जाती है।


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


फोटॉन क्वांटम ईसीएस आर्किटेक्चर पर बनाया गया है, और पीसी, कंसोल, वीआर और मोबाइल फोन पर शारीरिक रूप से गहन मल्टीप्लेयर गेम चलाने के लिए भी उच्च प्रदर्शन का दावा किया गया है।


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

नॉर्मकोर

नॉर्मकोर


नॉर्मकोर किसी भी यूनिटी-आधारित प्रोजेक्ट में मल्टीप्लेयर मोड जोड़ने के लिए एक उच्च-प्रदर्शन उपकरण है। नॉर्मकोर में नेटवर्क भौतिकी, लगातार स्थान, वॉयस चैट और एक्सआर समर्थन शामिल है।


जब आप इसमें RealtimeTransform घटक जोड़ते हैं तो नॉर्मकोर स्वचालित रूप से सभी ऑब्जेक्ट परिवर्तनों को सिंक्रनाइज़ करता है। इसके लिए किसी कोडिंग की आवश्यकता नहीं है. इसके अतिरिक्त, नॉर्मकोर किसी भी कनेक्शन में सही गति के लिए राज्य-निर्भर इंटरपोलेशन और विश्वसनीय नेटवर्क भौतिकी प्रदान करता है।


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


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


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

आईना

मिरर लोगो


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


मिरर नेटवर्किंग एक दर्जन से अधिक निम्न-स्तरीय प्रोटोकॉल के साथ संगत है और लगातार विकसित और सुधार करती है। इसमें नेटवर्क पर दूरस्थ प्रक्रिया कॉल और संदर्भ प्रबंधन की सुविधाएं शामिल हैं और यह नेटवर्क अनुप्रयोगों में भौतिकी के साथ काम करने का भी समर्थन करता है।


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

नाकामा

नाकामा लोगो


हीरोइक लैब्स द्वारा नाकामा एक लोकप्रिय ओपन-सोर्स गेम सर्वर है जो आपको एक ओपन पैकेज में अपने संपूर्ण बुनियादी ढांचे का मालिक बनने की अनुमति देता है। नाकामा में सभी आवश्यक वास्तविक समय गेमिंग एपीआई और सामाजिक और प्रतिस्पर्धी विशेषताएं शामिल हैं।


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

मछली का जाल

मछली नेटवर्किंग लोगो


फिश-नेटवर्किंग यूनिटी में नेटवर्किंग समाधानों के लिए एक निःशुल्क, ओपन-सोर्स लाइब्रेरी है, जिसे एक अनुभवी गेम डिजाइनर द्वारा विकसित किया गया है। यह सुविधाओं का एक व्यापक सेट प्रदान करता है जो आमतौर पर केवल भुगतान किए गए समाधानों के साथ उपलब्ध होते हैं।


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

समाधानों का एक सिंहावलोकन

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

समाधान

प्रोटोकॉल

टोपोलोजी

अधिकतम. प्रति सत्र खिलाड़ी

न्यूनतम एकता संस्करण

स्थिति

संस्थाओं के लिए नेटकोड

यूडीपी, वेबसॉकेट

यूनिटी रिले, पी2पी, क्लाइंट होस्टेड, डीजीएस

100 (एकता रिले की सीमा)

2022.3

🧪प्रयोगात्मक

गेमऑब्जेक्ट्स के लिए नेटकोड

यूडीपी, वेबसॉकेट

रिले (यूनिटी रिले पर), पी2पी, क्लाइंट होस्टेड, डीजीएस

100 (एकता रिले की सीमा)

2021.3

ℹ️ प्री-रिलीज़

फोटॉन रीयलटाइम

विश्वसनीय यूडीपी, टीसीपी, HTTP या वेबसॉकेट

रिले (फोटॉन क्लाउड पर), डीजीएस

32

2018.4

✅ उत्पादन तैयार

फोटॉन फ्यूजन

टीसीपी, आरयूडीपी, वेबसॉकेट

रिले (फोटॉन क्लाउड पर), पी2पी, क्लाइंट होस्टेड, डीजीएस

200

2020.3

✅ उत्पादन तैयार

फोटॉन क्वांटम

आरयूडीपी

रिले (फोटॉन क्लाउड पर)

32

2018.4

✅ उत्पादन तैयार

नॉर्मकोर

यूडीपी और टीसीपी पर वेबआरटीसी

रिले (नॉर्मकोर क्लाउड पर)

100

2020 एलटीएस

✅ उत्पादन तैयार

मिरर नेटवर्किंग

केसीपी , वेबसॉकेट

क्लाइंट होस्टेड, डीजीएस, पी2पी, रिले

200

2020 एलटीएस

✅ उत्पादन तैयार

नाकामा

आरयूडीपी

रिले , आधिकारिक , क्लाइंट होस्ट किया गया

सर्वर प्रदर्शन द्वारा सीमित

2018.4

✅ उत्पादन तैयार

मछली का जाल

आरयूडीपी, वेबसॉकेट

रिले, पी2पी, डीजीएस

200

2019.4

✅ उत्पादन तैयार

फोटॉन PUN

यूडीपी, टीसीपी, वेबसॉकेट

डीजीएस, रिले, पी2पी, क्लाइंट होस्ट किया गया

32

2019.4

⚠️ पदावनत

फोटॉन बोल्ट

यूडीपी, टीसीपी

पी2पी, डीजीएस

50

2019.4

⚠️ पदावनत

यूएनईटी

टीसीपी, यूडीपी

ग्राहक द्वारा होस्ट किया गया, डीजीएस

सर्वर प्रदर्शन द्वारा सीमित

5.1

⚠️ पदावनत


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