La calidad de tu juego determina su éxito a largo plazo (en cuanto a instalaciones, calificaciones, reseñas, participación y retención de usuarios). Antes de publicar un juego, es importante que te asegures de que cumpla con las expectativas básicas de los jugadores mediante funciones atractivas y una IU intuitiva y bien diseñada.
Este documento te ayudará a concentrarte en los aspectos clave de calidad, IU y conjuntos de funciones que pueden tener un efecto significativo en el éxito de tu juego. Cada una de las áreas de enfoque se presenta como una lista de tareas con requisitos mínimos, recomendaciones y mejoras aconsejables. Para ofrecer el mejor producto posible a los usuarios, sigue la lista de tareas con recomendaciones en la mayor medida posible.
1. Acceso
La siguiente lista de tareas se aplica a la implementación de funcionalidades de acceso de jugadores en el juego. Descubre cómo funciona el acceso y cómo deberías implementarlo en Conceptos de acceso. Para ver ejemplos de códigos de implementación de funciones de acceso en juegos para dispositivos móviles, consulta Cómo implementar funciones de acceso en Android.
ID | Importancia | Descripción |
---|---|---|
1.1 | Obligatorio |
Haz que los jugadores accedan con los Servicios de juego de Google Play.
|
1.2 | Obligatorio |
No solicites permisos que no sean de Play Juegos cuando crees tu cliente de acceso. Esto permitirá que los jugadores accedan automáticamente a tu juego, ya que solicitar permisos que no sean de Play Juegos obligará a los usuarios a usar el acceso interactivo.
Si ya solicitas permisos que no son de Play Juegos, quita todos los permisos innecesarios de tu construcción
// This is the proper way to do it GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN; |
1.3 | Obligatorio |
Permite que los jugadores permanezcan conectados.
Una vez que el jugador acceda correctamente a tu juego, conéctalo de forma automática cada vez que este se inicie, hasta que el usuario decida salir de manera explícita. |
1.4 | Obligatorio |
Muestra la ventana emergente "Conectando" de forma adecuada durante el acceso.
En los dispositivos Android, la ventana emergente "Conectando" de Google Play Juegos se debe mostrar cada vez que se invoca el flujo de acceso. Para ello, debes llamar al método En el siguiente ejemplo, se muestra cómo puede aparecer la ventana emergente "Conectando" en un juego para Android durante el acceso, seguida de una breve animación del logotipo de los Servicios de juego de Google Play. |
1.5 | Obligatorio |
Brinda a los jugadores una opción para salir.
Luego de acceder al juego, el jugador siempre debe tener la opción de salir. Considera proporcionar un botón para salir en una pantalla de juego relevante de tu app (por ejemplo, en la pantalla de configuración del jugador). |
1.6 | Práctica recomendada |
Recuerda si los jugadores rechazaron la opción de acceder.
Si el jugador rechaza acceder cuando el juego inicia el flujo de acceso (por ejemplo, si hace clic en Cancelar en la IU de acceso), debes permitir que el jugador continúe con el juego. Cuando el jugador vuelva a iniciar tu juego, no invoques el flujo de acceso interactivo de forma automática. Estos jugadores pueden elegir acceder más tarde con el botón de acceso que debería aparecer en el sistema de configuración. De este modo, los usuarios no tendrán que rechazar la opción de acceder cada vez que inicien el juego. Una excepción es cuando los jugadores intentan usar una función del juego que dependa del acceso, como enviar una puntuación a una tabla de clasificación. En ese caso, pídeles que accedan antes de continuar con el juego. |
1.7 | Práctica recomendada |
Maximiza la cantidad de jugadores que acceden a sus cuentas.
El hecho de que más jugadores accedan a los Servicios de juego de Google Play los beneficiará, ya que aumentan las oportunidades de un juego colaborativo y competitivo. Para maximizar la cantidad de jugadores que acceden a los Servicios de juego de Google Play, te recomendamos que los solicites automáticamente, como se describió anteriormente. De lo contrario, dirige a los jugadores al flujo de acceso lo antes posible desde cualquiera de los siguientes puntos (por orden de prioridad):
|
1.8 | Aconsejable |
Sigue los lineamientos de desarrollo de la marca de Google.
A fin de proporcionar a los jugadores una experiencia atractiva y coherente en todos los aspectos, implementa los lineamientos de desarrollo de la marca de los Servicios de juego de Google Play. |
1.9 | Aconsejable |
Recuérdales a los jugadores que ya accedieron.
Incluye un indicador o recordatorio apropiado para los jugadores que accedieron cuando el juego realice acciones en su nombre. Por ejemplo, cuando un jugador conectado termine un nivel, puedes enviarle un mensaje como este para indicarle que sus logros y puntuación se cargarán de forma automática: "Accediste con Google. Tus logros y puntuaciones se guardarán automáticamente". |
1.10 | Obligatorio |
Crea una copia de seguridad del progreso del jugador con el ID de los Servicios de juego de Play.
A fin de asegurarte de que los jugadores no pierdan su progreso cuando cambien o restablezcan dispositivos, o si juegan en varios dispositivos, asegúrate de que se cree una copia de seguridad de su progreso en una solución de almacenamiento en la nube y usa el ID de los Servicios de juego de Play como clave de forma segura si usas tu propio servidor de juegos de backend. Cuando los jugadores accedan con su ID de los Servicios de juego de Play, verifica si existe algún progreso en esa cuenta y, si es así, permite que el jugador retome desde donde se quedó. Puedes usar tu propia solución de almacenamiento en la nube o los Juegos guardados de los Servicios de juego de Play. Si el jugador no accedió, intenta mantener su progreso de forma local y, luego, sincronízalo cuando acceda a su cuenta. De este modo, evitarás perder el progreso si el jugador pospone el acceso. |
2. Logros
La siguiente lista de tareas se aplica a la implementación de la función Logros en el juego.
ID | Importancia | Descripción |
---|---|---|
2.1 | Obligatorio | Asegúrate de que los logros sean alcanzables.
Los jugadores deben poder desbloquear todos los logros que hayas creado. |
2.2 | Recomendación | Diferencia los logros.
Todas las imágenes, descripciones y textos deben ser únicos para cada uno de los logros. |
2.3 | Recomendación | Califica los logros de manera proporcional.
Los puntos que se obtienen cuando se desbloquea un logro deben ser proporcionales a la cantidad de tiempo o habilidad que se necesita para alcanzarlo. |
2.4 | Recomendación | Diseña logros para varios niveles de dificultad.
Incluye algunos logros fáciles que los jugadores puedan desbloquear en un juego casual, cierta cantidad de logros de dificultad intermedia que requieran más habilidad o dedicación para desbloquearlos, y uno o dos muy difíciles de obtener para los jugadores más dedicados. Por ejemplo, la siguiente captura de pantalla muestra un logro difícil de obtener que ayuda a motivar y retener a los fanáticos del juego. |
2.5 | Aconsejable | No otorgues demasiados logros al principio.
Evita otorgar más de un logro durante los primeros 5 minutos del juego, ya que los nuevos jugadores no estarán suficientemente comprometidos como para darles importancia. No definas los logros para que se otorguen de forma no intencional en las etapas más tempranas del juego. Por ejemplo, evita los logros que serían triviales si se entregaran al principio del juego, como "Completar un nivel sin recibir ningún daño". |
2.6 | Aconsejable | Define los logros en torno a actividades atractivas dentro del juego.
Selecciona métricas para crear logros que hagan que tu juego sea más atractivo y llamativo. Por ejemplo, "cantidad de zombis que mataste" es una métrica más interesante que "cantidad de kilómetros que caminó tu personaje". |
2.7 | Aconsejable | Usa íconos de colores para los logros.
Los Servicios de juego de Google Play usan versiones de los íconos de logros en escala de grises para mostrar si están bloqueados o desbloqueados. Si solo puedes usar íconos de logros completamente blancos o negros, muéstralos sobre un fondo de color. |
2.8 | Aconsejable | Minimiza el uso de logros ocultos.
El uso de logros ocultos se aconseja solo para evitar revelar demasiada información sobre las siguientes etapas del juego, pero no deben ser la norma. |
2.9 | Aconsejable | Evita los logros que dependan demasiado del azar.
"Encontrar 100 cofres del tesoro" es un mejor logro que "Encontrar un artículo que tiene un 1% de probabilidad de aparecer en un cofre del tesoro". |
2.10 | Aconsejable | Piensa como un "cazador de logros".
Algunos jugadores intentarán desbloquear todos los logros que crees. Trata de ofrecer logros diseñados especialmente para esta categoría de usuarios. Evita crear logros que dependan demasiado de elementos que estén fuera del control del jugador o que no se puedan desbloquear si el usuario toma una decisión específica dentro del juego. |
2.11 | Aconsejable | Asegúrate de que el ícono de logros se muestre correctamente.
Cuando los íconos de logros se muestran en las notificaciones de Android, se superponen con un círculo y se ocultan las esquinas exteriores. Asegúrate de que tu ícono se vea bien, incluso en estas circunstancias. |
3. Tablas de clasificación
La siguiente lista de tareas se aplica a la implementación de la función Tablas de clasificación en el juego.
ID | Importancia | Descripción |
---|---|---|
3.1 | Recomendación | Muestra las tablas de clasificación en el menú principal y luego de las transiciones importantes. Las tablas de clasificación deben estar disponibles mientras se carga el juego. Luego de las transiciones críticas de un juego, como al final de un nivel o cuando muere el personaje, los jugadores deben ver inmediatamente los vínculos a las tablas de clasificación relevantes. |
3.2 | Recomendación | Define los límites superiores de las puntuaciones que se pueden enviar.
Si es posible, agrega límites al momento de definir las tablas de clasificación para que se descarten las puntuaciones claramente falsas. |
3.3 | Recomendación | Usa íconos personalizados.
Crea un ícono personalizado para cada tabla de clasificación que definas; no uses simplemente el ícono del juego, ya que no se verá bien en la app de Google Play Juegos. |
3.4 | Recomendación | Mantén una frecuencia de envío de puntuaciones apropiada.
Envía las puntuaciones luego de las transiciones críticas del juego, como al final de un nivel o cuando muera el personaje del jugador. Para los juegos sin transiciones críticas, como los de carreras interminables, usa el sentido común para determinar la frecuencia de envío de las puntuaciones. Estas no se deben enviar de forma continua ni a cada segundo. |
3.5 | Aconsejable | Usa etiquetas de puntuación. Las etiquetas de puntuación son pequeñas cantidades de datos adicionales que se pueden enviar junto con las puntuaciones. Por ejemplo, puedes implementar una etiqueta de puntuación como una marca para confirmar que la puntuación que envió el jugador sea válida. Las tablas de clasificación personalizadas también pueden leer los datos de estas etiquetas. Por ejemplo, si la etiqueta de puntuación consta de un ID de un video de YouTube que contiene la grabación de una partida del jugador, tu juego podría crear un vínculo a ese video en la tabla de clasificación. |
3.6 | Aconsejable | Diseña tu propia IU para la tabla de clasificación de manera creativa.
Si tienes los recursos necesarios, crea tu propia vista personalizada de la tabla de clasificación en función de los datos de las tablas de clasificación sociales. Las tablas de clasificación sociales suelen generar una experiencia más atractiva que las públicas. Determina primero si hay publicaciones en la tabla social y, si no las hay, usa la pública. |
3.7 | Aconsejable | Muéstrales a los jugadores cómo se comparan con sus competidores.
La API de tablas de clasificación admite ventanas de puntuaciones (por ejemplo, el ranking de un jugador dentro de un rango de 10 posiciones aproximadamente). Si creas una vista personalizada, esta puede ser una manera muy eficaz de promover la participación. Puedes mostrarla justo después de una transición crítica en el juego, como al final de un nivel o cuando muere el personaje del jugador. Evita obligar al jugador a hacer clic demasiadas veces para acceder a la información de su ranking. |
4. Amigos
La siguiente lista de tareas se aplica a la implementación de las APIs de Amigos en tu juego.
ID | Importancia | Descripción |
---|---|---|
4.1 | Obligatorio | Cuando los jugadores aparezcan en una lista, muestra el ícono de Play Juegos junto a los usuarios que tienen un perfil de Play Juegos.
Puede ser una lista de amigos existentes, una lista de amigos con los que se jugó recientemente u otra lista de amigos.
|
4.2 | Recomendación | Usa íconos diferentes a fin de mostrar cuáles usuarios de Play Juegos ya son amigos y cuáles aún no lo son, pero accedieron a Play Juegos.
Usa dos íconos para los usuarios de Play Juegos: uno para "Amigos" y otro para "No amigos" (o cuando se desconoce el estado de la amistad).
|
4.3 | Recomendación | Llama a loadFriends() cada vez que accedas y muestra la lista de amigos a los efectos de asegurarte de que esté actualizada. Asegúrate de que los jugadores vean la lista actualizada.
|
4.4 | Práctica recomendada | Si tu juego ya incluye un sistema de amigos, usa las APIs de Friends para agregar a los amigos de Play Juegos y así aumentar la cantidad de amigos de la lista. Si un jugador se encuentra en la lista de amigos del juego y también es un amigo de Play Juegos, muestra el ícono de "Amigos". |
4.5 | Práctica recomendada | Si un jugador rechazó la solicitud de acceso a su lista de amigos, no muestres el diálogo que lo solicita nuevamente, a menos que el usuario haya realizado una acción para indicar que quiere otorgar acceso (por ejemplo, presionando un botón "Importar amigos de Play Juegos"). |
4.6 | Práctica recomendada | Si un jugador rechazó el acceso a la lista de amigos, bríndale una forma de otorgar ese acceso en el futuro (por ejemplo, después de presionar un botón de "Importar amigos de Play Juegos"). |
4.7 | Recomendación | Si usas el ID de jugador o la lista de amigos con un servidor de backend, debes acceder al ID o a la lista de forma segura.
Además, en el caso de algunos juegos y jugadores más antiguos, es posible que el ID que muestra el SDK de Android para un jugador no sea el mismo que ven otros jugadores cuando observan a ese jugador en el mismo juego. En particular, esto resulta relevante cuando se usa la lista de amigos. Sin embargo, el player_id que se muestra dentro de la API de REST siempre es coherente y siempre es el ID visible para otros jugadores.
|
5. Cuota y límite de frecuencia
Las siguientes listas de tareas se aplican a la administración de la cuota y el límite de frecuencia en el juego. Para obtener más información sobre cómo administrar la cuota de tu juego y detectar cuando se supere el límite de frecuencia, consulta Cómo administrar la cuota y el límite de frecuencia.
ID | Importancia | Descripción |
---|---|---|
5.1 | Recomendación |
Usa las bibliotecas cliente.
Las bibliotecas cliente para dispositivos móviles emplean una serie de estrategias para reducir la cantidad de llamadas que se realizan al servicio. Por ejemplo, los datos de logros y tablas de clasificación se almacenan en caché. De ese modo, los jugadores pueden verlos cuando quieran sin que el servicio deba realizar varias llamadas. La biblioteca cliente de Android no enviará la puntuación del jugador al servidor a menos que sea tan buena como la más reciente. Además, la biblioteca de Android combina automáticamente las llamadas frecuentes a logros incrementales cuando detecta que se está limitando la frecuencia. |
5.2 | Aconsejable |
Combina las llamadas frecuentes a logros incrementales.
Si creas un juego de peleas y uno de los logros es "Lanzar 5,000 golpes", no envíes una llamada de logro incremental cada vez que alguien lance un golpe. Espera hasta que termine el asalto y, luego, envía una llamada a |
5.3 | Aconsejable |
Mantente al tanto de tu uso.
Sé consciente de la cantidad de llamadas que hagas a los Servicios de juego de Google Play. Incluso si evitas alcanzar los límites de frecuencia, las llamadas frecuentes pueden generar un tráfico de red alto y ocasionar que la batería del dispositivo se agote más rápido. Para evitar esto, puedes usar las siguientes técnicas:
|
6. Juegos guardados
La siguiente lista de tareas se aplica a la implementación de la función Juegos guardados en el juego.
ID | Importancia | Descripción |
---|---|---|
6.1 | Obligatorio |
Agrega metadatos a fin de proporcionar contexto adicional para los juegos guardados.
Como mínimo, debes incluir los siguientes metadatos para confirmar un juego guardado:
|
6.2 | Obligatorio |
Permite que los jugadores carguen los juegos guardados.
Carga el juego guardado correcto cuando el jugador lo seleccione, ya sea desde la app de Play Juegos o en la IU de selección de Juegos guardados predeterminada. |