Android Game SDK: Apa itu dan bagaimana menggunakannya di aplikasi Anda

Android Game SDK adalah serangkaian perpustakaan baru dari Google, yang dirancang untuk membantu memfasilitasi pengembangan game yang lebih baik. Atau setidaknya, itulah yang dijanjikan di masa depan yang tidak terlalu jauh. Untuk saat ini, Game Android SDK sebenarnya hanya satu perpustakaan: Android Frame Pacing Library, tampaknya juga dikenal sebagai "Swappy."

Pengumuman itu datang pada awal Desember 2019 dan dapat dianggap sebagai inklusi yang sudah lama ditunggu. Mudah-mudahan, iterasi masa depan akan membantu untuk merampingkan proses pengembangan game, memungkinkan pengembang untuk lebih cepat merancang dan merilis game puzzle, platformer, atau bahkan judul 3D tanpa mengandalkan mesin pihak ketiga seperti Unity dan Unreal.

Posting ini akan sering diperbarui saat elemen baru ditambahkan ke Android Game SDK, jadi tandai halaman ini dan periksa kembali. Untuk saat ini, kami akan melihat Perpustakaan Frame Pacing.


Cara kerja Frame Pacing Library

Perpustakaan ini dirancang untuk membantu game mempertahankan frame rate yang stabil dengan latensi input minimal. Ini dilakukan dengan menyinkronkan loop rendering game dengan subsistem tampilan OS dan perangkat keras. Subsistem tampilan bertujuan untuk mengurangi robekan yang kadang-kadang dapat terjadi ketika perangkat keras beralih dari satu frame ke tengah lainnya melalui pembaruan. Ini dilakukan dengan buffering frame sebelumnya, mendeteksi pengiriman terlambat, dan mengulangi tampilan frame-frame sebelumnya jika frame terlambat terdeteksi.

Frame Pacing Library Terlalu Cepat di game android SDK

Dari Google

Namun, ini dapat memungkinkan ketidakcocokan dalam sinkronisasi yang menghasilkan waktu tampilan bingkai yang tidak konsisten. Misalnya, jika sebuah frame dirender lebih cepat, ini mungkin mempersingkat waktu yang dihabiskan frame sebelumnya di layar. Jika bingkai membutuhkan waktu terlalu lama untuk dirender, maka bingkai tersebut dapat disajikan untuk bingkai tambahan.

Frame Pacing Library mengatasi masalah ini menggunakan API koreografer Android untuk menyinkronkan game dengan subsistem tampilan. Ini mencapai ini dengan menggunakan ekstensi cap waktu presentasi pada OpenGL dan Vulkan APIs, yang memastikan bahwa frame disajikan pada waktu yang tepat. Itu juga menggunakan pagar sinkronisasi untuk mencegah isian buffer. Berbagai tingkat penyegaran juga didukung, memungkinkan pengembang untuk menargetkan berbagai jenis perangkat – termasuk tampilan 90Hz dan 120Hz – dan opsi penyesuaian. Waktu presentasi bingkai secara otomatis disesuaikan dengan akun untuk perangkat keras perangkat.


Cara menggunakan Perpustakaan Pacing Bingkai Game Android SDK

Jika game Anda menggunakan Vulkan di OpenGL, maka Anda akan dapat memanfaatkan perpustakaan ini. Untuk melakukannya, pertama Anda harus mengunduh Android Game SDK di sini.

Untuk melihat bagaimana ini bekerja, Anda juga dapat mengunduh sampel Bouncy Ball di sini untuk menguji dengan OpenGL. Anda dapat menemukan petunjuk untuk Vulkan di sini. Buka proyek, lalu jalankan aplikasi untuk memastikannya berhasil.

Selanjutnya, tautkan proyek ke perpustakaan. Untuk pustaka statis, lakukan ini dengan menambahkan gamesdk / termasuk ke kompiler termasuk jalur, dan swappy / swappyGL.h untuk integrasi dengan OpenGL ES. Dalam kebanyakan kasus, file header akan berisi semua fungsi yang diperlukan.

Terakhir, tambahkan jalur berikut ke jalur pustaka linker Anda:

gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release

Tentu saja, Anda akan menukar teks tebal dengan versi prosesor / NDK yang relevan, dll.

Inisialisasi instance Android Frame Pacing menggunakan:

void SwappyGL_init(JNIEnv *env, jobject jactivity);

Dan hancurkan kata contoh dengan:

void SwappyGL_destroy();

Sekarang fungsi-fungsi berikut akan memungkinkan Anda untuk mengonfigurasi interval swap dan periode penyegaran Anda:

void SwappyGL_setSwapIntervalNS(uint64_t swap_ns);    void SwappyGL_setFenceTimeoutNS(uint64_t fence_timeout_ns);    void SwappyGL_setUseAffinity(bool tf);

Panggil segera setelah Anda menginisialisasi SwappyGL_init (), Yang harus sedekat ketika mesin Anda meluncurkan mungkin. Lewati durasi bingkai ke SwappyGL_setSwapIntervalNS () menggunakan SWAPPY_SWAP_60FPS, SWAPPY_SWAP_30FPS, atau SWAPPY_SWAP_20FPS konstanta (jika perlu).

Sekarang lakukan frame swap menggunakan bool SwappyGL_swap (tampilan EGLDisplay, permukaan EGLSurface). Ini membungkus eglSwapBuffers () metode yang digunakan oleh Open GL ES, jadi Anda harus mengganti semua instance dengan versi baru.

Anda dapat memeriksa apakah Frame Pacing telah diaktifkan pada titik mana pun menggunakan bool SwappyGL_isEnabled ().

Untuk instruksi lebih rinci tentang cara menggunakan Perpustakaan Frame Pacing, lihat halaman panduan pengembang Android resmi.

Menggunakan Android Game SDK di Unity

Frame Pacing Library juga termasuk dalam Unity versi 2019.2 dan di atasnya. Cukup centang kotak Frame Pacing yang dioptimalkan di Pengaturan Android, dan Anda akan secara otomatis mengaktifkan frame rate yang lebih halus untuk game Anda.

Sekali lagi, Unity membuat hidup jauh lebih mudah bagi para pengembang game!


Melihat ke depan

Secara pribadi, saya merasa sudah saatnya Google memberi penggemar permainan cinta, jadi saya melihat ini sebagai hal yang sangat positif. Frame Pacing Library itu sendiri kemungkinan juga akan menjadi tambahan yang disambut baik, terutama untuk game yang lebih berat yang ingin menawarkan framerates halus seperti sutra. Ini adalah awal yang kecil, jadi saya harus melakukan beberapa perpustakaan yang bermanfaat secara luas dan memulai debut mereka dengan Android Game SDK segera.

Lebih banyak posting tentang Pengembangan Android

Pemrograman Mempelajari C #

Cara membuat aplikasi non-game di Unity

Pengantar C # untuk Android

Semua berita dan fitur pengembang Android terbaru yang perlu Anda ketahui

android p beta

Cara menggunakan gerakan dan navigasi berbasis gerakan di aplikasi Android Anda

Belajar Meretas Keamanan Data

Lindungi privasi pengguna Anda: keamanan aplikasi Android untuk pengembang

pengembangan game

Cara menambahkan grafik 3D dan fitur Unity lainnya ke aplikasi Android asli Anda

Widget untuk Layar Beranda Android

Buat widget yang dapat digulir untuk aplikasi Android Anda

Android Q Beta 5 Mengintip

Tema gelap, API Termal, dan Bubbles: Mempersiapkan aplikasi Anda untuk Android 10

Android Q Beta 5 Mengintip

Berita dan fitur pengembang Android ditangkap (Juli 2019)

Android Q Beta 4 Notification Swipe Direction

Berita dan fitur pengembang Android ditangkap: Juni 2019

Android Game SDK: Apa itu dan bagaimana menggunakannya di aplikasi Anda 1

Memulai dengan Facebook untuk Android SDK

Pos terkait

Back to top button