क्या Google App Engine एक ऑनलाइन MMO के लिए एक अच्छा मंच है?


10

मैं जावा पर आधारित एक स्मेल स्केल MMORPG गेम बनाने के कुछ विचारों को देख रहा हूं, यह सीखने की प्रक्रिया में मदद करने के लिए एक पक्ष / शौक परियोजना है

मैं पहले से ही जीएई के साथ एक नाटक कर चुका हूं और एक साधारण वेब ऐप डाल चुका हूं, मैं इसे एक गेम के लिए अपने प्लेटफॉर्म के रूप में उपयोग करने के बारे में सोच रहा हूं

यह एक अच्छा विचार है? क्या इस तरह के प्लेटफॉर्म का उपयोग करने वाले कोई गेम हैं? मैं अब तक कोई सीमाएं नहीं देख सकता, Google के अलावा अन्य खुद के बजाय इसे "खुद" करने में सक्षम हो सकते हैं

जवाबों:


3

सॉर्ट करना, इस बात पर निर्भर करता है कि आपको कितनी विलंबता / गति चाहिए।

हर http अनुरोध (एक समर्पित सर्वर के लिए) 300-600 एमएस के बीच कहीं भी ले जाता है। ऐप इंजन में जो 600-900 एमएस या उससे अधिक की तरह दिखता है (यदि आपके पास बहुत सारे प्रश्न हैं)। उसी समय जीएई के लिए एक एकल कनेक्शन 30 सेकंड से कम समय तक रहता है, इसलिए ...

उस सबका मतलब यह है कि आपको धीमी गति से मतदान करना होगा, जो कि कुछ समय के लिए अच्छा हो सकता है, न कि रियल टाइम गेम्स।

यदि आप एक वास्तविक समय का खेल करना चाहते हैं तो आपको HTTP छोड़ने और TCP या UDP (विशेषकर UDP) में जाने की आवश्यकता है।

यह कहते हुए कि, यदि धीमी गति से / गैर-वास्तविक समय कनेक्शन आपके खेल के लिए पर्याप्त है, तो जीएई बहुत सस्ते में मापता है, और बहुत सारी समस्याओं को हल करता है (डीबी के आकार पर कोई सीमा नहीं, बड़ी मात्रा में ईमेल के साथ कोई स्पैम समस्या नहीं है) , आदि)


यदि आप रियलटाइम चाहते हैं तो टीसीपी वास्तव में एक विकल्प नहीं है।
ओ ० '।

4
^ ^ ^ आम मिथक
U62

* रीयलटाइम के विभिन्न मूल्यों के लिए।
DFectuoso

1
यदि आप अपने पैकेट को ठीक से प्रबंधित करते हैं, तो टीसीपी वास्तविक समय को ठीक से संभालती है। कुछ मिलीसेकंड के भीतर एक ही गंतव्य पर 10 पैकेट भेजने का कोई मतलब नहीं है, जब आप उन्हें एक साथ जोड़ सकते हैं।
स्टीफन बेलेंगर

@ स्टीफन: सही है। सही तकनीकों का उपयोग करके, आप गति और विश्वसनीयता प्राप्त कर सकते हैं कि केवल चिंता की बात कनेक्शन की गति होगी।
मोशे रेवह

3

यह वास्तव में एक MMO नहीं है, लेकिन यहां एक लेख मैंने हाल ही में एक गेम सर्वर बैक-एंड के रूप में ऐप इंजन का उपयोग करने पर पढ़ा है:

http://gamesfromwithin.com/google-app-engine-as-back-end-for-iphone-apps

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

जैसा कि @DFectuoso इंगित करता है, एक वास्तविक समय के लिए आप किसी भी वेब सर्वर का उपयोग करते हुए कुछ मुद्दों पर जा रहे हैं, विशेष रूप से बहुत कम ऐप इंजन। हालांकि, एक टर्न-बेस्ड और / या सोशल पैराग्राफ संभवत: एकमात्र बैक-एंड के रूप में ऐप इंजन का उपयोग कर सकता है।

अंतत: यह आपके गेम आर्किटेक्चर पर निर्भर करता है। रियल-टाइम के पास करने या वास्तविक-समय पर काम करने की रणनीतियाँ हैं जहाँ मुख्य सर्वर ऐप इंजन की तरह एक वेब सर्वर है:

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

यह धूमकेतु समर्थन के लिए मुद्दा ट्रैकर है (क्योंकि मैं अभी तक वास्तविक पोस्ट में लिंक एम्बेड नहीं कर सका- स्पष्ट रूप से अधिक प्रतिष्ठा बिंदुओं की आवश्यकता है): code.google.com/p/googleappengine/issues/detail?id=377
वर्ल्डमेकर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.