Google Play Games Services Skill Based Matchmaking Algorithm - android

I've been looking into using the Google Play Services multiplayer functionality for a game and I was wondering if it would be possible to implement a matchmaking system like HoN/LoL/DotA2 (and plenty of other games) where each player has a skill rating and gets matched into games with players of similar skill, and if they wait too long then they can get matched against players further away from their skill level.
The only thing I've come across that gives you control over the Google Play matchmaking algorithm is the ability to specify an exclusive bitmask, but I don't see how that can be used to achieve what I want.
Does anyone know of a way to implement a dynamic skill based matchmaking algorithm in Google's system, or an alternative system that I could use (preferably free)?

You could use the setVariant(int) method when building the room. That way you only need to pass skill level to the method and only players on the same level will get matched up.
Although I don't think Google Play Games Services provide a way to expand the set of players the current player can get matched up against.

Related

Using Saved Games API and Turn-Based Multiplayer API

On the Google Play Games Services developer website, it says:
Warning: Using the Saved Games API together with the turn-based multiplayer API could cause version conflicts because the save game and match data are not updated synchronously. To avoid these conflicts in your game, pick and use just one API to save your game state.
I am working on a game where I plan to use both APIs, and I'm curious if I will experience a conflict. I am creating a turn-based strategy RPG, where you can have multiple battles going on with friends (using the Turn-Based Multiplayer API). At the end of each battle, your character and soldiers earn XP and items. These are going to be saved using the Saved Games API. The two APIs won't need to interact at all.
Should I be concerned about this warning?
I would say yes, because it is coming from the Google itself. They put this warning to notify the developer that if they use Saved Games API and turn-based multiplayer API resulting in an error, these two API's will be the reason for that error and the developer can easily identify the cause of it. So they recommended that you need to pick and use just one API between the two to save your game state and avoid any error or conflicts in your game. Hope it helps you.

Basic Google Maps/Mobile App integration questions

I'm in the research (what's doable) phase of a possible app development project.
My potential app will be a trip app that lists all stores and drug stores. Is is possible for my app (regardless of platform) to integrate Google Maps (or some other maps database) to provide:
turn-by-turn guided directions?
interactive list of stores and drug stores between start and final destination so that I can choose my preferred stops?
calculate time/distance to each chosen stop?
ability to add other parameters to each stop?
I found another app that functions similar to my app idea but I'm not sure if the GPS navigation functionality and limitless list of places has to be built from scratch or can integrate with an existing tool like Google Maps API and if there's a charge if I'm charging for my app.
You can make requests like that. It might be best to build for the platform. Ie. If it's iOS use Apple Maps for ease of use, and google for Android. However, if you're going to build cross platform go with google. Might have it issue separate queries for different data.
No they will be use normal google map API most of cases but if JavaScript call is increase they will buy premium plane because google provide 1000 JavaScript call in a day you will increase limit at 100000 by simply register you credit card which was well inaf for new comer also for mid range user and little bit heavy user.but in premium plan google give more facilities to there customer. you can get more info at https://developers.google.com/maps/premium/

Is Google Play multiplayer p2p only?

I am implementing multiplayer android game. I am considering using some API to handle multiplayer. I decided to AppWarp and actually it works but I am afraid that game won't earn fo itself as this is paid service.
I've read about google multiplayer but I cannot find clear answer for my question. Is it P2P only or it's possible to configure it with server usage?
I am afraid of using P2P because of huge lags and that it can make the game unpleasant to play.
Bonus question:
Is it possible to set up leaderboard which i can treat as ranking (adding and subtracting points?). Or maybe some google cloud storage with some raw data which I would be able to update through some REST. I know that it exists but what are your experience with that? Can i treat it as some simple database where I would be able to store at least username and number of points which I would be able to add or subtract after winning or losing a match?
Maybe you know other services which you have experience with?
As far as I understand from Real-time Multiplayer, server usage plays a very important function in the design and implementation. One of these functions is:
Stores participant and room state information on the Google Play games services servers during the lifecycle of the real-time multiplayer game.
Server usage was further discussed in the given concepts related to the typical lifecycle of a real-time multiplayer game given in Real-time multiplayer game basics.
Leaderboards, on the other hand, is possible to set it up and treat it as ranking among your players. As mentioned in the documentation:
Leaderboards can be a fun way to drive competition among your players, both for your most hardcore fans (who will be fighting for the top spot in a public leaderboard) and for your more casual players (who will be interested in comparing their progress to their friends').
For more information, it will really be helpful to go through the given documentations.
In addition to that, I think the given technical and design solution given in this Stack post - Mobile Multiplayer games and coping with high latency will also help you.

Show Google Game Services support in Google Play

I have released a game that uses Google Game Services on Google Play. Everything works, but when I look on my game in Google Play it doesn't show that it's using Game Services. Some other games do (like Riptide GP for instance). What is controlling this?
Implementing the Google Play Game Services features is not sufficient, your users have to use the service for you to get the badges.
Let me quote from this video from Google I/O 2013: Practical Android Games Development
http://youtu.be/ZbQWf7C5ymU?t=23m39s
"As you get more users you will get badges. [...] However, they are not just given out because you put them in the config, and we don't snoop your APK to see if you are making API calls from there. We verify how much the feature is being used and if you meet certain threshold we give you a badge. So you need to actually integrate it, it is not a token thing that you can put there to get more eyeballs in the store."

How to get leader board and achievement information in Google Play Game Service

I'm programming a simple game to learn Google Play Game Service. After playing the game, the user will get a score. I want to get information about old high scores (to compare with recent score), or whether I get new high rank in my circle or not, or what achievement I unlocked. So, please help me how to get this information.
You can download achievement information as in this answer.
I believe that a similar way can be used to obtain leaderboard data with getGamesClient().loadLeaderboardMetadata()
AFAIK Google Play Game Services is not intended to work like this. The basic idea is that you submit achievements and scores to GPGS and it then does the rest. The user gets the information he/she is interested in by looking at the relevant achievement/leaderboard. If you really need to track and display all this information in your app then maybe you should implement your own system instead of using GPGS?
One important design consideration with GPGS is to avoid unnecessary API calls from your app (presumably because this costs Google money). If you were to query leaderboards and achievements in your app (say every second or minute) then the number of API calls each time your game was played could easily increase from a handful to hundreds or even thousands per play.
To get a better understanding of how Google would like you to use Google Play Game Services I recommend that you read the documentation and watch this recent video made by the GPGS team
:
Top 7 Google Play game services setup mistakes — Google Developers
https://developers.google.com/live/shows/5936979195723776

Categories

Resources