Webgame Achievements
J’en avais vaguement parlé dans un précédent billet, et c’est aujourd’hui chose faite !
« Achievements » est en ligne dans une première version et n’attend plus que des jeux se joignent à l’aventure pour prendre son envol.
Comme l’explique SorenS, Achievements permettra aux jeux par navigateur de fidéliser un peu plus leurs joueurs avec un service simple à mettre en place.
Une classe PHP permet de communiquer avec l’API et gère l’affichage du résultat pour les joueurs. Le résultat est visible sur les démonstrations, qui utilisent la même API que les jeux. Ces démonstrations sont avant tout destinées aux futurs éditeurs du service afin de comprendre les différents types de succès qu’il est possible de mettre en place.
Grâce à un système de cache évolué aussi bien côté serveur que côté client, le service est rapide et ne fait pas plus de requêtes que nécessaire.
Par exemple, si un joueur a déverrouillé un succès, alors aucune requête ne sera faite à l’API. De la même manière des vérifications permettent lors de l’édition d’un succès de débloquer le cache afin de refaire des requêtes vers l’API lorsque le joueur effectuera des actions sur le jeu. Tout cela étant évidemment transparent, car il n’y a que 3 méthodes pouvant être appelées.
// Un singleton pour utiliser un joueur en particulier $myAchievement = Achievements::getInstance( 'emaildujoueur@mondomaine.com' ); // Une fonction lorsqu'un joueur se connecte au jeu $myAchievement->playerPlays( 'login' ); // Une fonction pour mettre à jour un succès try { $myAchievement->updateAchievement( 'clé du succès', 'valeur' ); } catch( Exception $e ) { echo 'Exception: ' . $e->getMessage(); die(); } // Une fonction à n'utiliser qu'en fin de fichier avant la fermeture de <body> // pour gérer l'affichage du joueur concerné par l'instance. $myAchievement->printStatus();
Le service est fourni avec un back-office complet qui permet aux éditeurs d’être globalement autonome dans la gestion de leurs jeux et de leurs succès. Il est gratuit, et le seul retour se situe lors de l’affichage des succès pour le joueur, afin de le rediriger sur son profil. Concernant les emails, ils ne sont pas envoyés au service. Tout fonctionne grâce à une clé unique générée pour chaque email.
Ce service est trés intéressant. C’est ce qu’il manquais je pense à la communauté de jeux en ligne.
Je l’implémenterai pour un jeu en ligne que je développe actuellement.
Une version en Ruby de l’API sera disponible ?
En tout cas bravo Anthor.
Pour le moment il n’y en a pas, mais ça ne doit pas être complexe.
Merci pour le retour.