Is Google Play multiplayer p2p only? - android

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.

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.

Google Play Games Services Skill Based Matchmaking Algorithm

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.

How to match/pair random users in mobile app games?

How to match/pair random users in mobile app games like DrawSomething and QuizUp
is there any sample resuable code available that can be integrated with respect to Gamecenter/Google Play Game Services.
It's a pretty straight-forward process to randomly match up players. The best place to start is the concept documentation: https://developers.google.com/games/services/common/concepts/turnbasedMultiplayer
then check out the samples on GitHub, especially the SkeletonTBMP.
https://github.com/playgameservices/android-basic-samples

How to make Android Multiplayer Games using Facebook friends? (Google Play Game Services uses G+ only)

At the risk of this question being marked 'research' or 'too broad', I am placing this question here with the research I have done so far (to count as background work), especially since I have been researching this for a while but have not found a good turnkey solution. thank you for your inputs!
I want to make Turn Based Multiplayer Game. I found Google Play Game Services but that only works with Google+ Login: https://developers.google.com/games/services/android/turnbasedMultiplayer
How do I do the same with Facebook login? Can Google Play Game Services be used with Facebook friends?
In my research, the other option I found is nextpeer.com, but not sure if they can do a turn by turn based. I think i have to send player to player messages directly to achieve the turn based player, dont want to do that.
EDIT: After I posted the question, i found Android Games Tutorial with Facebook SDK - trying to understand if turn based game can be done using Facebook SDK.
Can it?
Disclaimer: I am a Nextpeer employee.
Hi,
Nextpeer does not offer a turn based solution at the moment. However, we do have an asynchronous gaming mode in our Facebook matches mode. In this mode players can either play synchronously together or asynchronously. In the second case, a player can play and the recording of his gameplay will be played to his opponents when they choose to play. Does this answer your need?
I'll be glad to discuss further privately, just email us at support#nextpeer.com and ask to talk to Dror.
I have been looking for a solution on similar lines aswell, and I guess we have a solution that can be helpful for others as well. Just looking forward to integrate it. You can find the required documentation here

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