الانتقال إلى المحتوى الرئيسي
بارادايس كود

تطوير الألعاب الجماعية وألعاب الجوال والمتصفح

نبني ألعابًا تبقى عادلة وسلسة على الهواتف العادية والاتصالات غير المستقرة، من محرك القواعد والروبوتات إلى خادم المباريات والمتجر داخل اللعبة.

تطوير الألعاب بالنسبة لنا ليس رسومًا وحركة فقط؛ فالعمل الصعب هو الجزء الذي لا يراه اللاعب. في اللعبة الجماعية لا يجوز لأي عميل أن يعرف أوراق خصمه، ولا ينبغي أن يفسد انقطاع الاتصال المباراة، ويجب أن يلعب الروبوت جيدًا بما يكفي ليبقى اللاعب دون إنترنت مستمتعًا. نطوّر الألعاب عبر الإنترنت وألعاب الجوال وألعاب المتصفح ببنية تحل هذه المشكلات منذ اليوم الأول.

همدور، منصة الألعاب الجماعية الخاصة بنا، تضم 36 لعبة في 5 فئات. كتبنا محرك قواعد واحدًا بـ Kotlin Multiplatform يعمل على الهاتف للعب دون إنترنت ضد الروبوتات، وعلى الخادم بوصفه الحَكَم المعتمد للمباريات عبر الإنترنت. يعمل الخادم بـ Ktor عبر اتصال WebSocket واحد ورسائل ProtoBuf، ويعتمد التصنيف على Elo، ويُقبل الدفع عبر ZarinPal ومحفظة Bale وCafe Bazaar وMyket. ونسخة الويب هي الشيفرة نفسها مترجمة إلى Kotlin/Wasm بحجم 2.7 ميغابايت (brotli).

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

ماذا نبني

  • تطوير الألعاب الجماعية

    خادم معتمد ينفذ منطق اللعبة ويُبطل الغش، مع غرف خاصة ومباريات سريعة وإعادة اتصال واستئناف للعب بعد الانقطاع.

  • تطوير ألعاب الجوال

    ألعاب أندرويد بـ Kotlin وJetpack Compose، محسّنة للهواتف المتوسطة، مع لعب دون إنترنت ونشر في المتاجر.

  • ألعاب المتصفح وWebGL

    ألعاب تعمل في المتصفح دون تثبيت، مبنية بـ Kotlin/Wasm أو three.js أو WebGL، وقابلة للتثبيت كتطبيق ويب تقدمي على آيفون والحاسوب.

  • تطوير ألعاب الورق عبر الإنترنت

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

  • روبوتات اللعبة

    روبوتات بعدة مستويات صعوبة، من قواعد بسيطة إلى بحث PIMC، للعب دون إنترنت وملء المقاعد الفارغة واستبدال اللاعب المنقطع.

  • التصنيف والمتجر ولوحة الإدارة

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

طريقة العمل

  1. ٠١

    القواعد وحلقة اللعب

    نوثّق القواعد بدقة مع كل الاستثناءات المحلية، ونحدد حلقة اللعب الأساسية ونموذج الإيرادات، ونبني نموذجًا قابلًا للعب بسرعة.

  2. ٠٢

    محرك قواعد مشترك

    نكتب منطق اللعبة مرة واحدة بمعزل عن الواجهة ونغطيه باختبارات آلية، لتطبّق الروبوتات والعملاء والخادم القواعد نفسها تمامًا.

  3. ٠٣

    الشبكة والخادم والروبوتات

    نبني البروتوكول والخادم المعتمد ونظام المطابقة وإعادة الاتصال، ونضبط الروبوتات بعدة مستويات، ونختبر على اتصالات ضعيفة.

  4. ٠٤

    الإطلاق والتشغيل المباشر

    ننشر على أندرويد والويب، ونشغّل الخوادم بـ Docker مع نسخ احتياطي وتراجع تلقائي، ونبقي اللعبة حية عبر لوحة الإدارة.

ما الذي يحدد التكلفة؟

تعتمد تكلفة تطوير الألعاب على تعقيد القواعد والجزء المتصل بالإنترنت والتشغيل بعد الإطلاق أكثر من الرسوم. بعد توثيق القواعد والنطاق نقدم تقديرًا على مراحل.

  • نوع اللعبة: فردية دون إنترنت، أو جماعية عبر الإنترنت، أو الاثنتان على محرك مشترك
  • تعقيد القواعد وعدد الألعاب أو أنماط اللعب
  • مستوى ذكاء الروبوتات، من قواعد بسيطة إلى بحث متقدم
  • المنصات: أندرويد والويب وتطبيق الويب التقدمي، وحجم الرسوم والحركة المخصصة
  • الميزات الاجتماعية والربحية: التصنيف والأصدقاء والدردشة والمتجر والاشتراكات ولوحة الإدارة

الأسئلة الشائعة

كم تكلفة تطوير لعبة جماعية عبر الإنترنت؟

يعتمد ذلك على نوع اللعبة. فاللعبة الفردية دون إنترنت ذات القواعد البسيطة تحتاج عملًا أقل بكثير من لعبة جماعية عبر الإنترنت تتطلب خادمًا معتمدًا ونظام مطابقة وإعادة اتصال وتصنيفًا ومتجرًا. ويؤثر أيضًا ذكاء الروبوتات وعدد المنصات وحجم الرسوم المخصصة. نوثّق القواعد والنطاق أولًا، ثم نقدم تقديرًا على مراحل، لتبدأ بإصدار صغير لكنه مكتمل وتضيف الميزات الاجتماعية والربحية لاحقًا.

ما تحديات تطوير ألعاب الورق عبر الإنترنت؟

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

هل أطوّر لعبة للجوال أم لعبة متصفح؟

يمنح تطبيق أندرويد لعبًا أكثر سلاسة وإشعارات ووضعًا موثوقًا دون إنترنت وحضورًا في المتاجر. أما لعبة المتصفح فتُفتح من رابط دون تثبيت، وتعمل على آيفون والحاسوب، وهي ممتازة للمشاركة وجذب المستخدمين الأوائل. لست مضطرًا للاختيار: في همدور تبني شيفرة Kotlin نفسها تطبيق أندرويد وتُترجم إلى Kotlin/Wasm للمتصفح، بحجم 2.7 ميغابايت بعد ضغط brotli.

كيف يعمل خادم الألعاب الجماعية ولماذا هو مهم؟

في تطوير الألعاب الجماعية يكون الخادم المعتمد هو الحَكَم: يطلب العميل الحركة فقط، فيتحقق الخادم منها وفق القواعد، ويحدّث الحالة، ويرسل إلى كل لاعب ما يحق له رؤيته فقط. هذا هو الدفاع الجاد الوحيد ضد الغش. نبني الخوادم بـ Ktor عبر اتصال WebSocket دائم ورسائل ProtoBuf مدمجة، ونجعل إعادة الاتصال واستئناف المباراة سلوكًا افتراضيًا، ونحفظ الحالة في PostgreSQL.

إلى أي حد يمكن أن يكون روبوت اللعبة ذكيًا؟

بقدر ما تسمح به اللعبة والميزانية. في المستويات السهلة تكفي روبوتات قائمة على القواعد وتلعب بشكل طبيعي. وفي ألعاب الورق ذات المعلومات المخفية، تحاكي أساليب مثل PIMC أيادي محتملة كثيرة للخصوم وتختار الحركة ذات أفضل نتيجة متوسطة؛ وهكذا يعمل روبوتنا الصعب في حكم وشلم. المهم أن يشترك الروبوت والخادم في محرك قواعد واحد، فلا يقوم الروبوت أبدًا بحركة غير مسموحة.

هل تدعم شركة تطوير الألعاب لديكم اللعبة بعد الإطلاق؟

نعم، وفي الألعاب عبر الإنترنت يوازي هذا الجزء أهمية البناء نفسه. ننشر الخوادم بـ Docker مع نسخة احتياطية قبل كل إصدار وتراجع تلقائي عند الخلل، ونراقب الأخطاء والحمل، ونقدم لفريقك لوحة إدارة حية بتقارير المباريات والمتجر والإيرادات. ويمكن مواصلة الفعاليات الموسمية والألعاب الجديدة وضبط التوازن ضمن عقد صيانة. وتبقى الشيفرة المصدرية والبنية التحتية ملكك دائمًا.

للمزيد من القراءة