عن المشروع

Ludo-Base هي تجربة ألعاب Ludo لامركزية مبنية على شبكة Base، ومصممة كتطبيق Next.js 16 ليكون جاهزاً لـ Farcaster. تجمع اللعبة بين واجهة لوحة تحكم بتصميم glassmorphism واتصال المحافظ على الشبكة (onchain) وتدفق غرف متعددة اللاعبين. ما تقوم به - ردهة اللعبة (Game lobby): تدفق إعداد يتضمن رؤوس أقسام على شكل أقراص، واختيار أفقي لوضع اللعبة، وأنواع المباريات (1v1، 2v2، 4P)، ومنطقة رهان لرسوم الدخول مع إدخال رقمي كبير، وعناصر تحكم متدرجة ورقائق اختيار سريع، بالإضافة إلى أزرار اتخاذ إجراء لـ QUICK MATCH و WITH FRIENDS. - طريقة اللعب: يقوم app/components/Board.tsx بتنفيذ لوحة Ludo الأساسية، ويوفر app/components/SnakesBoard.tsx نسخة من لعبة السلالم والثعابين. - تعدد اللاعبين: يتولى PeerJS بالتعاون مع hooks/TeamUpContext.tsx إدارة حالة استضافة/انضمام الغرفة للعب مع الأصدقاء. - الاستمرارية: يحتوي lib/matchRecorder.ts على مساعدات استمرارية نتائج المباريات، مدعومة بـ Supabase. - المحفظة والشبكة: يوفر Wagmi بالإضافة إلى Coinbase OnchainKit تكامل المحفظة لشبكة Base. المجموعة التقنية (Tech stack) Next.js 16 (App Router)، React 19، TypeScript 5، Tailwind CSS 4، Framer Motion، Wagmi + Coinbase OnchainKit، Supabase و PeerJS. التوجه البصري (UI direction) التوجه البصري الموثق هو سطح زجاجي داكن (dark terminal-glass) مع لمسات باللون السماوي (#00E5FF) للتركيز والحالات النشطة، وخلفيات متدرجة من الفحم/الجرافيت (#0B0F14 إلى #141A22) مع ضوضاء نسيجية خفيفة، ونصوص دعم أحادية المسافة (monospaced). كما يسجل ملف README اتفاقيات لمسارات الملفات النسبية للمستودع، وأسماء مكونات React بصيغة PascalCase، ونصوص واجهة قصيرة تركز على الإجراءات وتظل متسقة بين الهاتف والمكتب. التشغيل محلياً يتطلب Node.js 20+ و npm. يتم تثبيت التبعيات باستخدام npm install، ثم بدء خادم التطوير عبر npm run dev؛ حيث يعمل التطبيق على http://localhost:3000. يستخدم بناء الإنتاج npm run build متبوعاً بـ npm start، وتتوفر عملية التدقيق اللغوي (linting) عبر npm run lint. يجب إنشاء ملف .env.local بقيم لسياق النشر المختار، تغطي المحفظة/الشبكة، و Supabase وتكاملات Farcaster/Neynar. الحالة والملاحظات يذكر ملف README حالتها اعتباراً من مارس 2026، مع إدخالات حديثة في سجل التغييرات تركز على تخطيط الردهة وتكافؤ الحواف (padding)، وتنسيق عناصر التحكم في الرهان، وحالات نوع المباراة وتعديلات السمة/التذييل. لا تزال بعض اللوحات تستخدم بيانات مؤقتة أو وهمية بينما يتم توسيع الربط الخلفي، ولا تزال تدفقات TeamUp واستمرارية المباريات بحاجة إلى تعزيز مستمر لإعادة الاتصال والحالات الاستثنائية. يتضمن المستودع وثيقة تصميم اللعبة ودليلاً للأصول المرئية.