Pertimbangan desain yang penting

Saat menerapkan dukungan gamepad, pertimbangkan persyaratan penting berikut untuk membantu pemain menikmati gameplay yang lancar dan tanpa gangguan.

Beri tahu pengguna di Google Play Store bahwa game Anda mendukung pengontrol

Mendeklarasikan fitur gamepad dalam manifes Android akan menampilkan ikon dan tag yang didukung gamepad di Google Play. Gunakan pernyataan ini untuk membantu lebih banyak pengguna menemukan dan memainkan game Anda. Untuk mengetahui petunjuk konfigurasi mendetail dan contoh manifes, lihat Visibilitas Google Play Store dan Fitur hardware gamepad.

Memungkinkan pemain beralih dengan lancar antar-perangkat input

Saat pemain beralih antar-perangkat input, buat peralihan tersebut lancar. Hindari mengharuskan pemain mengalihkan metode input secara manual di menu setelan atau memulai ulang game.

Layar game balap berdampingan: tombol kemudi sentuh dan nitro muncul selama bermain di perangkat seluler dan otomatis menghilang saat gamepad fisik terhubung.
Gambar 1. Peralihan yang lancar antara metode input tanpa mengganggu gameplay.

Beralih secara otomatis dan mendukung hot-plugging

Pastikan semua perangkat input yang didukung tetap aktif secara bersamaan sehingga pemain dapat beralih di antaranya dengan cepat. Memproses perubahan perangkat input saat runtime agar gamepad langsung berfungsi setelah terhubung tanpa memulai ulang aplikasi, dan beralih dengan lancar ke metode input lain yang tersedia jika pengontrol aktif terputus selama gameplay. Untuk mendeteksi koneksi dan pemutusan koneksi pengontrol, lihat Memverifikasi bahwa pengontrol game terhubung (Kotlin atau Java) atau Mendaftarkan atau menghapus callback status pengontrol (library Pengontrol Game C++). Di Android 16 (level API 36) dan yang lebih rendah, deklarasikan juga android:configChanges="keyboard|keyboardHidden|navigation" dalam manifes Anda sehingga menghubungkan atau memutuskan koneksi pengontrol tidak akan memulai ulang aktivitas Anda (lihat Menangani perubahan konfigurasi).

Tidak direkomendasikan Direkomendasikan
Tidak direkomendasikan: Dialog modal yang mengharuskan pemain beralih mode input secara manual di Setelan dan memulai ulang game saat pengontrol terdeteksi. Direkomendasikan: Banner yang tidak mengganggu yang mengonfirmasi bahwa pengontrol terhubung dan input beralih secara otomatis dengan perintah gamepad.

Memperbarui ikonografi tombol dan panduan teks agar sesuai dengan perangkat yang aktif

Ganti ikon tombol virtual dan panduan teks secara dinamis berdasarkan perangkat input yang aktif. Misalnya, transisikan panduan kontrol sentuh seperti "Ketuk untuk melompat" menjadi "Tekan B untuk melompat" (atau tombol yang setara dengan platform) saat game Anda mendeteksi input gamepad.

Layar game petualangan berdampingan: Perintah Ketuk untuk Melompat dan Ketuk Peti untuk Membuka beralih ke Tekan B untuk Melompat dan A untuk Membuka Peti saat gamepad terhubung.
Gambar 2. Memperbarui ikon tombol di layar dan teks panduan secara dinamis agar sesuai dengan pengontrol yang aktif.

Menyembunyikan kontrol sentuh virtual saat gamepad aktif

Untuk mencegah layar berantakan dan pemain bingung, sembunyikan semua elemen UI sentuh virtual, seperti joystick virtual dan tombol di layar, saat gamepad aktif. Pulihkan UI sentuh segera jika pemain menyentuh layar.

Layar game petualangan berdampingan: joystick virtual dan tombol serangan pedang terlihat selama permainan sentuh dan disembunyikan untuk tampilan yang tidak terhalang saat gamepad terhubung.
Gambar 3. Menyembunyikan kontrol sentuh virtual saat input gamepad aktif.

Menyediakan dukungan gamepad penuh untuk semua logika dalam game

Hindari mengandalkan sentuhan sebagai mekanisme penggantian. Menggunakan sentuhan untuk keluar dari menu atau melakukan bagian tertentu dari game dapat mengganggu pengalaman bermain. Terapkan semua interaksi dalam game sehingga pemain dapat melakukannya sepenuhnya menggunakan gamepad.

Memetakan semua elemen HUD dan dialog ke input pengontrol

Izinkan pemain membuka, berinteraksi dengan, dan menutup semua elemen, menu, dan dialog heads-up display (HUD) di layar menggunakan pengontrol melalui tombol pintasan khusus, bumper, atau navigasi tombol arah (D-pad) sehingga mereka tidak perlu menyentuh layar.

Tidak direkomendasikan Direkomendasikan
Tidak direkomendasikan: Dialog modal dan ikon antarmuka di layar tanpa pintasan pengontrol, sehingga memaksa pemain mengetuk tombol tutup di layar. Direkomendasikan: Ikon antarmuka di layar dan tombol dialog modal dipetakan ke input pengontrol dengan perintah tombol A dan B yang jelas.

Memisahkan konteks input gameplay dan UI

Saat menu atau dialog terbuka di atas gameplay, alihkan konteks atau blokir kontrol latar belakang sehingga gamepad hanya berinteraksi dengan UI yang aktif. Pemisahan ini mencegah navigasi arah atau penekanan tombol di menu agar tidak memicu gerakan atau tindakan karakter di latar belakang secara tidak sengaja.

Tidak direkomendasikan Direkomendasikan
Tidak direkomendasikan: Menjelajahi menu inventaris yang terbuka secara tidak sengaja menyebabkan karakter bergerak dan mengayunkan senjatanya di latar belakang. Direkomendasikan: Membuka menu inventaris akan memblokir input gameplay latar belakang sehingga penekanan tombol dan D-pad hanya memindahkan fokus petak item saat karakter diam.

Menetapkan fokus awal segera saat layar terbuka

Tidak seperti input sentuh, yang memungkinkan pemain mengetuk tombol secara langsung, navigasi gamepad berpindah dari elemen yang saat ini difokuskan ke elemen yang berdekatan. Jika menu atau dialog baru terbuka tanpa target fokus awal, input D-pad dan konfirmasi dapat gagal merespons atau tetap terjebak pada elemen latar belakang. Tetapkan fokus awal ke tombol default segera setelah layar terbuka.

Tidak direkomendasikan Direkomendasikan
Tidak direkomendasikan: Menu jeda terbuka tanpa tombol yang difokuskan, sehingga pemain tidak memiliki titik awal untuk navigasi D-pad. Direkomendasikan: Menu jeda langsung menandai tombol Lanjutkan default dengan batas fokus yang jelas dan perintah tombol A.