الألعاب الاجتماعية · منتج من Kachix

يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها

تطوير تطبيقات الموبايلالباك-إند والـ APIs والتكاملات
يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها — صورة الغلاف

التحدي

ألعاب القعدة سهل تبنيها وصعب جدًا تخليها عادلة. أول ما يبقى فيه نقط وعملات ولوحة ترتيب، أي نتيجة الموبايل بيحسبها هي نتيجة الموبايل ممكن يتقنع يكدب فيها — وفي لعبة بتتلعب وش لوش مع أصحابك، واحد بيكسب كل جولة بصمت بيبوّظ القعدة كلها.

والعربي نفسه تحدي تاني: نفس الكلمة بتتكتب بأشكال — همزة أو من غيرها، تاء مربوطة أو هاء، تشكيل أو من غيره. لو مطابقة الإجابات مش فاهمة كده، اللاعب اللي جاوب صح بيتظلم.

الحل

فريقنا حط القاعدة الحاسمة في السيرفر: ولا عميل بيحسب نتيجة أو بيحرّك عملة أبدًا. كل كتابة معتمدة — نقطة، عملة، ترتيب — بتعدي على Cloud Function بمفتاح idempotency، فإعادة المحاولة آمنة بالتصميم، والغش من جهة العميل مش بيلاقي أصلًا حاجة يعدّلها.

قواعد كل لعبة عايشة كمحركات TypeScript صافية، مكتوبة باختباراتها الأول، فتقدر تتحقق من قاعدة من غير ما تشغّل التطبيق. والمطابقة العربية طالعة من مواصفة واحدة مشتركة بتوحّد الهمزات والتاء المربوطة والألف المقصورة والتشكيل والتطويل — فـ"إجابة" و"اجابه" بيتحسبوا لنفس اللاعب.

وعشان كل لعبة محرك ورا طبقة مشتركة للأوضة والحضور والأصحاب، إضافة لعبة جديدة بقت مشكلة قواعد، مش مشكلة إعادة بناء تطبيق.

النتايج

النتيجة منصة متعددة الألعاب ضمانات العدالة فيها ثابتة مهما العميل بعت. النقط والعملات بتتقرر في مكان واحد، وإعادة المحاولة آمنة بالتصميم، والقواعد اللي بتحدد مين كسب مغطية باختبارات بتشتغل من غير جهاز.

وعشان كل لعبة محرك ورا طبقة مشتركة، إضافة لعبة جديدة مشكلة قواعد مش مشكلة إعادة بناء تطبيق.

يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها — صورة 1 من 6
يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها — صورة 2 من 6
يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها — صورة 3 من 6
يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها — صورة 4 من 6
يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها — صورة 5 من 6
يلا رووم — ألعاب قعدة عربية بنتيجة السيرفر هو اللي بيحسبها — صورة 6 من 6
التطبيق شغال على بيئة التطوير المحلية — تسجيل الدخول وإنشاء الحساب، وبعدين اختبار "المدرج" لايف وهو بيتبني وبيتقدّم بكود جلسة وبيتلعب في نفس اللحظة.

عايز نتايج زي دي؟ قول لنا بتحاول تبني إيه.

ابدأ مشروعك