رفتن به محتوای اصلی
پارادایس کد
همه نمونه‌کارها
محصول پارادایس کد۲۰۲۶بازیاپ موبایلوب‌اپ یا سایتزیرساخت و DevOps

همدور

حکم آنلاین با رفقا، هر جا که باشید.

بیش از ۳۵ بازی دورهمی — از حکم، شلم، پاسور و تخته‌نرد تا شطرنج و بیلیارد — با قانون‌های اصیل خودشان. آنلاین با دوستان، یا بی‌اینترنت با ربات؛ روی اندروید، آیفون و کامپیوتر.

صفحه اصلی همدور
بازی
۳۶
پلتفرم از یک کدبیس
۳
رانتایم وب (از ۱۵ مگ)
۲.۷MB
کامیت در ۱۱ روز
۳۸۴

نقش ما

طراحی محصول، اپ اندروید، وب‌اپ Wasm، سرور بازی و زیرساخت

چالش

بازیکن‌ها روی گوشی‌های میان‌رده و اینترنت ناپایدار بازی می‌کند و قانون‌های محلی را دقیق می‌شناسد. باید یک بازی واحد هم آفلاین با ربات کار کند و هم آنلاین و منصفانه باشد، روی سه پلتفرم اجرا شود و حتی وقتی DNS فیلتر است وصل بماند.

راه‌حل

یک موتور قوانین Kotlin Multiplatform نوشتیم که هم روی گوشی (بازی آفلاین با ربات) و هم روی سرور (داور معتبر مسابقه‌های آنلاین) اجرا می‌شود. رابط با Compose ساخته شد و همان کد به Kotlin/Wasm کامپایل می‌شود تا روی آیفون و کامپیوتر در مرورگر اجرا شود. سرور Ktor با یک WebSocket و پیام‌های ProtoBuf، اتصال دوباره و ادامه مسابقه را تضمین می‌کند.

امکانات

  • ۳۶ بازی در ۵ دسته: کلاسیک، کارتی، تخته‌ای، ورزشی و پازل
  • مسابقه رتبه‌ای با امتیاز Elo، جدول رده‌بندی و اتاق خصوصی با کد
  • بازی آفلاین با ربات در چند سطح سختی و بازی دونفره روی یک گوشی
  • دوستان، چت داخل بازی، استیکر و اتاق‌های گفت‌وگوی عمومی
  • پرداخت با زرین‌پال، کیف پول بله، بازار و مایکت؛ بدون شرط‌بندی
  • پنل مدیریت کامل: داشبورد زنده، مدیریت مسابقه‌ها، فروشگاه و گزارش درآمد

معماری

  1. ۰۱

    کلاینت

    • Android · Jetpack Compose
    • Web · Kotlin/Wasm PWA
    • iPhone · PWA
  2. ۰۲

    هسته مشترک

    • KMP rules engine
    • Bots
    • Protocol · ProtoBuf
  3. ۰۳

    سرور

    • Ktor 3 · WebSocket
    • Match runtime
    • Admin · Shop · Bale bot
  4. ۰۴

    داده و زیرساخت

    • PostgreSQL 17
    • Docker Compose
    • Caddy · precompressed assets

نکات مهندسی

  • ۰۱یک موتور قوانین مشترک برای ربات‌های آفلاین و داور سرور
  • ۰۲فایل Wasm پانزده‌مگابایتی با فشرده‌سازی brotli از پیش به ۲٫۷ مگابایت رسید
  • ۰۳اپ نشانی سرور را با خودش دارد تا پشت فیلتر DNS هم وصل شود
  • ۰۴بات بله داخل همان پروسه API با long polling، بدون وب‌هوک و پورت اضافه
  • ۰۵استقرار با پشتیبان‌گیری پیش از انتشار و بازگشت خودکار در صورت خطا

فناوری‌ها

  • Kotlin
  • Jetpack Compose
  • Compose Multiplatform
  • Kotlin/Wasm
  • Kotlin Multiplatform
  • Ktor
  • PostgreSQL
  • WebSocket + ProtoBuf
  • Docker
  • Caddy

نتیجه

  • یک کدبیس Kotlin برای اندروید، وب و آیفون
  • تجربه روان روی گوشی‌های میان‌رده و اینترنت ضعیف
  • مدل درآمدی سالم: فقط آیتم‌های ظاهری و اشتراک، بدون شرط‌بندی

گالری

خانه اپ همدور
میز حکم
تخته‌نرد
کتابخانه بازی‌ها
بیلیارد
فروشگاه آیتم‌ها
پروژه بعدیمیز پردیس