2010-10-06 26 views
6

मैंने एनीमेशन के लिए jQuery के साथ रेल + एजेक्स पर रूबी में एक साधारण कार्ड गेम बनाया है। यह ठीक काम कर रहा है, और मैं एक मल्टीप्लेयर संस्करण विकसित करना चाहता था। ऐसा लगता है कि यह इतना आसान नहीं है जैसा मैंने सोचा था। मैंने गेम को पूरी तरह से जेएस को कैनवास टैग में बंद करने का भी प्रयास किया है। यह मेरे लिए संभव है और मैं एनीमेशन को और बेहतर बना सकता हूं, हालांकि मुझे अभी भी यह नहीं पता कि इसमें एक मल्टीप्लेयर भाग कैसे जोड़ना है :( क्या किसी ने पहले से ही रेल के साथ websockets का उपयोग करने का प्रयास किया है? यह बहुत फैंसी नई तकनीक है। यह सब पर पटरियों के साथ छड़ी के योग्य है? मैं मैं फ्लैश में खरोंच से शुरू कर सकता है चाहते हैं, लेकिन मैं किसी भी ज्ञान यह :(में किसी भी सलाह या ट्यूटोरियल उपयोगी होगारूबी पर रूबी में सरल मल्टीप्लेयर गेम?

धन्यवाद

उत्तर

2

तो नहीं है आप websockets का उपयोग कर समाप्त होते हैं:

वेबसाइटों को रेल के साथ कार्यान्वित किया जा सकता है, लेकिन एन सभी होस्टिंग वातावरण इसका समर्थन करते हैं। यहां पर कुछ लिंक है कि मदद कर सकता है आप आरंभ कर रहे हैं:

http://m.onkey.org/websockets-made-easy-with-cramp

http://www.pusherapp.com/ (Thin या Rainbows! की आवश्यकता है) ग्राहक के लिए

(यदि आप Heroku उपयोग कर रहे हैं, यह एक अच्छा विकल्प है) पक्ष, कुछ जावास्क्रिप्ट प्लगइन्स में फ्लैश फ़ॉलबैक होता है यदि ब्राउज़र websockets का समर्थन नहीं करता है। फ़्लैश में पूरे गेम को लागू करने के बजाय, आप ऐसी प्लगइन का उपयोग करना बेहतर हो सकते हैं। (। आपका सर्वर अभी भी WebSocket समर्थन की आवश्यकता होगी) यहाँ एक विकल्प है (jQuery की आवश्यकता है):

https://github.com/ffdead/jquery-graceful-websocket

आप कहा गया है, WebSockets बहुत नए हैं, और एक परिणाम के रूप में काफी प्रयोगात्मक हो जाएगा। यदि सब कुछ विफल हो जाता है, तो वहाँ अधिक आम AJAX समाधान हैं। यह संभव है कि एक साधारण कार्ड गेम के लिए, आप समय-समय पर AJAX अनुरोधों का उपयोग कर सर्वर से पूछताछ कर सकते हैं जब तक कि अन्य खिलाड़ी ने कोई कदम नहीं उठाया हो। यह शायद सर्वर लोड में वृद्धि करेगा, इसलिए मुझे लगता है कि यह आपकी आवश्यकताओं पर निर्भर करता है।

संपादित करें:

यह भी देखें: Juggernaut

+1

मुझे वेबकॉकेट्स से जुगर्नॉट के साथ मतदान करने के लिए कृपापूर्ण गिरावट मिली है (इसे गीथब पर देखें)। यदि आप एक juggernaut सर्वर होस्ट कर सकते हैं, तो मैं सुझाव देता हूं कि इसमें एक नज़र डालें। – manu

+0

हां, जुगर्नॉट निश्चित रूप से एक अच्छा विकल्प है। दिसंबर में मुझे इसके बारे में पता नहीं था। – Smudge

2

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

जो मामले में यह सबसे आसान होगा के रूप में यह है jQuery के नए 'चाल' के लिए 'चुनाव' JQuery और एक प्लगइन का उपयोग कर इस तरह के रूप http://plugins.jquery.com/project/smartupdater

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

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