Consideraciones de diseño esenciales

Cuando implementes la compatibilidad con controles de juegos, ten en cuenta los siguientes requisitos esenciales para ayudar a los jugadores a disfrutar de una experiencia de juego fluida y sin interrupciones.

Informa a los usuarios de Play Store que tu juego admite controles

Si declaras la función de control de juegos en tu manifiesto de Android, se mostrará un ícono y una etiqueta de compatibilidad con controles de juegos en Google Play. Usa esta declaración para ayudar a que más usuarios descubran y jueguen tu juego. Para obtener instrucciones de configuración detalladas y ejemplos de manifiestos, consulta Visibilidad de Play Store y Funciones de hardware de controles de juegos.

Permite que los jugadores cambien sin problemas entre dispositivos de entrada

Cuando los jugadores cambien de dispositivo de entrada, haz que la transición sea fluida. Evita que los jugadores tengan que activar o desactivar manualmente su método de entrada en un menú de configuración o reiniciar el juego.

Pantallas de un juego de carreras en paralelo: Los botones táctiles de dirección y nitro aparecen durante el juego en dispositivos móviles y desaparecen automáticamente cuando se conecta un control de juegos físico.
Figura 1: Cambio fluido entre métodos de entrada sin interrumpir el juego

Cambiar automáticamente y admitir la conexión en caliente

Mantén activos todos los dispositivos de entrada compatibles de forma simultánea para que los jugadores puedan alternar entre ellos sobre la marcha. Detecta cambios en los dispositivos de entrada durante el tiempo de ejecución para que los controles de juegos funcionen de inmediato cuando se conecten sin reiniciar la app y para que se realice una transición fluida a otros métodos de entrada disponibles si se desconecta un control activo durante el juego. Para detectar conexiones y desconexiones de controles, consulta Cómo verificar que un control de juegos esté conectado (Kotlin o Java) o Cómo registrar o quitar una devolución de llamada de estado del control (biblioteca de controles de juegos de C++). En Android 16 (nivel de API 36) y versiones anteriores, también declara android:configChanges="keyboard|keyboardHidden|navigation" en tu manifiesto para que conectar o desconectar un control no reinicie tu actividad (consulta Cómo controlar los cambios de configuración).

No se recomienda Recomendado
No recomendado: Un diálogo modal que requiere que el jugador cambie manualmente el modo de entrada en Configuración y reinicie el juego cuando se detecta un control. Recomendado: Un banner no intrusivo que confirme que el control está conectado y que la entrada cambió automáticamente con mensajes del control de juegos.

Actualiza la iconografía de los botones y las guías de texto para que coincidan con el dispositivo activo

Cambia de forma dinámica los íconos de los botones en pantalla y las guías de texto según el dispositivo de entrada activo. Por ejemplo, cambia una guía de controles táctiles como "Presiona para saltar" por "Presiona B para saltar" (o el botón equivalente de la plataforma) cuando el juego detecte la entrada del control de juegos.

Pantallas de un juego de aventuras en paralelo: Los mensajes "Presiona para saltar" y "Presiona el cofre para abrirlo" cambian a "Presiona B para saltar" y "Presiona A para abrir el cofre" cuando se conecta un control de juegos.
Figura 2: Actualizar de forma dinámica los íconos de los botones en pantalla y el texto de la guía para que coincidan con el control activo

Ocultar los controles táctiles virtuales cuando hay un control de juegos activo

Para evitar el desorden en la pantalla y la confusión del jugador, oculta todos los elementos virtuales de la IU táctil, como los joysticks virtuales y los botones en pantalla, cuando un control de juegos esté activo. Restablece la IU táctil de inmediato si el jugador toca la pantalla.

Pantallas de juegos de aventuras en paralelo: el joystick virtual y el botón de ataque con espada son visibles durante el juego táctil y se ocultan para que no se obstruya la vista cuando se conecta un control de juegos.
Figura 3: Ocultar los controles de tacto virtuales cuando la entrada del control de juegos está activa

Proporciona compatibilidad total con controles de juegos para toda la lógica del juego

Evita depender de la función táctil como mecanismo de resguardo. Usar el tacto para salir de los menús o realizar partes específicas del juego puede romper la inmersión. Implementa todas las interacciones del juego para que los jugadores puedan realizarlas por completo con un control de juegos.

Asigna todos los elementos y diálogos de la HUD a las entradas del control.

Permite que los jugadores abran, interactúen y cierren todos los elementos, menús y diálogos de la pantalla de avisos (HUD) en pantalla con el control a través de botones de acceso directo, botones superiores o navegación con pad direccional (D-pad) para que no tengan que tocar la pantalla.

No se recomienda Recomendado
No recomendado: Un diálogo modal y los íconos de la interfaz en pantalla sin accesos directos del control, lo que obliga al jugador a presionar el botón de cierre en la pantalla. Recomendado: Íconos de la interfaz en pantalla y botones de diálogo modal asignados a las entradas del control con indicaciones claras de los botones A y B.

Separa los contextos de entrada de la IU y de la experiencia de juego

Cuando se abra un menú o un diálogo sobre el juego, cambia de contexto o bloquea los controles en segundo plano para que el control de juegos solo interactúe con la IU activa. Esta separación evita que la navegación direccional o las presiones de botones en un menú activen accidentalmente el movimiento o las acciones de los personajes en segundo plano.

No se recomienda Recomendado
No recomendado: Navegar por un menú de inventario abierto hace que el personaje se mueva y balancee su arma en segundo plano de forma accidental. Recomendación: Cuando se abre el menú del inventario, se bloquea la entrada de juego en segundo plano, por lo que las pulsaciones del pad direccional y de los botones solo mueven el enfoque de la cuadrícula de elementos mientras el personaje permanece quieto.

Asigna el enfoque inicial de inmediato cuando se abre una pantalla

A diferencia de la entrada táctil, en la que los jugadores presionan los botones directamente, la navegación con el control de juegos se mueve del elemento enfocado actualmente a uno adyacente. Si se abre un menú o diálogo nuevo sin un objetivo de enfoque inicial, es posible que las entradas del pad direccional y de confirmación no respondan o queden atrapadas en los elementos en segundo plano. Asigna el enfoque inicial a un botón predeterminado en cuanto se abra una pantalla.

No se recomienda Recomendado
No recomendado: Se abre un menú de pausa sin ningún botón enfocado, lo que deja al jugador sin un punto de partida para la navegación con el pad direccional. Recomendado: El menú de pausa destaca de inmediato el botón Continuar predeterminado con un borde de enfoque claro y un mensaje del botón A.