رفتن به محتوای اصلی
پارادایس کد

ساخت بازی آنلاین چندنفره، موبایل و تحت وب

بازی‌هایی می‌سازیم که روی گوشی معمولی و اینترنت ناپایدار هم منصفانه و روان بمانند؛ از موتور قوانین و ربات تا سرور مسابقه و فروشگاه درون‌بازی.

ساخت بازی برای ما فقط گرافیک و انیمیشن نیست؛ بخش سخت کار جایی است که بازیکن نمی‌بیند. در بازی چندنفره، کلاینت نباید کارت حریف را بداند، قطع شدن اینترنت نباید مسابقه را خراب کند و ربات باید آن‌قدر خوب بازی کند که بازیکن آفلاین هم سرگرم بماند. ما ساخت بازی آنلاین، بازی موبایل و بازی تحت وب را با معماری‌ای انجام می‌دهیم که این مسائل را از روز اول حل می‌کند.

همدور، پلتفرم بازی دورهمی خودمان، ۳۶ بازی در ۵ دسته دارد. یک موتور قوانین Kotlin Multiplatform نوشتیم که هم در گوشی برای بازی آفلاین با ربات و هم در سرور به‌عنوان داور معتبر مسابقه‌های آنلاین اجرا می‌شود. سرور با Ktor، یک اتصال WebSocket و پیام‌های ProtoBuf کار می‌کند، رتبه‌بندی با Elo است و پرداخت از زرین‌پال، کیف پول بله، کافه بازار و مایکت پذیرفته می‌شود. نسخه وب همان کد است که به Kotlin/Wasm با حجم ۲٫۷ مگابایت (brotli) کامپایل شده است.

برای حکم و شلم، دو بازی کارتی کلاسیک فارسی را روی یک موتور مشترک ساختیم: بازی آنلاین روی سرور معتبر، بازی در شبکه محلی با WebRTC و بازی آفلاین با ربات‌هایی که سخت‌ترینشان از جست‌وجوی PIMC استفاده می‌کند. اگر ایده بازی کارتی، تخته‌ای یا رقابتی دارید، ما از طراحی قوانین تا انتشار و نگهداری سرور کنار شما هستیم و همان تجربه همدور را به پروژه شما می‌آوریم.

چه چیزی می‌سازیم

  • طراحی بازی چندنفره

    سرور معتبر که منطق بازی را اجرا و تقلب را بی‌اثر می‌کند، با اتاق خصوصی، مسابقه سریع، اتصال دوباره و ادامه بازی بعد از قطعی.

  • ساخت بازی موبایل

    بازی اندروید با Kotlin و Jetpack Compose، بهینه برای گوشی‌های میان‌رده، با بازی آفلاین و انتشار در کافه بازار و مایکت.

  • بازی تحت وب و WebGL

    بازی‌هایی که بدون نصب در مرورگر اجرا می‌شوند، با Kotlin/Wasm، three.js یا WebGL و PWA قابل نصب روی آیفون و کامپیوتر.

  • ساخت بازی کارتی آنلاین

    حکم، شلم، پاسور یا قوانین اختصاصی شما، با پنهان‌سازی کامل دست هر بازیکن و موتور قوانینی که با تست خودکار پوشش داده شده است.

  • ربات بازی

    ربات‌هایی در چند سطح سختی، از قواعد ساده تا جست‌وجوی PIMC، برای بازی آفلاین، پر کردن صندلی خالی و جایگزینی بازیکن قطع‌شده.

  • رتبه‌بندی، فروشگاه و پنل مدیریت

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

روند کار

  1. ۰۱

    قوانین و حلقه بازی

    قوانین را دقیق و با همه استثناهای محلی مکتوب می‌کنیم، حلقه اصلی بازی و مدل درآمد را تعریف می‌کنیم و نمونه قابل بازی سریع می‌سازیم.

  2. ۰۲

    موتور قوانین مشترک

    منطق بازی را یک بار و مستقل از رابط می‌نویسیم و با تست خودکار پوشش می‌دهیم تا ربات، کلاینت و سرور دقیقاً یک قانون را اجرا کنند.

  3. ۰۳

    شبکه، سرور و ربات

    پروتکل، سرور معتبر، مچ‌میکینگ و اتصال دوباره را می‌سازیم، ربات‌ها را در چند سطح تنظیم می‌کنیم و روی اینترنت ضعیف تست می‌کنیم.

  4. ۰۴

    انتشار و عملیات زنده

    روی اندروید و وب منتشر می‌کنیم، سرور را با Docker، پشتیبان‌گیری و بازگشت خودکار مستقر می‌کنیم و با پنل مدیریت بازی را زنده نگه می‌داریم.

چه چیزی هزینه را تعیین می‌کند؟

هزینه ساخت بازی بیشتر از گرافیک، به پیچیدگی قوانین، بخش آنلاین و عملیات بعد از انتشار بستگی دارد. بعد از مکتوب کردن قوانین و دامنه، برآورد مرحله‌ای ارائه می‌کنیم.

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

پرسش‌های پرتکرار

هزینه ساخت بازی آنلاین چقدر است؟

به نوع بازی بستگی دارد. یک بازی تک‌نفره آفلاین با قوانین ساده کار بسیار کمتری از یک بازی چندنفره آنلاین دارد که سرور معتبر، مچ‌میکینگ، اتصال دوباره، رتبه‌بندی و فروشگاه می‌خواهد. سطح هوشمندی ربات، تعداد پلتفرم‌ها و حجم گرافیک اختصاصی هم اثر مستقیم دارند. ما اول قوانین و دامنه را مکتوب می‌کنیم، بعد برآورد را فاز به فاز می‌دهیم تا بتوانید با نسخه‌ای کوچک ولی کامل شروع کنید و بخش‌های اجتماعی و درآمدی را در فازهای بعد اضافه کنید.

ساخت بازی کارتی آنلاین مثل حکم چه چالش‌هایی دارد؟

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

بازی موبایل بسازم یا بازی تحت وب؟

اپ اندروید تجربه روان‌تر، اعلان، کار آفلاین قابل‌اعتماد و حضور در کافه بازار و مایکت را می‌دهد. بازی تحت وب بدون نصب با یک لینک باز می‌شود، روی آیفون و کامپیوتر هم اجرا می‌شود و برای اشتراک‌گذاری و جذب کاربر اولیه عالی است. لازم نیست یکی را قربانی کنید: در همدور همان کد Kotlin هم اپ اندروید را می‌سازد و هم به Kotlin/Wasm کامپایل می‌شود تا در مرورگر اجرا شود، با حجم ۲٫۷ مگابایت بعد از فشرده‌سازی brotli.

سرور بازی چندنفره چطور کار می‌کند و چرا مهم است؟

در طراحی بازی چندنفره، سرور معتبر داور بازی است: کلاینت فقط حرکت را درخواست می‌کند و سرور آن را با قوانین می‌سنجد، وضعیت را به‌روز می‌کند و به هر بازیکن فقط آنچه حق دیدنش را دارد می‌فرستد. این تنها راه جدی جلوگیری از تقلب است. ما سرور را با Ktor و یک اتصال WebSocket پایدار با پیام‌های ProtoBuf کم‌حجم می‌سازیم، اتصال دوباره و ادامه مسابقه را پیش‌فرض می‌کنیم و وضعیت را در PostgreSQL نگه می‌داریم.

ربات بازی چقدر می‌تواند هوشمند باشد؟

به اندازه‌ای که بازی و بودجه اجازه بدهد. برای سطح آسان، ربات‌های مبتنی بر قاعده کافی‌اند و طبیعی بازی می‌کنند. برای بازی‌های کارتی با اطلاعات پنهان، روش‌هایی مثل PIMC چند حالت ممکن از دست حریفان را شبیه‌سازی می‌کند و بهترین حرکت را بر اساس میانگین نتیجه انتخاب می‌کند؛ ربات سخت حکم و شلم ما همین روش را دارد. نکته مهم این است که ربات و سرور از یک موتور قوانین استفاده کنند تا ربات هیچ‌وقت حرکت غیرمجاز انجام ندهد.

شرکت بازی‌سازی شما بعد از انتشار هم پشتیبانی می‌کند؟

بله، و برای بازی آنلاین این بخش به اندازه خود ساخت اهمیت دارد. سرور را با Docker، پشتیبان‌گیری پیش از هر انتشار و بازگشت خودکار در صورت خطا مستقر می‌کنیم، خطاها و بار سرور را پایش می‌کنیم و برای تیم شما پنل مدیریت زنده با گزارش مسابقه‌ها، فروشگاه و درآمد می‌سازیم. رویدادهای فصلی، بازی‌های جدید و تنظیم توازن را هم می‌توانیم به‌صورت قرارداد نگهداری ادامه دهیم. سورس‌کد و زیرساخت همیشه متعلق به شماست.

بیشتر بخوانید