آشنایی با سرویس Match-Making

در این مستند با سرویس انطباق (Match-Making) آشنا خواهید شد. ما تعریف این سرویس و کاربرد آن را برای شما شرح خواهیم داد.

توجه: این مستند فقط برای رقابت آنلاین است و برای نیازمندی‌های چت کاربردی ندارد.

پیش‌نیازها

  1. در صورتی که با سرویس بلادرنگ آشنایی ندارید، به معرفی سرویس بلادرنگ مراجعه کنید.
  2. در صورتی که هنوز با تنظیمات پنل سرویس بلادرنگ آشنا نشده اید، به تنظیمات پنل سرویس بلادرنگ مراجعه کنید.

Match-Making چیست؟

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

تعاریف مهم

مقدار MMR: هر کاربر موبایل شما یک عدد MMR دارد که مخفف Match-Making-Ranking است. این عدد سطح بازیکن را تعیین می‌کند. از دید بکتوری این عدد توسط اپلیکیشن یا بازی شما معنا پیدا می‌کند، مثلا تعداد بردها، مقدار Exprience و یا هر چیزی که از دید بازی شما معنای منطقی برای سطح می‌دهد. هر گاه کاربر شما در گوشی موبایل، درخواست رقابت آنلاین بدهد، شما باید عدد MMR او را به SDK بکتوری بدهید. مثال: در بازی Dota 2 مقدار MMR عددی بین صفر تا ۱۰۰۰۰ است و با هر برد ۲۵ واحد افزایش و با هر باخت ۲۵ واحد کاهش می‌یابد.

عملیات انطباق (Match Making): عملیات انطباق به فرآیند دریافت چندین درخواست رقابت آنلاین و وصل کردن کاربران هم سطح گفته می‌شود.

رقابت (Game): نتیجه یک عملیات انطباق، یک رقابت آنلاین خواهد شد که به این رقابت Game گفته می‌شود. در محاوره به «یک دست بازی» یک Game گفته می‌شود.

انواع Match-Making

در بکتوری سه نوع از Match-Making وجود دارد. یعنی کاربران با سه روش با هم انطباق پیدا می‌کنند. شما در تنظیمات خود می‌توانید تا پانصد نوع مختلف از Match-Making تعریف کنید که هر یک از آنها می‌توانند یکی از این سه نوع باشند:

تعریف Match-Making در پنل

برای فعال‌سازی و تعریف انواع Match-Making مراحل زیر را طی کنید:

  1. وارد صفحه داشبورد پروژه خود شوید.
  2. از منوی سمت راست سرویس مرکز بازی را انتخاب کنید.
  3. در مرکز بازی از منوی سمت راست، گزینه Match-Making را انتخاب کنید.

حال شما وارد صفحه Match-making شده‌اید. در صورتی که هنوز سرویس را فعال نکرده‌اید پیامی مشابه زیر در پنل خواهید دید.

Enable match making

بر روی دکمه فعال‌سازی کلیک کرده و دیالوگی مانند زیر را خواهید دید:

Match making dialog

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

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

پس از فعال‌سازی لیست انواع Match-Makingهای ساخته شده توسط شما دیده می‌شود که به صورت پیشفرض خالی است:

Match making empty list

با کلیک بر روی دکمه ایجاد، دیالوگی به شکل زیر باز خواهد شد که می‌توانید یک Match-Making جدید تعریف کنید:

Match making sample

در فرم بالا، فیلدهای به شرح زیر هستند:

در مثال بالا، هر عملیات انطباق ۲۰ ثانیه طول می‌کشد و فقط بازیکنانی با اختلاف ۲۰۰ امتیاز با هم بازی خواهند کرد.

یک مثال حرفه‌ای

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

Match making advanced

معنای تصویر بالا این است:

  1. از ثانیه صفر تا بیست، سعی کن بازیکنانی با اختلاف ۲۰۰ امتیاز را با هم انطباق دهی.
  2. اگر هنوز به حد نصاب نرسیده، از ثانیه ۲۰ تا ۴۰، بازیکنانی با اختلاف ۵۰۰ امتیاز نیز مشکلی ندارد.
  3. اگر همچنان به حد نصاب نرسیده، تا ثانیه ۶۰، هر بازیکنی که بین صفر تا ده‌هزار امتیاز دارد را انطباق بده.
  4. اگر باز هم به حد نصاب نرسید، عملیات با شکست مواجه شده است.

گام بعدی