Salah satu keunggulan paling jelas dari perangkat ChromeOS adalah layar besarnya yang indah dan kemudahan penggunaan monitor eksternal. Ruang layar yang luas menawarkan banyak potensi untuk game, tetapi penggunaannya yang baik memerlukan pemikiran dan pekerjaan desain tambahan.
Perubahan orientasi dan konfigurasi
Beberapa aplikasi seluler dirancang khusus untuk ponsel kecil dan memiliki orientasi yang dikunci ke potret. Hal ini menawarkan beberapa keuntungan yang tampaknya cepat dengan mengurangi jumlah perubahan konfigurasi yang mungkin diterima game dan dengan mengurangi jumlah tata letak yang berbeda yang diperlukan. Namun, ada beberapa kejutan tersembunyi dengan pilihan ini - dengan memilih untuk tidak menangani perubahan orientasi, banyak aplikasi tidak akan siap untuk perubahan konfigurasi lainnya seperti pengubahan ukuran jendela, pemasangan keyboard, tampilan eksternal, dll. Hal ini dapat menyebabkan error dan mulai ulang yang tidak terduga, lihat perubahan runtime untuk mengetahui informasi selengkapnya. Meskipun perubahan ini juga terjadi di perangkat ponsel, perubahan ini sering terjadi di perangkat foldable dan ChromeOS dan harus ditangani dengan baik.
Selain itu, di perangkat layar besar dengan layar lanskap atau perangkat foldable dengan rasio aspek yang lebih persegi, game dengan orientasi potret tetap akan muncul dengan garis hitam besar di samping.
Beberapa game lainnya yang mengutamakan ponsel mungkin memilih untuk mengunci aplikasinya dalam mode lanskap. Pengguna tablet atau perangkat convertible akan dipaksa memegang perangkat dalam orientasi lanskap yang mungkin terasa lebih agresif daripada di ponsel dan menurunkan kualitas pengalaman bermain game Anda. Untuk tablet dan perangkat konvertibel layar besar, game mungkin memiliki ruang yang cukup dalam mode potret. Bagi sebagian orang, memegang perangkat dalam orientasi tersebut mungkin lebih nyaman, sehingga mereka dapat berinteraksi dengan game Anda dalam jangka waktu yang lebih lama.
Bergantung pada cakupan dan kematangan game Anda, ada berbagai cara untuk mengatasi hal ini. Idealnya, game Anda dapat menyesuaikan diri secara dinamis dengan ukuran layar yang berbeda, sehingga menawarkan pengalaman yang lebih baik dan imersif bagi pengguna dengan layar yang lebih besar. Pendekatan lain adalah menemukan cara kreatif untuk mengisi ruang hitam kosong dengan informasi berguna seperti statistik, peta, atau jendela chat, atau menyertakan gambar yang relevan dengan game sebagai latar belakang alih-alih hitam yang memberikan pembingkaian yang lebih baik untuk gameplay utama.
Jika memungkinkan, izinkan pengguna Anda menggunakan aplikasi Anda dalam kedua orientasi, jika ukuran layar memungkinkan.
Contoh 1

Game teka-teki adalah game Android dewasa yang didesain untuk ponsel dalam mode potret. Pada layar lanskap yang besar, aplikasi ini berjalan dengan batang hitam di samping. Karena game memiliki basis pengguna yang besar dan aktif, serta developer berfokus pada judul berikutnya, mereka memilih untuk menambahkan gambar fokus lembut ke latar belakang setiap level dan menu untuk membingkai game, tanpa memerlukan penulisan ulang UI. Karena masih dalam pengembangan aktif untuk game berikutnya, developer menyertakan dukungan lanskap dalam judul baru.
Contoh 2

Game balap mobil yang didesain untuk perangkat seluler dikunci ke mode lanskap, untuk mengoptimalkan ruang layar ponsel. Baru-baru ini, pengguna tablet dan ChromeOS mengeluh bahwa game ini sulit dimainkan dan meminta dukungan mode potret. Developer menyertakan pemeriksaan ukuran layar dalam kodenya, dan jika layar cukup besar, mode potret diizinkan. Untuk tetap memungkinkan tampilan sudut lebar yang diperlukan untuk game, konten ditempatkan di tengah layar sementara kolom UI stereo mobil tambahan muncul di sepanjang bagian bawah layar yang memungkinkan pengguna mengubah stasiun radio dengan mudah, dan statistik peta dan balapan dipindahkan ke bagian atas layar, sehingga tampilan kaca depan lebih jelas dan permainan game lebih baik.
Lihat juga Pedoman layar besar Android dan Dokumentasi ukuran layar Android.
Kemampuan multi-aplikasi
Game sering kali memberikan pengalaman layar penuh yang imersif kepada pengguna. Namun, beberapa pengguna di desktop atau perangkat foldable ingin membuka dan melihat layanan streaming video, musik, atau chat secara bersamaan di jendela terpisah. Jika mereka merekam atau membagikan layar mereka sendiri, akan berguna juga jika ada jendela tambahan yang terbuka dan terlihat.
Kemampuan multi-aplikasi adalah perilaku default untuk aplikasi dan game Android, yang berlaku untuk desktop ChromeOS, serta ponsel dan tablet dalam mode layar terpisah. Jika Anda ingin mencegah game diubah ukurannya, nyatakan bahwa game tidak dapat diubah ukurannya di AndroidManifest.xml.
android:resizeableActivity="false"
Ada beberapa pertimbangan penting jika game Anda dapat diubah ukurannya:
- Saat jendela diubah ukurannya, secara default Android akan “menghancurkan” dan “membuat ulang” game Anda (lihat siklus proses Android). Game Anda harus melacak status dengan baik selama pembuatan ulang ini (lihat dokumentasi Jetpack ViewModel), atau menangani perubahan konfigurasi ini secara manual dan mencegah pembuatan ulang, dengan mesin game Anda menangani ukuran layar baru. Untuk mengetahui informasi selengkapnya, tonton video ini dari Game Developer Conference 2019.
- Menangani
onPausedengan benar jika aplikasi Anda terlihat danSTARTED, tetapi tidakRESUMED. Lihat Siklus proses multi-aplikasi. - Pertimbangkan rasio aspek yang berbeda untuk jendela yang diubah ukurannya (pemangkasan versus penskalaan aset)
Baca selengkapnya tentang pengelolaan jendela.
Mode layar penuh
Saat game Anda berjalan di jendela layar penuh, Anda mungkin ingin memasukkannya ke mode imersif untuk menghapus batas jendela dan elemen layar lain yang mengganggu. Lihat dokumentasi layar penuh Android untuk mengetahui informasi selengkapnya.
private fun hideSystemUI() { // Enables regular immersive mode. window.decorView.systemUiVisibility = ( View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) }