रेडी प्लेयर वेब

आधुनिक वेब के लिए गेम बनाना.

टॉम ग्रीनअवे

अच्छे गेम डेवलपर जानते हैं कि किसी खास प्लैटफ़ॉर्म का फ़ायदा उठाने के लिए, उस प्लैटफ़ॉर्म की खास विशेषताओं को अपनाना ज़रूरी है. वेब की अनूठी विशेषताएं क्या हैं? वेब गेम का मतलब क्या है?

Google I/O 2019 में मैंने वेब गेम नेटवर्क की स्थिति, आधुनिक वेब गेम डेवलपमेंट के लिए मौजूदा सबसे सही तरीकों, और इंडस्ट्री में बदलाव के बारे में अपने विचार रखे. इस ब्लॉग पोस्ट में, हम आपको बातचीत के कुछ अहम बिंदुओं के बारे में बता रहे हैं. इन्हें पूरा YouTube पर देखा जा सकता है:

वेब गेम की चुनौतियां

Google में शामिल होने से पहले मैंने Duet के नाम से एक मोबाइल गेम बनाया, जिसे करीब 2 करोड़ बार डाउनलोड किया गया था. इस अनुभव से मुझे पता चला कि गेम की मदद से एक सफल कारोबार बनाने के लिए, ये तीन ज़रूरी चीज़ें हैं:

  • बुनियादी सुविधाओं वाला गेम
  • उपयोगकर्ता
  • उपयोगकर्ताओं से कमाई करने का तरीका

इन तीन एलिमेंट के बिना, गेम डेवलपर को कामयाबी नहीं मिल सकती. आज के समय में, आखिरी के ये दो पॉइंट सबसे ज़्यादा ज़रूरी हैं. WeChat, Facebook Instant Games जैसे बंद किए गए HTML5 नेटवर्क से यह पता चला है कि HTML5 का इस्तेमाल करके गेम बनाए जा सकते हैं.

आधुनिक सबसे सही तरीके

"फ़ंक्शनल गेम" शब्द का इस्तेमाल करके, मैं उन तीन मुख्य एलिमेंट के बारे में बताता हूं जो गेम के काम करने के लिए ज़रूरी हैं:

  • परफ़ॉर्मेंस
  • विज़ुअल
  • ऑडियो

इन सभी क्षेत्रों में, पिछले कुछ सालों में वेब प्लैटफ़ॉर्म ने बड़े बदलाव किए हैं. सीपीयू की परफ़ॉर्मेंस के लिए, हमारे पास WebAssembly नाम के एक नए और बेहतर स्टैंडर्ड का ऐक्सेस है. ग्राफ़िक्स की बात करें, तो WebGL 1.0 को क्रॉस-ब्राउज़र के लिए बेहतर सपोर्ट मिला है. आने वाले समय में, WebGPU जैसे आने वाले समय के स्टैंडर्ड, Vulkan और Metal जैसे ग्राफ़िक्स प्रोग्राम के लिए, वेब प्लैटफ़ॉर्म की जगह बना रहे हैं. वेब ऑडियो के लिए, हमारे पास सामान्य वेब ऑडियो एपीआई और हाल ही में Audio Worklet API उपलब्ध है.

हाल ही में, Unity ने Project Tune के नाम के नए रनटाइम की झलक देखी. इसमें HTML5 पर आधारित प्लैटफ़ॉर्म के लिए 2D गेम बनाने पर फ़ोकस किया गया है. Project Activate का नया मॉड्यूलर डिज़ाइन, Unity के इंजन की बनावट में लागू होता है. इससे मुख्य Unity इंजन का साइज़ 1 मेगाबाइट से कम हो जाता है.

दो टैंक, जो लड़ाई में शामिल हैं.
Unity's Tanks डेमो को HTML5 के ज़रिए एक्सपोर्ट किया गया.

तकनीकी जानकारी की बात करें, तो वेब गेम डेवलपमेंट की शुरुआत करने का यही सबसे अच्छा समय है.

लूप डालें

एक शानदार गेम का मतलब है उसकी परफ़ॉर्मेंस, ग्राफ़िक्स, और आवाज़ बेहतर होना. हालांकि, गेम खेलने के साथ-साथ, गेम भी मज़ेदार होना चाहिए.

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

अच्छे गेम डेवलपर को पता होता है कि सॉफ़्टवेयर या हार्डवेयर के लेवल पर किसी खास प्लैटफ़ॉर्म का फ़ायदा उठाने के लिए, उस प्लैटफ़ॉर्म की खास विशेषताओं को अपनाना ज़रूरी है. उदाहरण के लिए, अगर आपको मोशन कंट्रोल की सुविधा वाले कंसोल के लिए गेम बनाना है, तो आपको मोशन कंट्रोल अपनाने का सबसे अच्छा तरीका सोचना चाहिए.

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

साधारण आर्ट स्टाइल वाले तीन गेम.

मेरा मानना है कि एक सफल वेब गेम बनाने के लिए, वेब की इस अनोखी विशेषता का इस्तेमाल करना होता है. खास तौर पर, वेब के यूआरएल के स्ट्रक्चर और शेयरिंग लूप, जिसमें उपयोगकर्ता शामिल हो सकते हैं.

यहां एक वेब गेम का उदाहरण दिया गया है जिसे मैंने Construct 3 का इस्तेमाल करके बनाया था. इसमें यूआरएल का इस्तेमाल मज़ेदार और दिलचस्प तरीके से किया जाता है.

किसी गेम के लिए लेवल एडिटर इंटरफ़ेस.

Space Board एक बहुत ही आसान गेम है, जिसे टच कंट्रोल की मदद से मोबाइल पर या कीबोर्ड इनपुट के ज़रिए डेस्कटॉप पर खेला जा सकता है. इन गेम का मकसद, रुकावटों को पार करके, अपने आखिरी लक्ष्य तक पहुंचना है.

स्पेस बोर्ड, यूआरएल का इस्तेमाल एक यूनीक तरीके से कैसे करता है? लेवल के स्ट्रक्चर को यूआरएल में एन्कोड करके. सभी लेवल को 10 x 10 ऑब्जेक्ट के ग्रिड के तौर पर दिखाया जाता है. उदाहरण के लिए, दीवारें, दुश्मन के कंगूरे, चाबियां, दरवाज़े वगैरह. इसके बाद, यूआरएल में हर ग्रिड की पोज़िशन और उसका कॉन्टेंट दिखाया जाता है. दीवार को W वर्ण से दिखाया जाता है. खाली जगह, अंडरस्कोर वर्ण होता है.

यहां एक उदाहरण दिया गया है:

https://io-space-board.firebaseapp.com/?gameWorld=_wwwwwwwwww___ww__eww_k__d___ww___ww___ww_wwwww_www_wwwww_www___ww___ww_s_ww_f_ww___ww___wwwwwwwwwwww

यह खराब है, लेकिन यह अपने काम को सही तरीके से करता है.

स्पेस बोर्ड में एक लेवल पूरा करने के बाद, खिलाड़ी के पास ऊपर दिखाए गए आसान लेवल एडिटर का इस्तेमाल करके अपना लेवल डिज़ाइन करने का मौका होता है. खिलाड़ियों को उनके लेवल को डिज़ाइन करने में मदद करके, हम उन्हें अपने हिसाब से लेवल बनाने का मौका दे रहे हैं. जब किसी उपयोगकर्ता को गेम बनाने और पसंद के मुताबिक बनाने के ज़रिए उसे किसी गेम से जुड़ाव महसूस होता है, तो इस बात की संभावना बढ़ जाती है कि वह उस 'चीज़' को दुनिया के साथ शेयर करना चाहे.

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

निवेश पर लाभ

फ़िलहाल, इस बारे में दो विचार हैं कि कोई गेम डेवलपर वेब गेम से कमाई कैसे कर सकता है:

  • गेम में सीधे तौर पर कमाई करना
  • उन्हें उपयोगकर्ता हासिल करने का चैनल मानते हुए

वेब गेम को उपयोगकर्ता हासिल करने वाला चैनल समझने का मतलब है कि आप अपने iOS/Android/डेस्कटॉप गेम के वेब वर्शन का इस्तेमाल करें, ताकि खिलाड़ियों को आपके ऐप्लिकेशन से जोड़े रखने के साथ-साथ उन्हें बड़ी iOS/Android/डेस्कटॉप बाइनरी गेम डाउनलोड करने के लिए तैयार किया जा सके. इसके बाद, iOS/Android/डेस्कटॉप प्लैटफ़ॉर्म में पहले से मौजूद पेमेंट और बिलिंग बैकएंड की मदद से, रेवेन्यू जनरेट किया जा सकता है.

आम तौर पर, कमाई करने में विज्ञापन और माइक्रोट्रांज़ैक्शन का मिला-जुला रूप इस्तेमाल होता है. गेम विज्ञापन में मोबाइल प्लैटफ़ॉर्म से मुकाबला करने के लिए वेब पर अब भी काम होना बाकी है. उदाहरण के लिए, इनाम वाले वीडियो विज्ञापन जैसे फ़ॉर्मैट, मोबाइल गेम के लिए कई सालों से बेहद लोकप्रिय रहे हैं. इसके बावजूद, अब हम सिर्फ़ विज्ञापन नेटवर्क कंपनियों को वेब पर इन फ़ॉर्मैट का इस्तेमाल करते हुए देख रहे हैं.

हालांकि, कुछ गेम डेवलपर पारंपरिक बैनर विज्ञापनों और इंटरस्टीशियल वीडियो विज्ञापनों के ज़रिए, वेब पर लगातार कामयाबी हासिल कर रहे हैं. इन फ़ॉर्मैट के बारे में ज़्यादा जानकारी के लिए, Games के लिए AdSense पर नज़र डालें.

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

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

आने वाला समय

हमने पिछले कुछ सालों में ऐसे कई शानदार वेब गेम देखे हैं जो हैरान करने वाले हैं. Slither.io ने एक मिला-जुला वेब और प्लैटफ़ॉर्म का कारोबार बनाया है जो वेब ऑफ़र की पहुंच और वायरल विकास के अवसर को दिखाता है. Poki.com जैसे पोर्टल अपने उपयोगकर्ता अनुभव में कुछ नया कर रहे हैं. साथ ही, हर दिन नए गेम रिलीज़ कर रहे हैं. इनमें Subway Surfers या Crossy Road जैसे मोबाइल गेम खेलने वाले ऐप्लिकेशन की फ़िडेलिटी से मेल खाने वाले गेम शामिल हैं.

इसके अलावा, वेब से बाहर देखने पर आपको पता चलता है कि वेब गेम पहले से ही चलन में हैं. WeChat और LINE जैसे बंद नेटवर्क में, शानदार गेम मौजूद हैं. भले ही, ये गेम ओपन वेब पर न खेले जा सकें, लेकिन HTML5 और WebViews जैसी वेब टेक्नोलॉजी की मदद से बनाए गए हों. यह इस बात का साफ़ संकेत है कि वेब फ़िडेलिटी के उस लेवल तक पहुंच गया है जिस पर प्लैटफ़ॉर्म के हिसाब से बने मोबाइल गेम से मुकाबला करने की क्षमता है. हालांकि, फ़िडेलिटी की टेक्स्टबुक की परिभाषा के हिसाब से यह शायद नहीं, बल्कि खिलाड़ी का ध्यान खींचने वाली मेट्रिक है.