منصوبے کے بارے میں

Mobile Gaming براؤزر پر مبنی پہیلیوں، آرکیڈ اور سیمولیشن گیمز کا ایک مجموعہ ہے جن کے تصورات موبائل گیم اشتہارات کے انداز سے لیے گئے ہیں۔ سب کچھ اوپن ویب پر چلتا ہے جس میں 2D گیم پلے کے لیے Phaser 3 اور 3D رینڈرنگ کے لیے Three.js کا استعمال کیا گیا ہے۔ ایک لائیو بلڈ mobile-gaming.pages.dev پر شائع ہے، اور ایک گیم سلیکٹر حب پیج لابی کے طور پر کام کرتا ہے جہاں سے ہر ٹائٹل لانچ کیا جاتا ہے۔ یہ سیٹ فی الحال تین بڑے گروپوں میں تیرہ گیمز پر مشتمل ہے۔ پہلی (Puzzle) گیمز: - Brain Teaser — لیٹرل تھنکنگ پہیلیاں بشمول وزن کے مطابق اشیاء کی ترتیب، بھول بھلیاں اور منطقی مسائل، جس میں 10 سے زیادہ ہاتھ سے تیار کردہ لیولز ہیں۔ - Water Sort — ٹیوبوں کے درمیان رنگین مائعات کو ڈال کر ترتیب دینا، جس میں رنگوں اور ٹیوبوں کی تعداد کے ساتھ مشکل بڑھتی جاتی ہے۔ - Parking Escape — ایک ان بلاک اسٹائل پہیلی جہاں سرخ کار کے لیے راستہ صاف کرنے کے لیے گاڑیوں کو ایک طرف سرکایا جاتا ہے۔ - Pull the Pin — فزکس پر مبنی پن پہیلیاں جہاں گیندوں کو خطرات سے بچاتے ہوئے اور انعامات جمع کرتے ہوئے ایک ہدف تک پہنچایا جاتا ہے۔ - Save the Character — کثیر الانتخابی بقا کے منظرنامے جو فیصلے کرنے کی صلاحیت اور ردعمل کا امتحان لیتے ہیں۔ - Bus Jam — رنگوں کے ملاپ کی ایک پہیلی جس میں مسافروں کو ملتی جلتی بسوں میں ترتیب دیا جاتا ہے، جس میں روٹ پلاننگ اور بسوں کو مکمل بھرنا شامل ہے۔ - Merge Games — ہدف تک پہنچنے کے لیے ملتی جلتی ٹائلوں کو ضم کرنا، جس کے لیے موثر انضمام کی منصوبہ بندی درکار ہوتی ہے۔ آرکیڈ (Arcade) گیمز: - 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 میں آڈیو، اسکورنگ اور لائف سائیکل ہینڈلنگ کے لیے مشترکہ یوٹیلیٹیز موجود ہیں۔ الگ levels/, public/, tests/ اور docs/ ڈائریکٹریز میں لیول JSON فائلیں، سٹیٹک اثاثے جیسے مینی فیسٹ، سروس ورکر اور ری ڈائریکٹس، ٹیسٹ سوئیٹس اور پروجیکٹ دستاویزات موجود ہیں۔ ٹیسٹنگ پر، README بتاتا ہے کہ گیم لاجک، اسٹیٹ مینجمنٹ اور اسکورنگ کا احاطہ کرنے والی 121 یونٹ ٹیسٹ فائلیں ہیں، پلس Playwright E2E ٹیسٹ موبائل Chrome اور Safari پر چلائے جاتے ہیں۔ بنڈل سائز کے لیے 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 لائسنس کے تحت جاری کیا گیا ہے۔