هذا المشروع عبارة عن نظام متكامل للألعاب متعددة اللاعبين في الوقت الفعلي (Real-Time Multiplayer Game System)، يجسد لعبة الدومينو الشهيرة. تم بناء النظام بالكامل باستخدام بيئة عمل .NET 8.0 ولغة C#، مع الاعتماد على بنية هندسية متطورة تفصل بين واجهات المستخدم، خادم الاتصال، ومحرك اللعبة الأساسي.
يتكون المشروع برمجياً من أربعة مشاريع فرعية منسقة (Client_UI, Server_Side, Game_Engine, Domino.Shared) لضمان سهولة الصيانة وقابلية التوسع مستقبلاً.
الميزات والقدرات التشغيلية والتقنية للمشروع
يتميز النظام ببنية تحتية قوية صُممت خصيصاً للتعامل مع تحديات الألعاب الجماعية عبر الإنترنت:
خادم اتصالات مخصص (Custom TCP Socket Server):
يعتمد النظام على خادم مبني بالكامل باستخدام بروتوكول TCP Sockets، مما يضمن اتصالاً ثابتاً ومستقراً وسريعاً للغاية لمعالجة حركات اللاعبين في الوقت الفعلي دون أي تأخير ملحوظ.
بيئة تحكم وإدارة خاضعة للخادم (Server-Authoritative Engine):
تتم إدارة كافة قواعد اللعبة والتحقق من صحة حركات اللاعبين (Move Validation) بالكامل على السيرفر وليس على جهاز اللاعب. هذه الميزة تمنع أي محاولات للغش أو التلاعب ببيانات اللعبة وتضمن بيئة عادلة لجميع المشتركين.
نظام غرف ذكي وديناميكي (Dynamic Lobby & Rooms):
يدعم النظام إنشاء غرف لعب مرنة تستوعب من لاعبين إلى 4 لاعبين في المباراة الواحدة. كما يتضمن خاصية "وضع المتفرج" (Spectator Mode) التي تسمح لمستخدمين آخرين بمشاهدة المباريات الجارية مباشرة.
معالجة ذكية لحالات الانقطاع (Robust Disconnect Handling):
يتميز النظام بذكاء عالٍ في إدارة المشاكل التقنية للاعبين؛ ففي حال انقطع اتصال أحد اللاعبين أثناء المباراة، يقوم النظام تلقائياً بإعادة تشغيل الجولة (Mid-game round restart) للحفاظ على توازن اللعبة. وفي حال غادر الجميع ولم يتبقَ سوى لاعب واحد، يقوم النظام بإغلاق الغرفة تلقائياً وتنظيف الذاكرة (Automatic Room Cleanup) لتوفير موارد السيرفر.