Google App Engine (ट्यूटोरियल की तलाश में) का उपयोग करके क्लाइंट / सर्वर गेम कैसे करें


11

(नोट: यह एसओ पर पूछे गए एक प्रश्न का एक डुप्लिकेट है , जिसमें अस्थायी रूप से GameDev के बारे में भूल गए हैं <शर्म में सिर लटकाओ>। जब एक का जवाब दिया जाता है, तो मैं इसे वापस दूसरे से जोड़ूंगा।)

मैं अपने पहले ग्राहक / सर्वर गेम को Google Apps इंजन का उपयोग करके अपने बैक एंड (विनिर्देशन आवश्यकता) के रूप में करने की कोशिश कर रहा हूं। मैंने ट्यूटोरियल (जावा) किया है, लेकिन यह सब अत्यधिक ब्राउज़र-केंद्रित लगता है।

मूल रूप से, मैं अपना (मोबाइल, ऐसा नहीं है कि यह मायने रखता है) app करने के लिए चाहते हैं:

  • उपयोगकर्ता को एक गेम-अकाउंट बनाने की अनुमति दें (उनका Google खाता नहीं!)
  • उस खाते से लॉग-इन करें।
  • सर्वर को एक खाता-पहचान अनुरोध भेजने के लिए "मार्को" बटन दबाएं।
  • सर्वर से "पोलो" प्रतिक्रिया प्राप्त करें।
    • डेटा के रूप में (JSON ऑब्जेक्ट की तरह, XML-DOM या समान), वेब-पेज के रूप में नहीं।

क्या कोई मुझे एक अच्छे ट्यूटोरियल / सैंपल प्रोजेक्ट / विस्तृत रीडिंग की ओर इशारा कर सकता है जो मुझे प्राप्त करने में मदद करेगा? मुझे पूरा यकीन है कि, एक बार जब मुझे वह काम मिल जाएगा, तो मैं इसे पूरा कर सकता हूं - लेकिन मैं "शुरुआती गेट पर अटका हुआ" समस्या से जूझ रहा हूं, बुनियादी खाता-लॉगिन को काम नहीं कर पा रहा हूं, और गैर- HTML डेटा विनिमय।

धन्यवाद!


क्या सर्वर साइड जावा या पायथन में लिखा जा रहा है? क्या सर्वर पर एक साधारण डेटाबेस पर्याप्त होगा या क्या आपको ज्यादा गेम लॉजिक करने की जरूरत है?
एलेक्स शियरर

@ एलेक्स: मैं जावा में लिख रहा हूं। सरल डेटाबेस और कुछ गेम लॉजिक दोनों होंगे, हालांकि मुझे यकीन नहीं है कि मेरे प्रश्न के लिए यह क्यों मायने रखता है। वह भाग जहाँ मैं अटक रहा हूँ उपयोगकर्ता-प्रमाणीकरण की स्थापना में है। मार्को / पोलो का उदाहरण सिर्फ एक तुच्छ गेम-डेटा एक्सचेंज था, लेकिन जिस महत्वपूर्ण हिस्से से मुझे परेशानी हो रही है वह है उपयोगकर्ता प्रमाणीकरण सामग्री।
ओली

जवाबों:


3

मेरे पास ऐप इंजन पर निर्मित क्लाइंट / सर्वर गेम का एक कार्यशील उदाहरण है। आप इसे GitHub पर कांटा कर सकते हैं और लाइव डेमो आज़मा सकते हैं

मैंने इसके बारे में या अभी तक कुछ भी नहीं लिखा है, लेकिन कोड अपेक्षाकृत अच्छी तरह से टिप्पणी की है। मज़े करो!


0

कुछ के लिए जो साधारण है मैं अजगर का उपयोग करने की सलाह दूंगा (और सामान्य रूप से अजगर GAE अनुभव काफी अच्छा है)।

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

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

उम्मीद है की वो मदद करदे!


एक नई भाषा सीखना (अजगर) ग्राहक-कल्पना में नहीं है; मैं जावा को जानता हूं, और समय की कमी पर हूं। वस्तु पदानुक्रम सभी समान होना चाहिए, नहीं? मैं समझता हूं कि जो मैं पूछ रहा हूं वह बहुत-बहुत सरल है। लेकिन मैंने ट्यूटोरियल किया है, और यह सिर्फ मेरे लिए क्लिक नहीं कर रहा है। इसके अलावा, ट्यूटोरियल काफी नहीं दिखाते हैं कि मैं क्या पूछ रहा हूं, और मैं यह पता नहीं लगा सकता कि कैसे "नॉट-गूगल-अकाउंट" में परिवर्तित हो सकता है।
ओली

0

वह हिस्सा जो मेरे लिए क्लिक नहीं कर रहा था - और, जैसा कि मुझे संदेह था, बहुत सरल था - क्या यह सिर्फ doPost () (या doGet () लागू करने की बात है, लेकिन मैं POST का उपयोग करता हूं), और लिखना उत्तरदाता के पास।

कुछ बिट्स भी थे जिनका मैंने वेब -xml फ़ाइल (युद्ध फ़ोल्डर में) में उत्तरदाता वर्ग-नाम और URLs सेट अप करने के बारे में पहली बार सही ढंग से पालन नहीं किया था।

एक बार जब मुझे वह (web.xml) सही ढंग से सेट हो गया, तो doPost () की दिनचर्या बस कुछ इसी के साथ थी:

public void doPost(HttpServletRequest req, HttpServletResponse resp)
  throws IOException {
    String reqTypeStr = req.getParameter("reqType");
    if (reqTypeStr.equalsIgnoreCase("marco")
        resp.getWriter().println("Polo!");
    else
            resp.getWriter().println("huh?");
}

वहाँ अन्य विवरण हैं, लेकिन उन दो थे जो मुझे सबसे अधिक लटका दिया। एक बार जब मैंने उस सरल अवरोध को तोड़ दिया, तो बाकी सब कुछ बहुत तेज़ी से एक साथ बह गया।


नोट: यह अभी भी मुझे एक अच्छे ट्यूटोरियल / वॉकथ्रू पर इंगित नहीं करता है, जो कि मैंने मूल रूप से ऐसा पूछा है, अगर कोई मुझे उन लोगों में से एक को इंगित करता है, तो मैं इसे सही उत्तर के रूप में चिह्नित करूंगा।
ओली सेप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.