Jugar videojuegos instantáneos con amigos

Con los juegos instantáneos, hay muchas maneras posibles de que los jugadores interactúen socialmente.

Jugadores conectados

El método FBInstant.player.getConnectedPlayersAsync() recupera una lista de usuarios que están conectados con un jugador actual mediante Messenger. Este método solo devolverá los usuarios conectados que hayan permitido que el juego acceda a su información.

Nota: El método no diferencia entre jugadores que jugaron o que no jugaron en el mismo contexto. Puedes recuperar información específica de dicho contexto de FBInstant.context.getPlayersAsync().

Recuperar amigos del jugador

FBInstant.player.getConnectedPlayersAsync()
  .then(function(players) {
    _leaderboard.render(players);
  }); 

Recuperar jugadores de contexto

FBInstant.context.getPlayersAsync()
  .then(function(players) {
    _leaderboard.render(players);
  }); 

Cambiar contextos

Los juegos instantáneos se pueden jugar en muchos contextos diferentes, como conversaciones de Messenger o historias del feed. Con las llamadas al SDK que se indican a continuación, puedes cambiar contextos de cualquier sesión, independientemente de su punto de entrada. De esta manera, tus jugadores podrán cambiar a otras conversaciones sin que sea necesario abandonarlas y y volver a abrir el juego.

Ofrecemos tres métodos diferentes de cambio de contexto:

  • FBInstant.context.chooseAsync() abre un cuadro de diálogo nativo que permite al jugador seleccionar a qué conversación desea cambiar.
  • FBInstant.context.switchAsync(contextId) permite que el desarrollador envíe al jugador a un contexto predefinido (por ejemplo, para continuar un partido que comenzó previamente en una conversación diferente).
  • FBInstant.context.createAsync(playerId) intenta crear un contexto con el jugador especificado (por ejemplo, para iniciar una coincidencia entre un jugador y un amigo sugerido).

Jugar con otros jugadores con matchmaking

Proporcionamos herramientas para que tu juego lleve a los jugadores a nuevos contextos con nuestras API de contexto y de matchmaking. Notamos que las personas que juegan con otros jugadores terminan con mejor retención que los jugadores de contexto individuales. Hay una serie de motivos por lo que esto sucede:

  1. Las actualizaciones personalizadas en el contexto pueden proporcionar un punto de entrada convincente para retornar al juego.
  2. El juego social impulsa la retención, porque las personas se divierten más cuando juegan juntos.

Una dinámica social significativa en el propio juego hará que tu juego instantáneo resulte atrapante y emocione a los jugadores lo suficiente como para que compartan tu juego con todos sus amigos.

Uso recomendado:

  1. Usa la API de matchmaking para brindar a los jugadores la oportunidad de tener una experiencia de juego social independiente de las interacciones con amigos. Esta experiencia es especialmente útil en los juegos basados en turnos y en los juegos multijugador, pero también puede beneficiar a otros tipos de juegos si los jugadores no tienen amigos que jueguen un determinado juego, no los juegan con la suficiente frecuencia o, simplemente, quieren una experiencia de juego diferente.
  2. Intercambio de jugadores de IA si los oponentes aleatorios renuncian antes de que se complete el partido

Al llamar a matchPlayerAsync(), el juego intentará emparejar al jugador actual en un contexto con otro jugador. Agregamos un parámetro adicional para especificar si quieres que el juego cambie al contexto que se acaba de crear justo después de que se emparejó al jugador o si prefieres esperar hasta que el jugador haya hecho clic en Jugar en la tostada.

Existen dos mecanismos de emparejamiento:

  1. Emparejamiento sincrónico: empareja el jugador actual con otros usuarios que buscan gente con quien jugar. Si se logra, se creará un nuevo hilo de grupo de Messenger, que contendrá a los jugadores emparejados, y el jugador se cambiará al contexto de ese hilo. De esta manera, se resuelve la situación que se da si el jugador cambió correctamente al contexto coincidente que se acaba de crear.
  2. Emparejamiento asincrónico (obtener más información): se agregará el jugador que empieza offline de manera inmediata a un hilo de grupo con otros jugadores que comenzaron el partido offline antes. Los jugadores pueden abandonar el juego mientras esperan que se unan más jugadores. Una vez que se empareja al jugador, se lo agrega y se lo cambia al contexto de ese hilo coincidente. De esta manera, se resuelve la situación que se da si se agregó correctamente al jugador al hilo de grupo y se cambió al contexto coincidente.

El número mínimo y máximo de jugadores por defecto en un hilo coincidente son 2 y 20, respectivamente, en función de la cantidad de jugadores que desean emparejarse aproximadamente al mismo tiempo. Se pueden cambiar los valores en fbapp-config.json.