Una de las ventajas más evidentes de los dispositivos ChromeOS son sus pantallas grandes y atractivas, y la facilidad con la que puedes usar monitores externos. Tanto espacio en la pantalla ofrece mucho potencial para los juegos, pero usarlo bien puede requerir un poco más de reflexión y trabajo de diseño.
Cambios de orientación y configuración
Algunas apps para dispositivos móviles están diseñadas específicamente para teléfonos pequeños y tienen la orientación bloqueada en vertical. Esto ofrece algunas ventajas aparentemente rápidas, ya que reduce la cantidad de cambios de configuración que es probable que reciba el juego y la cantidad de diseños diferentes que se necesitan. Sin embargo, esta elección puede tener algunas sorpresas ocultas. Si eliges no controlar los cambios de orientación, muchas apps no estarán preparadas para otros cambios de configuración, como el cambio de tamaño de la ventana, la conexión del teclado, las pantallas externas, etcétera. Estos pueden causar fallas y reinicios inesperados. Consulta cambios en el tiempo de ejecución para obtener más información. Si bien estos cambios también ocurren en los teléfonos, son frecuentes en los dispositivos plegables y ChromeOS, y se deben controlar bien.
Además, en dispositivos con pantalla grande con pantallas horizontales o plegables con relaciones de aspecto más cuadradas, los juegos con orientaciones verticales fijas aparecerán con barras negras grandes en el costado.
Otros juegos diseñados principalmente para teléfonos pueden optar por bloquear sus apps en modo horizontal. Los usuarios de tablets o dispositivos convertibles se verán obligados a sostener el dispositivo en orientación horizontal, lo que puede resultar más agresivo que en un teléfono y degradar la experiencia de tu juego. En el caso de las tablets y los dispositivos convertibles con pantallas grandes, es posible que el juego tenga suficiente espacio en modo vertical. Para algunas personas, puede ser más cómodo sostener el dispositivo en esa orientación, lo que les permite interactuar con tu juego durante períodos más largos.
Existen diferentes formas de abordar este problema según el alcance y la antigüedad de tus juegos. Lo ideal sería que tu juego se ajustara de forma dinámica a los diferentes tamaños de pantalla, lo que ofrecería una experiencia envolvente y mejorada para los usuarios con pantallas más grandes. Otro enfoque es encontrar formas creativas de llenar el espacio negro vacío con información útil, como estadísticas, mapas o ventanas de chat, o bien incluir imágenes relevantes para el juego como fondo en lugar del negro, lo que proporciona un mejor encuadre para el juego principal.
Cuando sea posible, permite que los usuarios usen tu app en ambas orientaciones, siempre que el tamaño de la pantalla lo permita.
Ejemplo 1

Un juego de rompecabezas es un juego de Android apto para mayores que se diseñó para teléfonos verticales. En pantallas grandes horizontales, se ejecuta con barras negras a los lados. Como el juego tenía una base de usuarios grande y activa, y el desarrollador se está enfocando en su próximo título, decidió agregar una imagen con enfoque suave al fondo de cada nivel y menú para enmarcar el juego, sin necesidad de reescribir la IU. Como están en pleno desarrollo del próximo juego, el desarrollador incluirá la compatibilidad con el modo horizontal en el nuevo título.
Ejemplo 2

Un juego de carreras de autos diseñado para dispositivos móviles está bloqueado en modo horizontal para optimizar el espacio de la pantalla en los teléfonos. Últimamente, los usuarios de tablets y ChromeOS se han quejado de que es difícil jugar y han solicitado compatibilidad con el modo vertical. El desarrollador incluye una verificación del tamaño de la pantalla en su código y, si la pantalla es lo suficientemente grande, se permite el modo de retrato. Para seguir permitiendo la vista de gran angular que requiere el juego, el contenido se coloca en el centro de la pantalla, mientras que aparece una barra de IU adicional de estéreo para automóvil en la parte inferior de la pantalla, lo que permite que los usuarios cambien fácilmente la estación de radio. Además, las estadísticas de mapas y carreras se mueven a la parte superior de la pantalla, lo que libera la vista del parabrisas y mejora la experiencia de juego.
Consulta también los lineamientos para pantallas grandes de Android y la documentación sobre tamaños de pantalla de Android.
Capacidad de multiventana
Los juegos suelen brindar a los usuarios una experiencia envolvente de pantalla completa. Sin embargo, a algunos usuarios de computadoras o dispositivos plegables les gusta tener abiertos y visibles los servicios de chat, música o transmisión de video al mismo tiempo en una ventana separada. Si graban o comparten su propia pantalla, también puede ser útil tener ventanas adicionales abiertas y visibles.
La capacidad de multiventana es el comportamiento predeterminado de las apps y los juegos para Android, que se aplica a las computadoras de escritorio con ChromeOS, así como a los teléfonos y las tablets en modo de pantalla dividida. Si quieres evitar que se cambie el tamaño de tu juego, declara que no se puede cambiar de tamaño en AndroidManifest.xml.
android:resizeableActivity="false"
Si tu juego se puede cambiar de tamaño, debes tener en cuenta algunos aspectos importantes:
- Cuando se cambia el tamaño de la ventana, de forma predeterminada, Android “destruirá” y volverá a “crear” tu juego (consulta el ciclo de vida de Android). El juego debe realizar un seguimiento correcto del estado durante estas recreaciones (consulta la documentación de ViewModel de Jetpack) o controlar manualmente estos cambios de configuración y evitar la recreación, de modo que el motor del juego controle el nuevo tamaño de pantalla. Para obtener más información, mira este video de la Conferencia para desarrolladores de videojuegos 2019.
- Manejo correcto de
onPauseen caso de que tu app esté visible ySTARTED, pero noRESUMED. Consulta Ciclo de vida en el modo multiventana. - Considera diferentes relaciones de aspecto para las ventanas redimensionadas (recorte frente al ajuste de escala de los recursos).
Obtén más información sobre la administración de ventanas.
Modo de pantalla completa
Cuando tu juego se ejecuta en una ventana de pantalla completa, es posible que desees ponerlo en modo inmersivo para quitar los bordes de la ventana y otros elementos de la pantalla que distraigan. Consulta la documentación de pantalla completa de Android para obtener más información.
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) }