تنظیمات پنل سرویس مرکز بازی

پیش‌نیازها

  1. در صورتی که با سرویس کاربران بکتوری آشنایی ندارید، به معرفی سرویس کاربران مراجعه کنید.

آشنایی

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

ساختن یک رویداد (event)

Create event

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

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

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

Create event advanced

در هنگام ساخت بازی، لازم است رویدادها را برای سرویس مرکز بازی ارسال کنید (در ادامه نحوه‌ی انجام این کار توضیح داده خواهد شد). با این کار، رویدادهای ارسال شده از دستگاه بازیکنی که در بخش کاربران بکتوری وجود دارد، روی رتبه و امتیاز آن کاربر در لیدربوردها تاثیر می‌گذارد. در ادامه به نحوه ارسال رویدادها برای مرکز بازی اشاره می‌کنیم. اما پیش از آن لازم است لیدربورد را بسازیم و مشخص کنیم کدام رویدادها روی لیدربود تاثیر می‌گذارند.

ساختن یک لیدربورد (Leaderboard)

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

Create leaderboard

حال لازم است که یک یا چند فیلد به لیدربورد اضافه کنیم. برای این کار روی دکمه‌ی «فیلد +» کلیک کنید. هر فیلد در لیدربورد دارای المان‌های زیر است:

به عنوان مثال، برای بازی‌ مذکور به لیدربورد TopPlayersByGold یک فیلد با رویداد GameOver و فیلد رویداد gold اضافه می‌کنیم و فیلتر * را بدون مقدار استفاده می‌کنیم. حال باید در حین بازی هر بار که بازیکن می‌بازد‌، رویداد GameOver را برای مرکز بازی ارسال کنیم تا این لیدربورد ساخته شود.

Create leaderboard advanced

به این ترتیب شما یک لیدربورد ساده در بکتوری ساخته‌اید. دقت کنید که هر لیدربورد می‌تواند حداکثر به سه فیلد از سه رویداد (نه الزاما مختلف) وصل شود. کاربران به ترتیب، ابتدا بر اساس فیلد اول، سپس بر اساس فیلد دوم و در نهایت بر اساس فیلد سوم رتبه‌بندی می‌شوند. البته چون امتیازهای دوم و سوم تأثیرات ثانویه بر روی رتبه‌بندی‌ها دارند، برای حفظ زیبایی ظاهر، از نشان دادن آن‌ها در لیست کاربران یک لیدربورد اجتناب شده است و صرفا امتیازات فیلد اول نشان داده شده‌اند. نمونه‌ای از لیست کاربران یک لیدربورد به صورت زیر است که با کلیک بر روی آیکون کاربران متناظر با آن لیدربورد قابل مشاهده است:

Leaderboard users

گام بعدی