mocelet
16/05/13, 14:17:16
Ya ha sido presentado el esperado servicio de juegos de Google, bautizado como Google Play Game Services.
La documentación oficial está en https://developers.google.com/games/services/
Características más importantes:
- Soporta logros y marcadores tanto globales como de amigos
- Soporta (muy rudimentariamente) establecimiento de partidas P2P multijugador en tiempo real (nada de gestión de juegos por turnos o soporte de servidor externo como sí hace el Game Center de Apple)
- Soporta sincronización de datos en la nube (Cloud Save: partidas guardadas, opciones, etc.)
- Usa la cuenta de Google+, que en Android es solo un par de clicks
- Es multiplataforma. Tiene un API REST y además bibliotecas para facilitar su uso en Android (a partir de la versión 2.2) e iOS.
- Ligado al anterior, en Android tiene algunas ventajas, como la integración con Google Play para determinar si una app de pago ha sido comprada o no. Además, en Android la biblioteca es un cliente ligero y la parte pesada del trabajo la hace el propio Google Play que, recordemos, se actualiza solo. Ventaja: no habrá que estar actualizando la biblioteca y por ende el juego cada vez que corrijan un problema de seguridad o un bug importante.
Opiniones personales
- Hacía falta, aunque se queda corto. El tema de los juegos P2P no sé cómo lo van a hacer con la de NATs y firewalls que hay por el mundo (no han dicho si usan un servidor de relay en caso necesario, eso sí sería muy interesante). Además de que la lógica de gestión de la topología recae enteramente en el desarrollador. A priori sigue siendo más indicado un servidor.
- De hecho para juegos me ha parecido más interesante una novedad del GCM: la mensajería bidireccional a través de Google Play y las conexiones persistentes GCM-servidor propio.
- Los logros y marcadores son pirateables fácilmente (1), basta saber el identificador del logro en cuestión o del marcador, que tiene que ir en el código de la app obligatoriamente y descompilando con herramientas adecuadas podrían encontrarse salvo que se ofusque un poco la creación de los ids. Moraleja: huir de las cadenas static con los identificadores.
- No sé cuánto gustará a la gente la pérdida de anonimato, la falta de un nick y en su lugar usar tu nombre y apellidos no me parece muy apropiado. A mí particularmente me puede gustar que salga el nick en la lista de marcadores, pero no que aparezca con mi foto y mi nombre y toda la info pública que tenga en Google+.
Iré comentando experiencias de la integración en mis juegos, de momento tal vez solo para el cloud save y los logros.
EDITO:
(1) - Es pirateable fácilmente en el caso habitual de que la aplicación cliente le diga a Google Play Games que tiene el logro. Sin embargo, es posible hacer la llamada desde un servidor externo y se torna prácticamente iniviable piratear las puntuaciones, si bien es un poco más complicado (hace falta el servidor, intercambiar credenciales con el cliente y hacer las peticiones desde el servidor).
La documentación oficial está en https://developers.google.com/games/services/
Características más importantes:
- Soporta logros y marcadores tanto globales como de amigos
- Soporta (muy rudimentariamente) establecimiento de partidas P2P multijugador en tiempo real (nada de gestión de juegos por turnos o soporte de servidor externo como sí hace el Game Center de Apple)
- Soporta sincronización de datos en la nube (Cloud Save: partidas guardadas, opciones, etc.)
- Usa la cuenta de Google+, que en Android es solo un par de clicks
- Es multiplataforma. Tiene un API REST y además bibliotecas para facilitar su uso en Android (a partir de la versión 2.2) e iOS.
- Ligado al anterior, en Android tiene algunas ventajas, como la integración con Google Play para determinar si una app de pago ha sido comprada o no. Además, en Android la biblioteca es un cliente ligero y la parte pesada del trabajo la hace el propio Google Play que, recordemos, se actualiza solo. Ventaja: no habrá que estar actualizando la biblioteca y por ende el juego cada vez que corrijan un problema de seguridad o un bug importante.
Opiniones personales
- Hacía falta, aunque se queda corto. El tema de los juegos P2P no sé cómo lo van a hacer con la de NATs y firewalls que hay por el mundo (no han dicho si usan un servidor de relay en caso necesario, eso sí sería muy interesante). Además de que la lógica de gestión de la topología recae enteramente en el desarrollador. A priori sigue siendo más indicado un servidor.
- De hecho para juegos me ha parecido más interesante una novedad del GCM: la mensajería bidireccional a través de Google Play y las conexiones persistentes GCM-servidor propio.
- Los logros y marcadores son pirateables fácilmente (1), basta saber el identificador del logro en cuestión o del marcador, que tiene que ir en el código de la app obligatoriamente y descompilando con herramientas adecuadas podrían encontrarse salvo que se ofusque un poco la creación de los ids. Moraleja: huir de las cadenas static con los identificadores.
- No sé cuánto gustará a la gente la pérdida de anonimato, la falta de un nick y en su lugar usar tu nombre y apellidos no me parece muy apropiado. A mí particularmente me puede gustar que salga el nick en la lista de marcadores, pero no que aparezca con mi foto y mi nombre y toda la info pública que tenga en Google+.
Iré comentando experiencias de la integración en mis juegos, de momento tal vez solo para el cloud save y los logros.
EDITO:
(1) - Es pirateable fácilmente en el caso habitual de que la aplicación cliente le diga a Google Play Games que tiene el logro. Sin embargo, es posible hacer la llamada desde un servidor externo y se torna prácticamente iniviable piratear las puntuaciones, si bien es un poco más complicado (hace falta el servidor, intercambiar credenciales con el cliente y hacer las peticiones desde el servidor).