عن المشروع

Mobile Gaming هي مجموعة من ألعاب الألغاز والأركيد والمحاكاة القائمة على المتصفح، والتي استُمدت مفاهيمها من أسلوب إعلانات ألعاب الهاتف المحمول. يعمل كل شيء على الويب المفتوح باستخدام Phaser 3 لأسلوب اللعب ثنائي الأبعاد (2D) و Three.js للصيرورة ثلاثية الأبعاد (3D). يتم نشر نسخة حية على mobile-gaming.pages.dev، وتعمل صفحة مركز اختيار الألعاب كبهو يتم من خلاله إطلاق كل عنوان. تغطي المجموعة حالياً ثلاث عشرة لعبة موزعة على ثلاث مجموعات تقريبية. ألعاب الألغاز: - Brain Teaser — ألغاز تفكير جانبي تشمل فرز العناصر حسب الوزن، والتنقل في المتاهات ومشاكل المنطق، مع أكثر من 10 مستويات مصممة يدوياً. - Water Sort — فرز السوائل الملونة عن طريق سكبها بين الأنابيب، مع زيادة الصعوبة من خلال المزيد من الألوان والأنابيب. - Parking Escape — لغز من نوع "إزالة العوائق" حيث يتم تحريك المركبات جانباً لفتح طريق للسيارة الحمراء. - Pull the Pin — ألغاز دبابيس تعتمد على الفيزياء حيث يتم توجيه الكرات إلى هدف مع تجنب المخاطر وجمع المكافآت. - Save the Character — سيناريوهات بقاء متعددة الخيارات تختبر الحكم وردود الفعل. - Bus Jam — لغز مطابقة ألوان يتم فيه فرز الركاب في حافلات متطابقة، مع تخطيط المسار وملء الحافلات حتى سعتها القصوى. - Merge Games — دمج البلاطات المتطابقة للوصول إلى مستوى الهدف، مع ضرورة التخطيط لعمليات دمج فعالة. ألعاب الأركيد: - Crowd Runner — لعبة ركض تلقائي حيث ينمو الحشد من خلال بوابات رياضية ويجب عليه هزيمة زعيم مع تفادي العقبات. - Bridge Race — لعبة ركض تلقائي ثلاثية الأبعاد بميكانيكا بناء الجسور، وجمع الكتل والتسابق ضد منافسين من الذكاء الاصطناعي. - Giant Runner — لعبة ركض ثلاثية الأبعاد تركز على النمو حيث يتم جمع الكرات المتطابقة لزيادة القوة لمعارك الزعماء. - Jelly Shift — لعبة ركض ثلاثية الأبعاد لتغيير الشكل حيث يتم إعادة تشكيل كتلة هلامية لتناسب المرور عبر الجدران. - Makeover Run — لعبة ركض تلقائي ثلاثية الأبعاد بطابع الموضة مع محطات ترقية وعناصر أناقة وخاتمة على منصة العرض. المحاكاة: - Satisfying Clean — لعبة استرخاء بأسلوب ASMR تعتمد على السحب للتنظيف. يتطلب التشغيل محلياً وجود Node و npm. الأوامر الموثقة هي npm ci لتثبيت التبعيات، و npm run dev لبدء خادم التطوير، و npm run build لبناء نسخة الإنتاج، و npm run preview لمعاينة ذلك البناء. يتم تشغيل الاختبارات باستخدام npm test لاختبارات Vitest للوحدات، و npm run test:e2e لاختبارات Playwright الشاملة (end-to-end)، و 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 للمستويات، والأصول الثابتة مثل manifest و service worker والتحويلات، ومجموعات الاختبار وتوثيق المشروع. فيما يخص الاختبار، يذكر ملف README وجود 121 ملف اختبار وحدة تغطي منطق اللعبة وإدارة الحالة والنتائج، بالإضافة إلى اختبارات Playwright E2E التي يتم تشغيلها على Chrome و Safari للهاتف المحمول. يتم فرض حجم الحزمة مقابل ميزانيات قدرها 3000 كيلوبايت لـ JavaScript و 150 كيلوبايت لـ CSS، وتتطلب خطوة التحقق من المستويات أن تحتوي كل لعبة على ثلاثة مستويات على الأقل. يستهدف النشر Cloudflare Pages في عنوان الإنتاج، مع CI/CD مدفوع بواسطة Argo Workflows على عنقود iad-ci. يتم تحفيز عمليات البناء تلقائياً عند الدفع إلى الفرع main وتشغيل npm ci و npm test و npm run test:levels و npm run build بالتتابع. تعيش تعريفات البناء والنشر القابلة لإعادة الاستخدام في مستودع GitOps عام منفصل، وهو jedarden/declarative-config. الخيارات التقنية المدرجة هي Phaser 3 لألعاب الألغاز ثنائية الأبعاد، و Three.js لألعاب الركض ثلاثية الأبعاد، و Vite كأداة بناء مع استبدال الوحدات الساخن (hot module replacement)، و Vitest لاختبار الوحدات و Playwright للاختبار الشامل عبر المتصفحات. المشروع هو أيضاً تطبيق ويب تقدمي (PWA): يمكن تثبيته على الأجهزة المحمولة للعب دون اتصال من خلال service worker للتخزين المؤقت و app manifest، مع تصميم متجاوب مخصص لجميع أحجام الشاشات. تم إصداره بموجب رخصة MIT.