edge-yacht - Cloudflare Workers पर चलने वाला मल्टीप्लेयर गेम
(yacht.seokmin.dev)नमस्ते, मैं आमतौर पर सिर्फ GeekNews पढ़ता रहा हूँ, लेकिन हाल ही में Cloudflare Developer Challenge (https://challenge.developers.cloudflare.com/) में भाग लेने वाले अपने प्रोजेक्ट को साझा करना चाहता था, इसलिए यह पोस्ट लिख रहा हूँ :)
गेम खेलने का तरीका यह है कि मुख्य स्क्रीन पर Create Room बटन दबाएँ, और अगली स्क्रीन पर दिखने वाला लिंक साझा करें। उस लिंक से जुड़ने वाले दो ब्राउज़र एक सेशन बनाकर मल्टीप्लेयर गेम खेलते हैं, और यह पूरा प्रोसेस Cloudflare Workers पर होता है। रिपॉज़िटरी यहाँ है।
https://github.com/SeokminHong/edge-yacht
Cloudflare Developer Challenge एक ऐसा प्रोग्राम है जिसमें Cloudflare के प्रोडक्ट्स जैसे Cloudflare Workers, Cloudflare Pages, Workers KV, Durable Objects में से दो या उससे अधिक का उपयोग करके मज़ेदार प्रोजेक्ट बनाकर सबमिट किए जाते हैं। मुझे इन प्रोडक्ट्स के बारे में पता चलने और इसमें भाग लेने की प्रेरणा GeekNews से ही मिली, इसलिए इसे यहाँ साझा करने का मन और भी ज़्यादा हुआ!
Cloudflare Workers सर्वरलेस कोड को ग्लोबल edge पर डिप्लॉय करने देता है, और WebSocket तथा Durable Objects के ज़रिए coordination को सपोर्ट करता है। वास्तव में, इसका उपयोग करके ऑनलाइन मल्टीप्लेयर Doom चलाने वाला एक डेमो पहले भी दिखाया जा चुका है। (https://blog.cloudflare.com/doom-multiplayer-workers/) इसी से प्रेरित होकर, लगभग एक महीने की डेवलपमेंट अवधि में मैंने शुरू से एक 2-खिलाड़ी मल्टीप्लेयर गेम बनाने की कोशिश की।
गेम का डिज़ाइन और नियम Nintendo Switch के 51 Worldwide Games नामक मिनीगेम संग्रह के Yacht से प्रेरित हैं। ताकि क्लाइंट पर गेम स्टेट में बदलाव न किया जा सके, गेम स्टेट की सभी mutation Workers में ही की जाती हैं, और क्लाइंट JavaScript 3D लाइब्रेरी three.js का उपयोग करके उस स्टेट को simulate करता है। डेवलपमेंट समय कम होने की वजह से ऑडियो, इफेक्ट्स और डिज़ाइन आदि में कई समझौते करने पड़े, लेकिन एक काम करने वाला पूरा गेम बना लिया, इसलिए उसे यहाँ साझा कर रहा हूँ, हाहा
2 टिप्पणियां
वाह!
धन्यवाद! GeekNews की वजह से मुझे ऐसे products के बारे में खबरें मिल पाईं haha