In this post I want to give you a brief insight into Google Play Game Services (GPGS). GPGS was announced on the Google I/O 2013. It consists of different services, which provide features like leaderboards, real-time multiplayer, achievements and cloud save for cross-platform games. The APIs are available for Android, iOS and Web through the Play Games services SDK. Some features require an authentication of the player, which is done via G+ login. To us this service a new game must be created in the Google Play Developer Console so that the supported platforms with their credentials could be added.
Testing and Publishing
A newly added game is initially in the testing phase. In this phase, only enabled G+ accounts can take part in the test and features of the GPGS integration can be edited. Once the game is finished, the publish phase can be activated. In this phase, some settings are unchangeable (see further explanations) and each player can participate.
Achievements increase the players engagement with the game and reward experiments with the different play styles of the game. They show players progress and allow them to get in competition with other players. A achievement in GPGS consists of the attributes Id, Name, Description and Icon. The different achievements can be ordered by the developer. The Google Play Game Services defines a life cycle for every achievement. It’s either hidden (achievement details are hidden from player), revealed (hasn’t unlocked yet) or unlocked.
The Google Play Game Services allows two ways to unlock achievements. On the one hand a achievement can be unlocked when a certain action has been performed. On the other hand, incremental achievement allow gradually tracking of the progress. In practice the partial progress is reported to GPGS and the incremental achievement unlocks, once a critical threshold is reached. For this case, a point value can be given, from which on the achievement will be unlocked. To publish a game with Google Play Game Services it must at least contain five achievements. Once the game with a certain achievement has been published, it can’t be deleted.
Leaderboards are an important source for competition among the players. They allow your players to show their best performance and to vie for the top spot. GPGS allows multiple (up to 70) leaderboards to compare the players by game content and level of difficulty. A leaderboard consists of the attributes Id, Name, Icon and the optional Limits (minimum or maximum score). The different leaderboards can be ordered by the developer and the leaderboard itself can be ordered by larger is better or smaller is better order. GPGS allows the score formatting numberic, time and currency to order the items in a logical way.
Cloud Save service provides the storage of application data for every player on Google’s server. It allows you to store savegames and settings, and the distributed use of these data on multiple devices and platforms. The service consist of up to four data slots to save and load data for each player. Each slot has a size of 256 kilobytes and is saved as a byte array. Cloud Save uses a additional version identifier string for the saved data. This helps to encounter version conflicts when attempting the saved data and solve this conflicts.