ब्राउज़र-आधारित MMOs (WebGL, WebSocket) [बंद]


29

क्या आपको लगता है कि ब्राउज़र जावास्क्रिप्ट के साथ एक पूरी तरह से विकसित 3 डी MMO क्लाइंट - ग्राफिक्स के लिए WebGL और नेटवर्किंग के लिए WebSocket लिखना तकनीकी रूप से संभव है?

  • क्या आपको लगता है कि भविष्य के MMO (और आमतौर पर खेल) WebGL के साथ लिखे जाएंगे?
  • क्या आज का जावास्क्रिप्ट प्रदर्शन इसकी अनुमति देता है?
  • मान लीजिए कि आपकी विकास टीम एक डेवलपर के रूप में थी, और एक अन्य मॉडल निर्माता (कलाकार)। क्या आप खेल के लिए सीनेज़ जैसे पुस्तकालय का उपयोग करेंगे , या सीधे वेबजीएल लिखेंगे? यदि आप लाइब्रेरी का उपयोग करेंगे, लेकिन दृश्य नहीं, तो कृपया बताएं कि कौन सा है।

UPDATE (सितंबर 2012): RuneScape, जो कि एक बहुत ही लोकप्रिय 3D ब्राउज़र-आधारित MMORPG है, जो अब तक जावा Applets का उपयोग करता है, ने घोषणा की है कि यह अपने क्लाइंट ( स्रोत ) के लिए HTML5 का उपयोग करेगा ।

Runescape HTML5

जावा (बाएं) और एचटीएमएल 5 (दाएं)

अद्यतन (जून 2013): मेरे पास एक WebGL / WebSocket आधारित MMO का एक प्रोटोटाइप है: https://github.com/alongubkin/xylose


3
मोज़िला फ़ायरफ़ॉक्स और ओपेरा सिर्फ सुरक्षा कारणों के लिए WebSocket समर्थन गिरा: heise.de/security/meldung/... देखें gamedev.stackexchange.com/q/6524/450 नेटवर्क सामान के पार ब्राउज़र अमूर्त के लिए।
हेंड्रिक ब्रम्मनमैन 22

2
मुझे लगता है कि ये तीनों सवाल दिलचस्प हैं, लेकिन मैंने उन्हें तीन सवालों में विभाजित किया है। मेरे दिमाग में वे मुश्किल से संबंधित हैं।

2
तकनीकी रूप से यह संभव है, हाँ। वास्तव में एक और मामला है।
कम्युनिस्ट डक

एक साइड नोट के रूप में: Google ने WebGL पर एक जावास्क्रिप्ट लाइब्रेरी बनाई जो बहुत अच्छी है: code.google.com/p/o3d
एलेक्स बर्ड्सले

मेरी धारणा यह है कि आपके प्रश्न का अर्थ 3 डी MMO है। 3 डी शैली के लिए एक आवश्यकता नहीं है, और वास्तव में सारे MMOs से कुछ अधिक HTML रूपों (देखें के रूप में वर्षों के लिए वेब पर मौजूद है urbandead.com ) नहीं Gameforge से सभी पीएचपी खेल का उल्लेख ( en.gameforge.com ) या अधिक विदेशी AJAX / जावास्क्रिप्ट सामान जैसे अल्टिमा के भगवान ( lordofultima.com )
wkerslake

जवाबों:


7

क्या आपको लगता है कि ब्राउज़र जावास्क्रिप्ट के साथ एक पूरी तरह से विकसित 3 डी MMO क्लाइंट - ग्राफिक्स के लिए WebGL और नेटवर्किंग के लिए WebSocket लिखना तकनीकी रूप से संभव है?

हाँ बिल्कुल। कोई कारण नहीं है कि WebGL या WebSocket तकनीक आपको 3D MMOG क्लाइंट या उस गेम के लिए कोई गेम क्लाइंट बनाने से रोकेगी।

क्या आपको लगता है कि भविष्य के MMO (और आमतौर पर खेल) WebGL के साथ लिखेंगे?

हाँ। मेरा मानना ​​है कि अगले पांच वर्षों के भीतर, अधिकांश 3 डी ब्राउज़र गेम वेबजीएल का उपयोग करके लिखे जाएंगे। कारण सरल है - वेबजीएल एकमात्र मानकीकृत 3 डी तकनीक है जिसमें हर प्रमुख वेब ब्राउज़र (क्रोम 9, फ़ायरफ़ॉक्स 4, सफारी 6 और क्रोम फ्रेम के माध्यम से इंटरनेट एक्सप्लोरर) में कार्यान्वयन उपलब्ध होगा।

क्या आज का जावास्क्रिप्ट प्रदर्शन इसकी अनुमति देता है?

हाँ। आधुनिक ब्राउज़रों में जावास्क्रिप्ट प्रदर्शन उस बिंदु तक बढ़ गया है जहां 3 डी गेम का विकास संभव है। उदाहरण के लिए, थ्रीज प्रोजेक्ट देखें ।

मान लीजिए कि आपकी विकास टीम एक डेवलपर के रूप में थी, और एक अन्य मॉडल निर्माता (कलाकार)। क्या आप खेल के लिए सीनेज़ जैसे पुस्तकालय का उपयोग करेंगे, या सीधे वेबजीएल लिखेंगे? यदि आप लाइब्रेरी का उपयोग करेंगे, लेकिन दृश्य नहीं, तो कृपया बताएं कि कौन सा है। धन्यवाद!

समय बचाने के लिए पुस्तकालय का उपयोग करें। जब तक किसी मौजूदा लाइब्रेरी में ऐसी सुविधाएँ न हों जिनकी आपको आवश्यकता है, तब तक अपना खुद का WebGL ग्राफिक्स कोड लिखने का कोई कारण नहीं है। उस मामले में भी, मौजूदा लाइब्रेरी को विस्तारित करने के लिए शायद अधिक समय कुशल होगा।

अपनी परियोजना के लिए, मैं GLGE का उपयोग कर रहा हूं क्योंकि यह कई अलग-अलग ग्राफिक्स प्रभावों का समर्थन करता है और लगातार नए लोगों के साथ अपडेट किया जा रहा है।


2
सवाल "क्या आपको लगता है कि भविष्य के MMO (और आमतौर पर खेल) WebGL के साथ लिखेंगे?" और जवाब "हां। मेरा मानना ​​है कि अगले पांच वर्षों के भीतर, अधिकांश 3 डी ब्राउज़र गेम वेबजीएल का उपयोग करके लिखे जाएंगे।" एक दूसरे के लिए सटीक मैच नहीं हैं ...
Kylotan

5

वहाँ पहले से ही कई ब्राउज़र आधारित MMOs वहाँ हैं। वे आमतौर पर 3 डी ग्राफिक्स का उपयोग नहीं करते हैं।

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

प्लगइन्स की बात: कई लोगों ने एकता का उल्लेख किया, लेकिन फ्लैश को मत भूलना। फ़्लैश प्लेयर की आगामी रिलीज़ (कोड-नाम अणु ) में GPU-त्वरित 3 डी होगा। मेरा अनुमान है, कि WebGL के शुरू होने से पहले यह फ्लैश ब्राउज़र में हार्डवेयर त्वरित 3 डी ग्राफिक्स प्रदान करेगा।


1
वेबलॉग समर्थन के साथ स्थिर ब्राउज़र का मुद्दा जनवरी 2010 या उसके बाद नहीं होना चाहिए। उस समय बाहर आने के लिए फ़ायरफ़ॉक्स 4 और क्रोम 9 स्लेटेड हैं। Chrome 9 बीटा स्थापित करने के लिए बहुत सरल है और वेबलॉग को सक्षम करने के लिए कुछ भी गड़बड़ करने की आवश्यकता नहीं है। बीटा संस्करण का लिंक क्रोम के लिए नियमित डाउनलोड लिंक है।
निकोलस के।

@ नीकोल के। - क्या आपका मतलब जनवरी 2011 है ?
DMAN

1
@ नाइकोलास के - एक ब्राउज़र की उपलब्धता, और एक ब्राउज़र का आधार स्थापित करना बहुत अलग चीजें हैं। 13% इंटरनेट ट्रैफ़िक अभी भी IE6 है। स्रोत: marketshare.hitslink.com/browser-market-share.aspx?qprid=2
wkerslake

@DMan: शायद, क्योंकि यह अब बाहर है। मैं तब तक इंतजार नहीं कर सकता जब तक किसी को यह पता न चले कि ब्लूज़स्क्रीन (या कर्नेल पैनिक या मैक जो भी हो) को वेबलॉग का उपयोग करते हुए एक भद्दा ओपनजीएल ड्राइवर ...

1
@wkerslake: वे आँकड़े अपमानजनक हैं। मैं औसत इंटरनेट उपभोक्ता के उद्देश्य से प्रति दिन आधा मिलियन अद्वितीय विज़िट करता हूं, और उनमें से 1% से कम इंटरनेट एक्सप्लोरर 6 (लगभग 1/3 इंटरनेट एक्सप्लोरर 7/8/9 का उपयोग करते हैं) का उपयोग करते हैं। फ़ायरफ़ॉक्स और क्रोम 50% ट्रैफ़िक के लिए खड़े हैं, और वे स्वयं-अद्यतन करने वाले ब्राउज़र हैं जिसका अर्थ है कि अधिकांश लोगों को कुछ महीनों के भीतर WebGL समर्थन स्थापित हो जाएगा। चूंकि एक गेम के विकास में आसानी से 6 महीने लग सकते हैं, इसलिए मुझे आज वेबजीएल का उपयोग करने से लोगों को हतोत्साहित करने का कोई कारण नहीं दिखता है।
Blixt

3

तकनीकी रूप से संभव है? हाँ। लेकिन जब एकता जैसे वेब समाधान उपलब्ध हैं तो परेशान क्यों?

वेबलॉग में लिखे गए भविष्य के MMO? शायद ठीक है, लेकिन एकता जैसे वेब आधारित प्लगइन्स हैं जो अभी ठीक करते हैं।

आज का जावास्क्रिप्ट प्रदर्शन इसकी अनुमति देता है? यदि आप अपने खेल को सरल रखते हैं तो ठीक है हाँ।

क्या आप SceneJS [...] जैसी लाइब्रेरी का उपयोग करेंगे या सीधे WebGL लिखेंगे? न तो। मैं एक तीसरे पक्ष के आवेदन का उपयोग करूंगा जैसे कि एकता।


4
आपका उत्तर गलत, विरोधाभासी और बुरी तरह से स्वरूपित है। माफ़ करना इतना कठोर। अगर आपको लगता है कि ऑप को अपने सवाल के लिए एक टिप्पणी में सिर्फ एकता का उपयोग करना चाहिए।
ओबर्हसी

विडंबना यह है कि, मेरे मूल उत्तर में सिर्फ "एकता का प्रयोग करें" कहा गया था, लेकिन मुझे बताया गया था कि मुझे इस प्रश्न का अधिक सीधे उत्तर देने की आवश्यकता है।
टिम होल्ट

1
ठीक है, काफी उचित है। मुझे लगता है कि एकता एक बहुत अलग जानवर है, फिर इसे मूल रूप से ब्राउज़र में करने की कोशिश कर रहा है। यकीन है, आप एक प्लगइन के साथ कुछ भी कर सकते हैं लेकिन सवाल मुझे लगता है: देशी ब्राउज़र प्रौद्योगिकियों की सीमाएं क्या हैं।
ओबरासी

2

यह अभी संभव नहीं है (2011 की शुरुआत में)। आप देशी, ब्राउज़र तकनीकों (अर्थ प्लग इन नहीं) में एक वास्तविक समय, 3 डी MMO बना सकते हैं।

मैं भविष्य के बारे में अटकलें नहीं लगाऊंगा। अभी यह कैसा है। मान लें कि आप केवल आधुनिक ब्राउज़र (IE9, FF4, आदि) को लक्षित करते हैं। यदि आप IE7 का समर्थन करने की योजना बनाते हैं तो आप पागल हैं। वह कभी काम नहीं करेगा।

चीजें गायब हैं:

  • कीबोर्ड और माउस पर पूर्ण नियंत्रण (माउस स्थिति सेट करने की क्षमता, कुंजी अवरोधन)
  • पूर्ण स्क्रीन
  • 3 डी

गंभीर समस्याओं वाले क्षेत्र / समाधान:

  • WebSockets अब कुछ ब्राउज़रों में निष्क्रिय हो गया जिन्होंने इसका समर्थन किया
    • इसके बिना: अब कम विलंबता, द्वि-दिशात्मक क्लाइंट-सर्वर संचार
  • ऑडियो समस्याओं
    • कोडेक गड़बड़, आप ogg और एमपी 3 की जरूरत है
    • आम आवृत्तियों का समर्थन नहीं किया
    • concurrancy
    • विलंब
  • कैनवास का प्रदर्शन (कुछ मामलों में divs और css परिवर्तन करना तेज़ है)

1

हां, लेकिन प्रमुख चेतावनी के साथ।

आपके पास पूर्ण कीबोर्ड नियंत्रण नहीं होगा, और कई नियंत्रण शैतानों के लिए, यह एक डील-ब्रेकर हो सकता है। उदाहरण के लिए एफ-कीज़ संभवतः कुछ समय के लिए पहुंच से बाहर रहेगी।

आप अधिकांश ब्राउज़रों को हिट करने में सक्षम नहीं होंगे। WebGL वास्तव में अभी तक अच्छी तरह से समर्थित नहीं है, और इन दिनों वेबसोकेट समर्थन हिट-एंड-मिस है, कुछ ब्राउज़र विक्रेताओं ने इसे एक संस्करण के लिए सक्षम किया, फिर इसे अगले के लिए अक्षम कर दिया।

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

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


1
लगभग सभी आधुनिक ब्राउज़र फ़ंक्शन कुंजियों का समर्थन करते हैं ( quirksmode.org/js/keys.html#link6 )। वास्तव में, वह पृष्ठ कम से कम कई साल पुराना है और आधुनिक ब्राउज़रों में उनके लिए समर्थन शायद बेहतर भी है।
Ricket

1

बिलकुल हाँ।

WebGL रात में WebKit (Chrome / Safari) और Gecko (Firefox) दोनों में शामिल है। वर्तमान में सुरक्षा समस्याओं के कारण WebSockets अक्षम हो गया है, लेकिन ऐसा कोई कारण नहीं है कि समस्या हल होने के बाद इसे फिर से सक्षम न किया जाए। इस बीच में हमेशा HTTP होता है।

क्या सभी खेलों को इस तरह लिखा जाएगा? नहीं, लेकिन एक महत्वपूर्ण संख्या होगी। एक बार जब WebGL क्रोम और फ़ायरफ़ॉक्स के अंतिम संस्करणों में होता है, तो पैठ पहले से ही देशी प्लग-इन की तरह एकता से अधिक होगी।

जावास्क्रिप्ट प्रदर्शन खेल लिखने के लिए बिल्कुल ठीक है। आपको शायद कुछ समय के लिए Crysis ग्राफिक्स का स्तर दिखाई नहीं देगा, लेकिन WebGL के साथ याद रखें, नंबर-क्रंचिंग GPU पर लोड हो गया है।

2-मैन टीम के लिए आपको बहुत सी कोडिंग करने के लिए तैयार रहना होगा जो कभी भी आपके द्वारा उपयोग किए जाने वाले इंजन के लिए हो। वर्तमान में कोई भी WebGL / JavaScript इंजन नहीं है जो वास्तव में गेम कोड के अधिकांश भाग को कवर करता है। SceneJS, three.js और इसी तरह के ग्राफिक्स परत पर रैपर हैं, लेकिन टकराव, भौतिकी, ऑडियो, संसाधन-लोडिंग, नेटवर्क या टूल के लिए कुछ भी नहीं प्रदान करते हैं जो कि अवास्तविक इंजन, या एकता जैसे उत्पाद का थोक बनाते हैं।

इस समय शुरुआती दिन हैं, मैं अगले वर्ष में अधिक मिडलवेयर के उभरने की उम्मीद करूंगा।


0

मुझे नहीं लगता कि कई भविष्य के MMO किसी भी क्लाइंट-साइड ब्राउज़र तकनीक के साथ लिखे जाएंगे क्योंकि अधिकांश MMO डेवलपर्स क्लाइंट और सर्वर पर समान भाषा का उपयोग करना चाहते हैं, और अधिकांश गेम डेवलपर्स सी ++ जैसी गैर-वेब भाषाओं में धाराप्रवाह हैं। अभी तक बहुत से क्लाइंट-कोड शामिल हैं जो इसे जावास्क्रिप्ट में बहुत व्यावहारिक बनाने के लिए शामिल हैं, काफी तुच्छ सिमुलेशन को छोड़कर। ब्राउज़र में रनिंग द्वारा लगाई गई अन्य सीमाएं भी हैं जो एक विशिष्ट गेम डेवलपर के लिए गैर-अनिवार्य हैं।

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


क्या डाउनवॉटर एक टिप्पणी जोड़ना चाहता है जिसमें बताया गया है कि वे मेरे उत्तर से कैसे असहमत हैं? बस सोच रहा। :)
काइलोटन २

0

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


0

हां, लेकिन प्रौद्योगिकी को अभी भी स्थिर करने की आवश्यकता है और संभवतः मूल अनुप्रयोगों के प्रदर्शन व्यापार-नापसंद रहेंगे।


-3

एकता अच्छी है। शिव और प्रधान इंजन भी देखें।


1
एकता और प्राइम इंजन का हालांकि वर्णित तकनीकों से कोई लेना-देना नहीं है। वे मूल कोड प्लगइन्स हैं।
काइलोटन

1
They are answers in the sense that we are saying, "No it is not a good idea to do this, however here are alternatives." Answers that say, "No but here is an alternative" are a lot more preferable than just "No"
Tim Holt

3
Sometimes I'd agree, but rarely. There's a danger of trying to read someone's mind and guessing what they 'really' want to do, when actually the original question was perfectly legitimate in its own right. If someone asks about the suitability of X, we shouldn't always reply with "just use Y". At the very least there should be a comparison of the suitability of the two so that we come away knowing more about X.
Kylotan

I'll rephrase my answer then to answer his question about what library to use. I'd use the Unity "library" myself :P
Tim Holt

top rated answer says basically the same thing..
Error 454
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.