Sign In Register

How can we help you today?

Start a new topic
Answered

We are considering to change our backend solution, so we have few questions...

Our game (made with Unity) is live with another backend solution (currently in soft launch) but we are very interested with GameSparks for a lot of reasons. But before doing the move, we need to have some answers...

1. We have players that play against another player and we match them with win ratio, level, etc. But, to avoid the problem where a player is the only one at this level, we have added "bots" to fake real players. Anyway, it is in our "single player" mode where player fight against AI that plays with an another player stats, so it is not a problem. It is possible to manage (create/modify/delete) bots like any other players ?

2. Related to 1), it is possible with a playerID (retrieved when we found an opponent previously) to get opponent's data ? Like HP, attack, defense, spells, etc? The fight is simulated locally so we need all theses infos.

3. We have shared data (Item stats, game rules, etc.) that we want to be able to modify "on the fly" when we think a tweak is required... What is the best way to do that? Our game load the data at load, and use them internally during the game session. I saw somewhere on the forum that the database is cached on the device when we do querry? Maybe to put everything in a json is a better solution ? What is your opinion?


Thanks!


Best Answer

Hi Dany,


To answer your first question: 


This should not be a problem. GameSparks is built to be as open as possible to allow developers design their back end  as they see fit. Off hand I can think of a valid implementation for this. You could always cache a designated number of players as they existed previously.  I.e. the player when they were level 1,2,3 etc. These would be in JSON and their fields would be accessible. This data could be referenced for implementation with virtually whatever logic you can think of on your end. You could also trigger "bot" events using SparkRequests and SendAs/ ExecuteAs.  


Question 2: 

Through the use of challenge instance ID's or LeaderBoard running totals you can access the associated collections through events or just plain cloud code. For instance, I just advised another client on how to add and retrieve a players level, country, score and skill segment through our LeaderBoard and Events systems. This allows for basic matchmaking / match history referencing. In your case,these values would be JSON. They would be a set of player keys and values. Alternatively through cloud code you could store this data in a collection. the query that collection based on the id of our player using NOSQL and some basic JavaScript. 


Question 3: 

When a query is sent , we don't store the data on the device,instead we send a response. The usual implementation for functionality of this type  is to make a logEventRequest() that would make the query then store the data in the response locally. 


Question 4: 

Not currently, but this is doable on your end and should function in conjunction with GameSparks. 


Hopefully this contains all the info you needed. Any other questions and we are happy to help. 


Regards Patrick. 


I forgot a question!


4. Currently, our users can login with facebook, anonymously or with email. I saw you supporte Facebook, username/password, and anonymous login (with deviceID)... But, do you support email login (with email verification)?


Thanks!

Answer

Hi Dany,


To answer your first question: 


This should not be a problem. GameSparks is built to be as open as possible to allow developers design their back end  as they see fit. Off hand I can think of a valid implementation for this. You could always cache a designated number of players as they existed previously.  I.e. the player when they were level 1,2,3 etc. These would be in JSON and their fields would be accessible. This data could be referenced for implementation with virtually whatever logic you can think of on your end. You could also trigger "bot" events using SparkRequests and SendAs/ ExecuteAs.  


Question 2: 

Through the use of challenge instance ID's or LeaderBoard running totals you can access the associated collections through events or just plain cloud code. For instance, I just advised another client on how to add and retrieve a players level, country, score and skill segment through our LeaderBoard and Events systems. This allows for basic matchmaking / match history referencing. In your case,these values would be JSON. They would be a set of player keys and values. Alternatively through cloud code you could store this data in a collection. the query that collection based on the id of our player using NOSQL and some basic JavaScript. 


Question 3: 

When a query is sent , we don't store the data on the device,instead we send a response. The usual implementation for functionality of this type  is to make a logEventRequest() that would make the query then store the data in the response locally. 


Question 4: 

Not currently, but this is doable on your end and should function in conjunction with GameSparks. 


Hopefully this contains all the info you needed. Any other questions and we are happy to help. 


Regards Patrick. 

Thanks Patrick!

Dany,

I was reading through the forum posts and I came across your post and I just want to tell you that you don't need to worry about what can be accomplished with GameSparks. I've developed two games and one app that make intensive use of cloud code and it never let me down. Our apps use facebook login and device login, email/password registration, one on one and one to many challenges, push notifications, manually scheduled tasks, every minute/hour/day tasks, push notifications, over 200 different leaderboards, downloadables to store unity assetbunbles for our game levels. One app generates multilingual emails. The cloud code debugger is working well, performance is great. Good SDK integration. Nothing really negative to say. I highly recommend it. 


Christian

Login to post a comment