Mengembangkan dengan Emulator Developer Google Play Game di PC

Emulator Developer Google Play Game di PC adalah emulator yang berfokus pada developer untuk Google Play Game di PC. Tidak seperti pengalaman pemain, Anda dapat menginstal dan men-debug paket Anda sendiri. Anda juga dapat melakukan simulasi berbagai konfigurasi pemain seperti rasio aspek, emulasi mouse, dan backend grafis untuk membantu memastikan bahwa game Anda berperforma seperti yang diharapkan di berbagai konfigurasi PC.

Memulai Emulator

Setelah diinstal, Anda akan memiliki elemen menu awal "Emulator Developer Google Play Game" dan pintasan desktop untuk meluncurkan emulator. Emulator akan tetap berada di baki sistem saat Anda menutup jendela.

Login

Anda akan diminta untuk login ke Akun Google saat pertama kali menjalankan emulator. Gunakan kredensial login yang sama seperti yang Anda gunakan untuk pengembangan.

Anda dapat logout dengan mengklik kanan ikon baki sistem, memilih Opsi Developer, lalu mengklik Paksa logout. Jika Anda melakukannya, emulator akan segera dimulai ulang dan meminta Anda login lagi.

Setelah peluncuran, Anda akan melihat layar utama Android. Klik mouse kiri akan langsung diterjemahkan ke ketukan jari seperti dalam mode emulasi mouse. Game yang di-sideload untuk pengembangan akan muncul dalam daftar aplikasi, yang dapat Anda buka dengan mengklik dan menarik ke atas di desktop (mengemulasi geser ke atas di ponsel atau tablet).

Selain terjemahan mouse, Emulator Developer Google Play Game di PC menyediakan pintasan keyboard untuk meningkatkan navigasi:

  • ctrl + h: tekan tombol layar utama
  • ctrl + b: tekan tombol kembali
  • F11 atau alt + enter: beralih antara mode layar penuh dan mode berjendela
  • shift + tab: membuka overlay Google Play Game di PC, termasuk konfigurasi tombol saat ini untuk Input SDK

Menginstal game

Emulator Developer Google Play Game di PC menggunakan Android Debug Bridge (adb) untuk menginstal paket.

Kompatibilitas adb

Versi adb saat ini kompatibel dengan Emulator Developer Google Play Game di PC. Selain itu, versi yang kompatibel akan diinstal di C:\Program Files\Google\Play Games Developer Emulator\current\emulator saat Anda menginstal emulator.

Untuk mengikuti petunjuk ini, adb harus tersedia di $PATH. Anda dapat memverifikasi bahwa adb dikonfigurasi dengan benar menggunakan perintah adb devices

adb devices
List of devices attached
localhost:6520  device

Menginstal game

  • Luncurkan Google Play Games for PC Emulator
  • Ketikkan adb devices di command prompt Anda. Anda akan melihat:

    adb devices
    List of devices attached
    localhost:6520 device
    
  • Pemecahan masalah:

    • Jika terjadi error, pastikan Anda telah mengikuti petunjuk dalam Kompatibilitas Adb.
    • Jika Anda tidak melihat perangkat, coba hubungkan kembali melalui port 6520:
    adb connect localhost:6520
    
  • Ketikkan adb install path\to\your\game.apk untuk menginstal game. Jika Anda telah membuat Android App Bundle (aab), lihat petunjuk untuk bundletool dan gunakan bundletool install-apks sebagai gantinya.

  • Jalankan game Anda dengan:

    • Ketik adb shell monkey -p your.package.name 1 untuk menjalankan game, dengan mengganti your.package.name dengan nama paket game Anda.
    • Di Emulator Developer Google Play Game di PC, klik ikon untuk menjalankan game Anda. Sama seperti di ponsel Android, Anda harus "menggeser ke atas" di layar utama untuk melihat daftar game terinstal.

Men-debug game

Gunakan Android Debug Bridge (adb) untuk melakukan debug seperti yang Anda lakukan untuk game lainnya. Emulator muncul sebagai perangkat yang terhubung melalui localhost:6520.

adb logcat berfungsi seperti yang diharapkan, begitu pula dengan alat yang membantu memperkuat atau memfilter output logcat -- termasuk Android Studio.

Selain adb, log dapat diakses di direktori %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs Anda. Yang paling berguna di sini adalah AndroidSerial.log yang mewakili semua yang akan digemakan oleh adb logcat sejak saat emulator dimulai.

Setelan developer

Emulator Developer Google Play Game di PC berfokus pada efisiensi developer, bukan pengalaman pengguna akhir. Ini berarti Anda memiliki akses yang tidak terhalang ke sistem Android, termasuk menggunakan peluncur Android standar, bukan pengalaman Google Play Game di PC, dan kontrol atas fitur yang otomatis diaktifkan dan dinonaktifkan untuk pemain.

Menguji input mouse

Selama pengembangan, Emulator Developer Google Play Game di PC akan ditetapkan secara default ke emulasi sentuh, bukan memberi Anda input mouse langsung. Anda dapat mengaktifkan input mouse langsung dengan mengklik kanan ikon baki sistem, memilih Opsi Developer, lalu Mode PC (KiwiMouse).

Google Play Game di PC memiliki dua mode mouse: mode emulasi yang menerjemahkan klik mouse menjadi satu ketukan dan "mode PC" passthrough yang memungkinkan game menangani tindakan mouse secara native dan melakukan rekaman pointer. Untuk mengetahui detail tentang input mouse di Google Play Game di PC, lihat Menyiapkan input mouse.

Di klien pemutar, emulasi dinonaktifkan dengan menambahkan ini ke manifes:

<manifest ...>
  <uses-feature
      android:name="android.hardware.type.pc"
      android:required="false" />
  ...
</manifest>

Tombol fitur ini tidak berpengaruh di lingkungan pengembangan.

Menguji rasio aspek

Emulator developer diluncurkan dalam rasio aspek 16:9 – tidak seperti klien pemain yang memperoleh rasio aspek dari tampilan utama. Dengan mengklik kanan ikon baki sistem, memilih Opsi Developer, lalu opsi apa pun di bagian Rasio Layar, Anda dapat menguji tampilan game di berbagai layar yang digunakan pemain.

Metode yang lebih disukai untuk mengonfigurasi rasio aspek Anda adalah menggunakan android:minAspectRatio dan android:maxAspectRatio.

Misalnya, game potret akan memiliki rasio aspek 9/16 atau 0.5625 sehingga Anda sebaiknya menetapkan rasio aspek maksimum 1 untuk mencegah game Anda menjadi lebih lebar dari persegi:

<activity android:maxAspectRatio="1">
 ...
</activity>

Demikian pula, game lanskap akan menjadi 16/9 atau kira-kira 1.778, jadi Anda sebaiknya menetapkan rasio aspek minimum sebesar 1 agar game tidak menjadi lebih ramping dari persegi:

<activity android:minAspectRatio="1">
 ...
</activity>

Yang perlu diuji

Jika game Anda hanya mendukung mode potret dalam manifes, Anda dapat memilih 9:16 (Potret) di menu drop-down untuk melihat tampilannya di PC pemain. Jika tidak, pastikan game Anda berfungsi pada rasio lanskap terluas dan tersempit yang Anda dukung dalam manifes, dengan mengingat bahwa 16:9 (Default) (atau 9:16 (Potret) jika game Anda hanya berupa potret) diperlukan untuk sertifikasi penuh.

Menguji backend rendering

Google Play Game di PC menggunakan ANGLE sebagai lapisan kompatibilitas untuk memastikan bahwa panggilan OpenGL ES ditangani dengan benar oleh PC host menggunakan backend DirectX atau Vulkan. Emulator juga mendukung Vulkan secara langsung, meskipun tidak pada DirectX. Lapisan ini juga mengonversi format tekstur terkompresi khusus seluler menjadi format tekstur yang kompatibel dengan PC. Dengan mengklik kanan ikon baki sistem dan memilih Graphics Stack Override, Anda dapat menyetelnya ke default sistem atau memaksa vulkan aktif atau nonaktif untuk pengujian kompatibilitas.

Yang perlu diuji

Ada sedikit variasi dalam format tekstur yang didukung dan langkah-langkah yang diperlukan untuk mengemulasi berbagai fitur seluler di desktop. Saat membuat profil dan mengoptimalkan game, sebaiknya periksa setiap backend.

Membuat profil game PC

Karena emulator menggunakan teknologi yang sama dengan klien konsumen, emulator ini adalah lingkungan yang sesuai untuk pembuatan profil performa.

Perfetto adalah alat untuk menganalisis performa di Android. Anda dapat mengumpulkan dan melihat rekaman aktivitas Perfetto menggunakan langkah-langkah berikut:

  1. Di perintah PowerShell, mulai perekaman aktivitas menggunakan adb

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. Flag --time menentukan durasi rekaman aktivitas yang akan dikumpulkan. Di contoh ini, rekaman aktivitasnya berdurasi 10 detik.
    2. Argumen setelah flag --time menunjukkan peristiwa mana saja yang akan dilacak. Di contoh ini, gfx menunjukkan grafis, pengelolaan jendela wm, dan informasi penjadwalan proses sched. Ini adalah flag umum untuk pembuatan profil game dan tersedia referensi lengkap.
    3. Flag --out akan menentukan file output, yang ditarik dari emulator ke mesin host di langkah berikutnya.
  2. Mengambil rekaman aktivitas dari host

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. Membuka rekaman aktivitas di UI Perfetto

    1. Buka ui.perfetto.dev.
    2. Pilih Buka file detail migrasi dari sudut kiri atas di bagian Navigasi.
    3. Buka file example.trace yang Anda download di langkah sebelumnya ke direktori Downloads/.
  4. Memeriksa rekaman aktivitas di UI Perfetto. Beberapa tips:

    1. Setiap proses memiliki baris tersendiri, yang dapat diperluas untuk menampilkan semua thread di dalam proses tersebut. Jika Anda membuat profil game, kemungkinan prosesnya berada di baris pertama.
    2. Anda dapat memperbesar dan memperkecil dengan cara menahan Kontrol dan menggunakan roda scroll.
    3. Saat menggunakan peristiwa sched, terdapat baris untuk setiap thread yang menampilkan kapan status thread sedang berjalan, dapat dijalankan, tidur, atau diblokir.
    4. Saat mengaktifkan peristiwa seperti gfx, Anda dapat melihat berbagai panggilan grafis yang dibuat oleh berbagai thread. Anda dapat memilih satu "slice" untuk mengecek durasi yang dibutuhkan, atau Anda dapat menarik baris dan bagian "slice" akan terbuka di bagian bawah yang menunjukkan durasi yang dibutuhkan semua slice sesuai periode waktu yang dipilih.

Pembuatan Profil Grafis

Anda dapat melakukan beberapa pembuatan profil grafis dengan RenderDoc.

  1. Tetapkan variabel lingkungan ANDROID_EMU_RENDERDOC ke string yang tidak kosong (seperti "1").
  2. Tetapkan variabel lingkungan TMP ke %USERPROFILE%\AppData\LocalLow. Tindakan ini akan memberi tahu Renderdoc untuk menempatkan file lognya di suatu tempat yang dapat dijangkau dalam sandbox emulator.

  3. Jika Anda menggunakan backend Vulkan. Pilih Graphics Settings > Vulkan Instance Implicit Layers dan pastikan VKLAYER_RENDERDOC_Capture dicentang.

  4. Luncurkan Emulator Developer Google Play Game di PC. Overlay RenderDoc digambar di bagian atas selama dukungan diaktifkan.

  5. Luncurkan RenderDoc kapan saja sebelum atau setelah peluncuran Emulator Developer Google Play Game di PC

  6. Klik File > Attach to Running Instance, lalu pilih crosvm.

Menentukan Variabel Lingkungan

Agar Renderdoc berfungsi, Anda harus menambahkan atau mengubah variabel lingkungan di Windows. Anda dapat mengubah variabel lingkungan menggunakan UI, PowerShell, atau cmd.exe.

Menggunakan UI
  • Tekan Win+R untuk membuka dialog run.
  • Ketik sysdm.cpl untuk membuka jendela System Properties.
  • Pilih tab Advanced jika belum aktif.
  • Klik tombol Environment Variables.

Dari sini, Anda dapat mengklik tombol New untuk membuat variabel lingkungan baru atau memilih variabel dan mengklik tombol Edit untuk mengeditnya.

Menggunakan PowerShell

Di jendela PowerShell, ketik:

$Env:VARIABLE_NAME=VALUE

Ganti VARIABLE_NAME dan VALUE dengan nilai yang ingin Anda tetapkan. Misalnya, untuk menetapkan jenis ANDROID_EMU_RENDERDOC ke "1":

$Env:ANDROID_EMU_RENDERDOC="1"
Menggunakan cmd.exe

Di jendela cmd.exe, ketik:

set VARIABLE_NAME=VALUE

Ganti VARIABLE_NAME dan VALUE dengan nilai yang ingin Anda tetapkan. Misalnya, untuk menetapkan jenis ANDROID_EMU_RENDERDOC ke "1":

set ANDROID_EMU_RENDERDOC="1"

Tips untuk Android 11 (level API 30) atau yang lebih baru

Google Play Game di PC telah diupdate dengan rilis Android terbaru. Berikut ini beberapa tips untuk menggunakan Android versi terbaru.

Memastikan alat selalu terbaru

Android Studio menginstal versi adb yang kompatibel dengan emulator developer. Namun, beberapa game engine menyertakan versi lama adb. Jika demikian, setelah menginstal emulator developer, Anda dapat menemukan versi adb yang kompatibel di C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

Jika Anda meluncurkan satu versi adb, versi lainnya akan dihentikan. Artinya, jika game engine otomatis meluncurkan instance adb-nya sendiri, Anda mungkin harus meluncurkan ulang dan menghubungkan kembali versi adb yang disertakan dengan emulator developer setiap kali Anda melakukan deployment.

Jika menggunakan Android App Bundle, Anda harus menginstal Bundletool versi terbaru dari repositori GitHub.

Penyimpanan Terbatas

Android 11 (level API 30) atau yang lebih baru menyertakan penyimpanan terbatas, yang memberikan perlindungan lebih baik untuk data aplikasi dan pengguna di penyimpanan eksternal. Selain membuat game Anda kompatibel dengan persyaratan penyimpanan terbatas, Anda perlu melakukan langkah tambahan untuk memuat File Ekspansi APK (obb) atau data aset ke Emulator Developer Google Play Game di PC. Ikuti langkah-langkah berikut jika Anda mengalami masalah saat mengakses file tersebut dari game:

  1. Buat direktori yang dapat dibaca aplikasi Anda.
  2. Kirim file ekspansi ke emulator.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game

Visibilitas Paket

Karena aturan visibilitas paket yang baru, aplikasi yang menargetkan Android 11 (level API 30) atau yang lebih tinggi akan diblokir dari pembuatan kueri untuk mengetahui informasi tentang aplikasi lain yang diinstal di perangkat. Hal ini berarti game Anda diblokir agar tidak dapat mengakses Layanan Play saat di-sideload melalui adb, bukan diinstal melalui Play Store. Untuk menguji IAP dengan game yang di-sideload, Anda harus menambahkan kueri ke paket "com.android.vending" di file AndroidManifest.xml sebagai berikut:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

Menginstal game Anda di klien konsumen

Anda tidak dapat menginstal game pada klien konsumen sebelum game tersebut tercantum dalam katalog Layanan game Play. Setelah game memiliki satu rilis, Anda dapat membuat jalur pengujian internal yang memvalidasi update mendatang sebelum rilis.

Klien pemain tidak mendukung fitur yang berfokus pada developer di Emulator Developer Google Play Game di PC. Cara ini paling baik digunakan untuk melakukan QA (Uji Mutu) terhadap game sebelum rilis guna menguji pengalaman pemain secara menyeluruh setelah rilis awal.