2010-01-20 17 views
7

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

  1. क्या यह इस तरह के डिज़ाइन का उपयोग करने के लिए एक अच्छी स्थिति है?
  2. घटकों के बीच कार्यक्षमता को विभाजित करने के लिए वास्तव में सबसे अच्छा कैसे होगा?
  3. वे एक-दूसरे के साथ सबसे अच्छी तरह से संवाद कैसे करेंगे?

मैं किसी भी तकनीक या विचारों के लिए खुला हूं।

+1

रेल से आप क्या लाभ चाहते हैं?यदि आपका मतलब है कि उपयोगकर्ता खाते के निर्माण के लिए इसका उपयोग करें और लोगों के साथ खेलने के लिए खोज करें, तो मैं समझ सकता हूं, लेकिन यदि 'फ्रंट एंड' से आपका मतलब शतरंज का खेल है, तो मुझे नहीं लगता कि यह आपकी मदद कैसे करेगा। जैसे, अगर मैं एक सीआरयूडी-आईएसएच डाटाबेस संचालित वेब ऐप विकसित कर रहा था, तो रेल का ओआरएम मुझ पर कूद जाएगा और चिल्लाएगा "मैं आपको और आपकी परियोजना से लाभान्वित करता हूं" ... शतरंज के रूप में कुछ 'वास्तविक समय' के रूप में, मैं नहीं करता ऐसा नहीं लगता कि मैं देखता हूं कि रेल आपके लिए क्या करेंगे। फिर, मैंने केवल रेल के बारे में बड़े पैमाने पर पढ़ा है, इसलिए मैं अपने गधे से बात कर रहा हूं और गलत साबित होने के लिए तत्पर हूं;) –

+0

"फ्रंट एंड" और "इंजन" की आपकी परिभाषाएं क्या हैं? आपका प्रश्न अस्पष्ट है। –

+0

ये प्रश्न ज्यादा समझ में नहीं आते हैं। क्या आप एक एप्लीकेशन बनाना चाहते हैं, इससे कोई फर्क नहीं पड़ता कि, उस डिज़ाइन के साथ, या आप विशेष रूप से शतरंज एप्लिकेशन बनाना चाहते हैं? –

उत्तर

7

यदि आप फ्रंट एंड के लिए रेल का उपयोग कर रहे हैं, तो रूबी का उपयोग क्यों न करें?

यदि आपको स्कैला का उपयोग करने का विचार पसंद है, तो आगे के अंत के लिए Lift का उपयोग क्यों न करें?

2

मैं http://www.htdp.org/ प्रोग्राम कैसे डिजाइन कर रहा हूं पढ़कर शुरू करूंगा। आपके द्वारा पूछे गए प्रश्न बहुत व्यापक हैं और "मुझे विश्वास है कि ..."

मैं इसे क्लोजर में कोड दूंगा (लेकिन यह सिर्फ मुझे है) के साथ उपसर्ग के बिना उत्तर देने के लिए बहुत व्यापक और मुश्किल है।

+0

आप क्लोजर से निश्चित रूप से बहुत खराब कर सकते हैं। मैं कार्यात्मक प्रोग्रामिंग प्यार करता हूँ लेकिन वास्तव में lisp में नहीं हूँ। लेकिन अगर लिस्प आपसे बात करता है, तो क्लोजर आपको उद्योग-मानक पुस्तकालयों का एक आधुनिक लिस्प डब्ल्यू/आसान उपयोग देता है। यदि आप अपनी 9 और 0 चाबियाँ नहीं पहनना चाहते हैं, तो स्कैला में क्लोजर के रूप में कई अलग-अलग स्वाद होते हैं। लेकिन हाँ, कृपया भगवान के प्यार के लिए एक आधुनिक भाषा का उपयोग करें। –

3

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

इस बात को ध्यान में रखते हुए, रेल एक वेब-आधारित एप्लिकेशन बनाने के लिए एक शानदार विकल्प है। रेल केवल क्रूड अनुप्रयोगों तक ही सीमित नहीं है, और वास्तव में मुझे लगता है कि रेल/रूबी में आपका पूरा ऐप लिख सकता है - आपको वास्तव में बाहरी इंजन की आवश्यकता नहीं है।

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

3

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

1

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

यदि आप आरओआर का एक बड़ा प्रशंसक हैं, तो इसका मतलब है कि इसका उपयोग करें। मुझे लगता है कि अधिकांश स्थैतिक टाइप की गई भाषाएं प्रोग्राम वेबसाइटों के लिए भयानक हैं (जावा, मैं आपको यहां देख रहा हूं), लेकिन स्कैला दर्द का 9 0% से छुटकारा पाती है, और इससे भी ज्यादा सुरक्षा मिलती है।

बेशक, यह आपका चाय का प्याला नहीं हो सकता है। लेकिन मैं सिर्फ स्कैला में पूरी चीज करने की कोशिश करता हूं, और एक और परत जोड़ता हूं अगर यह आपके लिए काफी कुछ नहीं करता है।

+0

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

1

प्रश्न के लिए 1 हाँ और 2 और 3 के लिए आपको एक उत्तर प्राप्त करने के लिए अधिक जानकारी देने की आवश्यकता है जो आपकी मदद कर सके।

अब मैं आपके जैसा कुछ कर रहा हूं लेकिन सामने के अंत में मैं Grails का उपयोग करने जा रहा हूं। कारण बहुत आसान है: मुझे Grails, Scala पसंद है और मैं उन्हें मिश्रण करना चाहता हूं :)

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