क्या HTML5 के साथ मल्टीप्लेयर गेम विकसित करना संभव है?


9

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

जवाबों:


7

आप इसे अकेले HTML5 के साथ नहीं लिख सकते। ब्राउज़र स्क्रिप्टिंग की सुरक्षा सीमा और धोखा देने से रोकने के लिए आपको उपयोगकर्ताओं के बीच संचार को संभालने के लिए हमेशा स्क्रिप्टिंग और सर्वर की आवश्यकता होगी।

कई लोगों ने मल्टीप्लेयर HTML5 गेम लिखा है, यहां तक ​​कि मेरे पास भी है। स्वयं html5 का उपयोग संभवतः इसका सबसे महत्वपूर्ण हिस्सा नहीं है। आवश्यक अधिकांश चीजें (यदि सभी नहीं हैं) html 4.01 में भी उपलब्ध हैं। अपवाद कैनवास है, लेकिन कैनवास svg की तुलना में धीमा है, और svg पहले से ही बहुत सारे ब्राउज़रों में उपलब्ध था।

मुझे लगता है कि वास्तव में "एचटीएमएल 5 गेम" को जन्म दिया गया था, जावास्क्रिप्ट में सर्वर साइड ऐप बनाने की क्षमता है। इसका मतलब यह है कि सभी क्लाइंट साइड प्रोग्रामर अचानक पूरे सिस्टम को खुद बना सकते हैं, और वे आमतौर पर रचनात्मक लोग हैं जब यह गेम की तरह सामान की बात आती है। यह उल्लेख करने के लिए नहीं कि जेएस इतना आसान है कि आपकी दादी भी इसके साथ कार्यक्रम कर सकती है। शायद।

ओपी की टिप्पणी के बाद अपडेट करें:

ब्राउज़र गेम के लिए एक सामान्य आर्किटेक्चर होगा

          Client                                     Server
|-----------------------|                   |---------------------|
View - input/output logic - Communication - Validation - Game World
              |                                              |
   client database (if needed)                    server database (if needed)

या वास्तविक "भाषाओं" के संदर्भ में:

  • क्लाइंट दृश्य: HTML5 (संभवतः angular.js के साथ, यह परीक्षण नहीं किया है कि यह LOTS के साथ कितनी तेजी से चल रहा है, फिर भी "ग्राफिक्स" के लिए rafeel.js देखें)
  • ग्राहक तर्क: जावास्क्रिप्ट (jquery / वाष्प / सादा / जो भी)
  • ग्राहक डेटाबेस: WebSQL (एचटीएमएल 5 "सूट का हिस्सा" मुझे लगता है)
  • संचार: JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन, अनिवार्य रूप से क्रमबद्ध जावास्क्रिप्ट ऑब्जेक्ट्स) socket.io पर (स्वचालित रूप से इष्टतम संचार प्रोटोकॉल का पता लगाने के लिए जेएस लाइब्रेरी)
  • सर्वर भाषा: जेएस (नोड। यदि आपके पास कुछ कोर पर समवर्ती उपयोगकर्ताओं के टन हैं, तो अन्य समाधान भी उपलब्ध हैं)
  • सत्यापन: बस सुनिश्चित करें कि आपका INCOMING गेम डेटा (क्लाइंट से) मान्य है। आउटगोइंग को चेक करने की आवश्यकता नहीं है, क्लाइंट पर भी नहीं। इसे सही माना गया है। हमेशा
  • गेम वर्ल्ड: वेरीफाइड डेटा का एक संग्रह जो सभी ग्राहकों के लिए पुनर्वितरित होता है क्योंकि वे अंदर आते हैं
  • सर्वर डेटाबेस: couchdb, mongodb, जो भी डेटाबेस आपको काम करने के लिए रॉ जसन ऑब्जेक्ट देता है।

तुम यहां हो। एक पूरा इंटरनेट गेम केवल जावास्क्रिप्ट और HTML का उपयोग करके लिखा गया है। लवली।


मुझे आपका जवाब बहुत दिलचस्प लगता है, क्या आप मुझे इस बारे में थोड़ी सलाह दे सकते हैं कि मुझे किन हिस्सों में निर्माण करना चाहिए (जो सबसे महत्वपूर्ण हैं) अंत तक और प्रत्येक भाग में कौन सी प्रौद्योगिकियां खिलाती हैं, इसके बारे में क्षमा करें, बस यह जानने की कोशिश करें कि किसी विश्वसनीय चीज़ का निर्माण कैसे करें । धन्यवाद!
गिरफ्तारी

1
+1, HTML5 क्रोध है, लेकिन जो लोग इसकी विशेषता रखते हैं, वह ज्यादातर 4.01 कार्यक्षमता और जावास्क्रिप्ट है। हालांकि मैं आपसे जावास्क्रिप्ट आसान नहीं कहने के लिए कह सकता हूं? यह मिल गया है यह भत्तों है, लेकिन अगर आप वास्तविक कार्यक्रम लिखना चाहते हैं, तो आप एक वास्तविक प्रोग्रामर बनना चाहते हैं। जावास्क्रिप्ट चर घोषणा और स्मृति प्रबंधन के कामों को दूर ले जाता है, लेकिन यह आपके कोड को व्यवस्थित करने और एल्गोरिदम और डेटा संरचनाओं को किसी भी आसान तरीके से व्यवस्थित नहीं करता है, और आपको निश्चित रूप से उन कार्यों के लिए प्रोग्रामर मानसिकता और अनुभव की आवश्यकता है।
आआआआआआआआआआआ आआआआआ

@eBusiness जिसका मैं आसान अर्थ लगाता हूं वह यह है कि यह प्रोग्रामिंग के मामले में बहुत गाढ़ा है, और इसके उपयोग के मामलों को मृत्यु के रूप में प्रलेखित किया गया है। आप हमेशा एक ट्यूटोरियल या एक फ़ंक्शन पा सकते हैं जो आपको चाहिए। और इसे स्थापित करना आसान है (आपको इसकी आवश्यकता नहीं है, यह पहले से ही ब्राउज़र में है)।
Tor Valamo

@arrrrgv ने आपके प्रश्न के उत्तर के साथ अपडेट की गई पोस्ट
Tor Valamo

1
एक अच्छा जवाब के लिए +1, हालांकि मुझे संदेह है कि HTML5 गेम के उदय का सर्वर-साइड जावास्क्रिप्ट के साथ कुछ भी नहीं है। कड़ाई से बोलने वाला JS HTML5 का हिस्सा भी नहीं है। मुझे लगता है कि यह कैनवास, वेबजीएल, ऑडियो और वीडियो और स्थानीय भंडारण जैसी नई सुविधाएँ हैं जो एचटीएमएल 5 गेम को बढ़ावा देती हैं। और निश्चित रूप से तथ्य यह है कि यह नया और सम्मोहित है, जिससे हर कोई बैंडबाजे में कूद जाता है।
बुमज़ैक

3

पर लेख पर एक नजर डालें http://smus.com/multiplayer-html5-games-with-node और भी लेख के साथ प्रदान की स्रोत। ध्यान दें कि यह नेटवर्किंग के लिए जावास्क्रिप्ट का भी उपयोग करता है।


2
भ्रम से बचने के लिए कृपया "जावास्क्रिप्ट" को एक शब्द के रूप में लिखें।
ओ ० '।

एक दिन, Node.js आवश्यक नहीं होगा - जब वेब सॉकेट के लिए क्रॉस-ब्राउज़र समर्थन व्यापक है।
इंजीनियर

मैं नहीं देखता कि वेब सॉकेट के लिए क्रॉस-ब्राउज़र समर्थन किसी भी ब्राउज़र के बाहर सर्वर घटक की आवश्यकता को क्यों बदल देगा। आपको हमेशा एक मल्टीप्लेयर गेम का प्रोग्राम करना चाहिए ताकि क्लाइंट सीधे सेंट्रल क्लाइंट से न जुड़कर क्लाइंट से जुड़ जाए।
झॉकिंग


वेब सॉकेट किसी भी एप्लिकेशन के लिए स्वाभाविक रूप से असुरक्षित हैं, यही वजह है कि इतने सारे ब्राउज़रों द्वारा नियोजित कार्यान्वयन को छोड़ दिया गया था। आप एक ऐसे वातावरण की अनुमति नहीं दे सकते हैं जो "कहीं भी" पहुंच सके और उसी समय "कहीं भी" से इनपुट ले सके।
Tor Valamo 21
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.