इस प्रोजेक्ट के बारे में

Mobile Gaming ब्राउज़र-आधारित पहेली, आर्केड और सिमुलेशन खेलों का एक संग्रह है, जिनकी अवधारणाएं मोबाइल गेम विज्ञापनों की शैली से ली गई हैं। सब कुछ ओपन वेब पर चलता है, जिसमें 2D गेमप्ले के लिए Phaser 3 और 3D रेंडरिंग के लिए Three.js का उपयोग किया गया है। एक लाइव बिल्ड mobile-gaming.pages.dev पर प्रकाशित है, और एक गेम चयनकर्ता हब पेज लॉबी के रूप में कार्य करता है जिससे प्रत्येक शीर्षक लॉन्च किया जाता है। यह सेट वर्तमान में तीन मोटे समूहों में तेरह खेलों को कवर करता है। पहेली खेल (Puzzle games): - Brain Teaser — लेटरल-थिंकिंग पहेलियाँ जिनमें वजन के अनुसार वस्तुओं को छाँटना, भूलभुलैया को नेविगेट करना और तर्क समस्याएं शामिल हैं, जिसमें 10 से अधिक हस्तनिर्मित स्तर हैं। - Water Sort — ट्यूबों के बीच डालकर रंगीन तरल पदार्थों को छाँटना, जिसमें अधिक रंगों और ट्यूबों के माध्यम से कठिनाई बढ़ती जाती है। - Parking Escape — एक अनब्लॉक-शैली की पहेली जहाँ लाल कार के लिए रास्ता साफ करने के लिए वाहनों को एक तरफ खिसकाया जाता है। - Pull the Pin — भौतिकी-आधारित पिन पहेलियाँ जहाँ गेंदों को खतरों से बचते हुए और पुरस्कार एकत्र करते हुए लक्ष्य तक निर्देशित किया जाता है। - Save the Character — बहुविकल्पीय उत्तरजीविता परिदृश्य जो निर्णय और रिफ्लेक्सिस का परीक्षण करते हैं। - Bus Jam — एक रंग-मिलान पहेली जिसमें यात्रियों को मिलान वाली बसों में छाँटा जाता है, जिसमें रूट प्लानिंग और बसों को क्षमता तक भरना शामिल है। - Merge Games — लक्ष्य स्तर तक पहुँचने के लिए मिलान वाले टाइल्स को मर्ज करना, जिसमें कुशल मर्ज के लिए योजना की आवश्यकता होती है। आर्केड खेल (Arcade games): - Crowd Runner — एक ऑटो-रनर जहाँ भीड़ गणितीय गेटों के माध्यम से बढ़ती है और बाधाओं से बचते हुए एक बॉस को हराना होता है। - Bridge Race — ब्रिज-बिल्डिंग मैकेनिक्स के साथ एक 3D ऑटो-रनर, जिसमें ब्लॉक एकत्र करना और AI प्रतिस्पर्धियों के साथ दौड़ना शामिल है। - Giant Runner — एक 3D विकास-केंद्रित रनर जहाँ बॉस की लड़ाई के लिए पावर-अप करने हेतु मिलान वाले ऑर्ब्स एकत्र किए जाते हैं। - Jelly Shift — एक आकार बदलने वाला 3D रनर जिसमें दीवारों के माध्यम से फिट होने के लिए एक जेली ब्लॉब को नया आकार दिया जाता है। - Makeover Run — अपग्रेड स्टेशनों, स्टाइल आइटम और रनवे फिनाले के साथ एक फैशन-थीम वाला 3D ऑटो-रनर। सिमुलेशन (Simulation): - Satisfying Clean — एक स्वाइप-टू-क्लीन ASMR-शैली का रिलैक्सेशन गेम। स्थानीय रूप से चलाने के लिए Node और npm की आवश्यकता होती है। प्रलेखित कमांड dependencies इंस्टॉल करने के लिए npm ci, डेवलपमेंट सर्वर शुरू करने के लिए npm run dev, प्रोडक्शन बिल्ड के लिए npm run build और उस बिल्ड का पूर्वावलोकन करने के लिए npm run preview हैं। टेस्ट Vitest यूनिट टेस्ट के लिए npm test, Playwright एंड-टू-एंड टेस्ट के लिए npm run test:e2e और लेवल वैलिडेशन के लिए npm run test:levels के साथ चलाए जाते हैं। देव सर्वर http://localhost:5173/ पर सुनता है और src/games/*/ से खेलों को ऑटो-डिस्कवर करता है। प्रोजेक्ट संरचना प्रत्येक गेम को src/games के तहत अपनी निर्देशिका में रखती है, जिसमें index.html, game.js, state.js, renderer.js, input.js, styles.css और levels.json के लिए फाइलें होती हैं। एक src/hub निर्देशिका मुख्य लॉबी और चयनकर्ता को रखती है, और src/shared में ऑडियो, स्कोरिंग और लाइफसाइकिल हैंडलिंग के लिए साझा उपयोगिताओं (utilities) शामिल हैं। अलग levels/, public/, tests/ और docs/ निर्देशिकाएं लेवल JSON फाइलें, मैनिफेस्ट, सर्विस वर्कर और रीडायरेक्ट जैसे स्टैटिक एसेट्स, टेस्ट सूट्स और प्रोजेक्ट डॉक्यूमेंटेशन को रखती हैं। परीक्षण पर, README बताता है कि गेम लॉजिक, स्टेट मैनेजमेंट और स्कोरिंग को कवर करने वाली 121 यूनिट टेस्ट फाइलें हैं, साथ ही मोबाइल Chrome और Safari के खिलाफ चलाए गए Playwright E2E टेस्ट हैं। बंडल आकार को JavaScript के लिए 3000KB और CSS के लिए 150KB के बजट के खिलाफ लागू किया जाता है, और एक लेवल वैलिडेशन स्टेप के लिए आवश्यक है कि प्रत्येक गेम में कम से कम तीन स्तर हों। परिनियोजन (Deployment) प्रोडक्शन URL पर Cloudflare Pages को लक्षित करता है, जिसमें CI/CD एक iad-ci क्लस्टर पर Argo Workflows द्वारा संचालित होता है। बिल्ड main ब्रांच पर पुश करने पर स्वचालित रूप से ट्रिगर होते हैं और क्रमवार npm ci, npm test, npm run test:levels और npm run build चलाते हैं। पुन: प्रयोज्य बिल्ड और परिनियोजन परिभाषाएं एक अलग सार्वजनिक GitOps रिपॉजिटरी, jedarden/declarative-config में रहती हैं। सूचीबद्ध तकनीकी विकल्प 2D पहेली खेलों के लिए Phaser 3, 3D आर्केड रनर्स के लिए Three.js, हॉट मॉड्यूल रिप्लेसमेंट के साथ बिल्ड टूल के रूप में Vite, यूनिट टेस्टिंग के लिए Vitest और क्रॉस-ब्राउज़र एंड-टू-एंड टेस्टिंग के लिए Playwright हैं। यह प्रोजेक्ट एक प्रोग्रेसिव वेब ऐप (PWA) भी है: इसे ऑफलाइन कैशिंग के लिए सर्विस वर्कर और ऐप मैनिफेस्ट के माध्यम से ऑफलाइन प्ले के लिए मोबाइल उपकरणों पर इंस्टॉल किया जा सकता है, जिसमें सभी स्क्रीन आकारों के लिए रिस्पॉन्सिव डिज़ाइन है। इसे MIT लाइसेंस के तहत जारी किया गया है।