ملاحظات طراحی ضروری

هنگام پیاده‌سازی پشتیبانی از دسته بازی، الزامات ضروری زیر را درنظر بگیرید تا به بازیکنان کمک کنید از شیوه بازی روان و بدون وقفه لذت ببرند.

به کاربران «فروشگاه Play» اطلاع دهید که بازی شما از کنترل‌کننده‌ها پشتیبانی می‌کند

اعلام ویژگی دسته بازی در مانیفست Android شما، نماد و برچسب پشتیبانی از دسته بازی را در Google Play نمایش می‌دهد. از این اظهارنامه استفاده کنید تا به کاربران بیشتری کمک کنید بازی‌تان را پیدا کنند و بازی کنند. برای دستورالعمل‌های دقیق پیکربندی و نمونه‌های مانیفست، به رؤیت‌پذیری «فروشگاه Play» و ویژگی‌های سخت‌افزاری دسته بازی مراجعه کنید.

به بازیکنان اجازه دهید به‌طور یکپارچه بین دستگاه‌های ورودی جابه‌جا شوند

وقتی بازیکنان بین دستگاه‌های ورودی جابه‌جا می‌شوند، این جابه‌جایی را یکپارچه کنید. از اینکه بازیکنان را ملزم کنید روش ورودی را به‌صورت دستی در منو تنظیمات تغییر دهند یا بازی را بازراه‌اندازی کنند اجتناب کنید.

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

تعویض خودکار و پشتیبانی از اتصال گرم

همه دستگاه‌های ورودی پشتیبانی‌شده را به‌طور هم‌زمان فعال نگه دارید تا بازیکنان بتوانند به‌سرعت بین آن‌ها جابه‌جا شوند. تغییرات دستگاه ورودی را در زمان اجرا گوش دهید تا دسته‌های بازی بلافاصله پس‌از اتصال بدون راه‌اندازی مجدد برنامه کار کنند و اگر کنترل‌کننده فعال درطول بازی قطع شد، به‌طور یکپارچه به سایر روش‌های ورودی دردسترس منتقل شوند. برای شناسایی اتصال و قطع اتصال کنترل‌کننده، به تأیید اتصال کنترل‌کننده بازی (Kotlin یا Java) یا ثبت یا برداشتن فراخوان وضعیت کنترل‌کننده (کتابخانه کنترل‌کننده بازی C++) مراجعه کنید. در Android 16 (سطح API‏ ۳۶) و پایین‌تر، android:configChanges="keyboard|keyboardHidden|navigation" را نیز در مانیفست خود اعلام کنید تا اتصال یا قطع اتصال کنترل‌کننده باعث راه‌اندازی مجدد فعالیت شما نشود (به مدیریت تغییرات پیکربندی مراجعه کنید).

توصیه نمی‌شود توصیه‌شده
توصیه نمی‌شود: کادر گفتگوی مدالی که از بازیکن می‌خواهد حالت ورودی را به‌صورت دستی در «تنظیمات» تغییر دهد و وقتی کنترل‌کننده شناسایی شد، بازی را بازراه‌اندازی کند. توصیه‌شده: برنمای غیرمزاحمی که تأیید می‌کند کنترل‌کننده متصل شده است و ورودی به‌طور خودکار با پیام‌واره‌های دسته بازی عوض شده است.

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

نمادهای دکمه روی صفحه و راهنماهای نوشتاری را به‌طور پویا براساس دستگاه ورودی فعال تغییر دهید. برای مثال، وقتی بازی ورودی دسته بازی را شناسایی می‌کند، راهنمای کنترل لمسی مثل «برای پریدن ضربه بزنید» را به «برای پریدن، B را فشار دهید» (یا دکمه معادل آن در پلاتفرم) تغییر دهید.

صفحه‌های بازی ماجراجویی کنارهم: وقتی دسته بازی متصل می‌شود، پیام‌واره‌های «برای پریدن تک‌ضرب بزنید» و «برای باز کردن صندوقچه تک‌ضرب بزنید» به «برای پریدن کلید B را فشار دهید» و «برای باز کردن صندوقچه کلید A را فشار دهید» تغییر می‌کند.
شکل ۲. نمادهای دکمه روی صفحه و نوشتار راهنما به‌طور پویا به‌روزرسانی می‌شوند تا با کنترل‌کننده فعال مطابقت داشته باشند.

پنهان کردن کنترل‌های لمسی مجازی وقتی دسته بازی فعال است

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

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

پشتیبانی کامل از دسته بازی برای همه منطق‌های درون‌بازی ارائه دهید

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

نگاشت کردن همه عناصر و کادرهای گفتگوی نمایشگر هاد به ورودی‌های کنترل‌کننده

به بازیکنان اجازه دهید همه عناصر، منوها، و کادرهای گفتگوی نمایشگر سربالا (HUD) روی صفحه را بااستفاده از کنترل‌کننده ازطریق دکمه‌های میان‌بر اختصاصی، دکمه‌های شانه‌ای، یا پیمایش پد کنترل (D-pad) باز کنند، با آن‌ها تعامل داشته باشند، و آن‌ها را ببندند تا مجبور نباشند صفحه را لمس کنند.

توصیه نمی‌شود توصیه‌شده
توصیه نمی‌شود: کادر گفتگوی مدال و نمادهای میانای روی صفحه بدون میان‌برهای کنترل‌کننده، که بازیکن را مجبور می‌کند روی دکمه بستن در صفحه تک‌ضرب بزند. توصیه‌شده: نمادهای میانای روی صفحه و دکمه‌های کادر گفتگوی مدال به ورودی‌های کنترل‌کننده با پیام‌واره‌های دکمه A و B واضح تخصیص داده شده‌اند.

بافت‌های ورودی واسط کاربر و شیوه بازی جداگانه

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

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

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

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

توصیه نمی‌شود توصیه‌شده
توصیه نمی‌شود: منوِ مکث بدون تمرکز روی هیچ دکمه‌ای باز می‌شود و بازیکن هیچ نقطه شروعی برای پیمایش با پد کنترل ندارد. توصیه‌شده: منو مکث فوراً دکمه پیش‌فرض «ادامه» را با حاشیه تمرکز واضح و پیام‌واره دکمه A برجسته می‌کند.