2011-05-02 38 views
6

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

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

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

क्या कोई विकल्प है? या 3 जी से अधिक रीयलटाइम गेम के विचार को छोड़ देना चाहिए?

उत्तर

3

अपने गेम तर्क के लिए संतोषजनक विलंबता के साथ नेटवर्क पर वास्तविक समय प्राप्त करना बहुत मुश्किल है (विशेष रूप से यदि आप पहले व्यक्ति शूटर की तरह गेम बना रहे हैं, तो आप यहां कुछ विलंबता मुद्दों पर काबू पाने के बारे में पढ़ सकते हैं: networked physics)।

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

मैं तुम्हें डराने के लिए, बस अपने कार्यान्वयन के दौरान इन बातों को याद कोशिश नहीं कर रहा हूँ:
1. कोई सॉकेट या कोई भी मानक पोर्ट का उपयोग - सॉकेट स्पष्ट कारणों से ऑपरेटरों द्वारा की अनुमति नहीं है, वे आप नहीं करना चाहते हैं अपने संसाधनों को लेने के लिए क्योंकि उस समय के दौरान वे कुछ अन्य भुगतान करने वाले ग्राहक की सेवा कर सकते थे;) यदि आपका गेम तर्क इसे अनुमति देता है, तो सॉकेट के बिना प्रोटोकॉल को कार्यान्वित करने का प्रयास करें।
2. समुद्र में दो दोस्तों के साथ अपने गेम का परीक्षण करें या भीड़ परीक्षण सेवाओं का उपयोग करें जो आपके लिए यह कर सकते हैं। आप विलंबता को अपने प्रोटोकॉल के माध्यम से कैलिब्रेट कर सकते हैं।
3. आपके सर्वर वितरित करने से विलंबता समस्या के साथ बहुत मदद मिलेगी।
4. सुनिश्चित करें कि आप नेटवर्क पर बहुत अधिक डेटा नहीं भेज रहे हैं, स्मार्ट बनें, डिवाइस की बैटरी के साथ सौम्य रहें।
5. अपने डेटा को संपीड़ित करें!

पूर्ण प्रकटीकरण के लिए: मैं स्किलर पर काम कर रहा हूं और हम एंड्रॉइड डेवलपर्स (दूसरों के बीच) के लिए मल्टीप्लेयर एसडीके प्रदान करते हैं जैसे सोशल लेयर, यूजर मैनेजमेंट, राजस्व पीढ़ी इत्यादि ... हमने मल्टीप्लेयर ओवर के साथ कई मुद्दों को देखा 3 जी और हम इसे डेवलपर के जीवन को आसान बनाने के लिए क्लाइंट और सर्वर पक्ष पर लिखे गए एल्गोरिदम के साथ क्षतिपूर्ति करते हैं। यदि आप हमें आजमा देना चाहते हैं: www.skiller-games.com

0

कुछ क्लाउड आधारित रीयल-टाइम मैसेजिंग सेवाएं हैं जो कई अलग-अलग मोबाइल प्लेटफार्मों पर अनुकूल ढंग से काम करने के लिए डिज़ाइन की गई हैं। गेमिंग में आप प्रायः प्रकाशित/सब्सक्राइब करना चाहते हैं ताकि आप http://pubnub.com देख सकें, वे कम क्लाउडेंसी प्रदान करने वाले 14 डेटा केंद्रों के साथ आपके क्लाउड इंफ्रास्ट्रक्चर का ख्याल रखते हैं। उनके एपीआई इस के लिए डिज़ाइन की गई सुरक्षा और उपस्थिति एपीआई के साथ गेमिंग के लिए आदर्श हैं। उनके पास बीटा में एक नया ऑब्जेक्ट डेटा सिंक एपीआई है जो कोडिंग पर कटौती कर सकती है।

मुझे पसंद है एक महत्वपूर्ण कारण यह है कि वे कई वर्षों से व्यवसाय में रहे हैं और इसलिए उनके एपीआई का परीक्षण दुनिया भर में 3 जी और कॉर्पोरेट नेटवर्क पर किया गया है।

अन्य जिन्हें आप देख सकते हैं pusher.com और realtime.co और Google की नई https://cloud.google.com/pubsub/ सेवा शामिल हैं।

संबंधित मुद्दे