Sign In Register

How can we help you today?

Start a new topic

GameSparks as BaaS for our project

I guess many of my questions have been asked​/answered individually on the forum, but I would like to have a general idea about how can GameSparks solve all my backend/server requirements for our project.


I have used "custom" back-ends in the past and used Web-services for comunication, and I wonder how similar is GameSparks in that sense.


We will be using Unity + Photon (it's 100% multiplayer game).


I'm going to use Clash Royale as an example for the features we are looking for, since it's a well known game:

I will use the work OK on things I already know GameSparks supports perfectly.


1- User guest & Facebook/GameCenter login. (ok)

2- Virtual currency, both soft and hard currency. (ok)


3- DataBase: Does GameSparks provide a DataBase to store all the "items" the users get? In this case the items will be cards that represent the units, and chests where you get the cards from. To which stent can I access that DataBase, create my own tables and so on?


Each unit would have several fields for the stats (level, damage, speed etc.) and those stats would change whenever the player upgrades the unit.


4- Timed rewards like Chests, were oppening a chest takes X time depending on the type of chest. To avoid time-hacking this should be handled server-side as much as possible. Tycoon games use this feature a lot for construction times.


5- Cards/units are divided in Normal, Epic and Legendary, and they have different drop rates. All that should also be configured in the server-side. Every time a user opens a chest, the server will tell the client which items are inside that chest. Also different chests can drop different Units.


6- Daily or weekly events: Clash Royale sells different cards for soft currency every X time in the store. Could I configure that with GameSparks?


7- Player ELO ranking and matchmaking. If there are not available players in, lets say 20 seconds, the game will create a game against a bot (ideally player won't know it's a bot).

​I would like to have different bots for different rankings (easy, medium and hard). The match will affect both players like in any other match. Bots will rise/decrease ELO ranking depending on their performance, but we should be able to modify their ELO manually.


Is there any way to have bots like if they were players? They would have name, items (units) etc. basically everything a normal player has and the matchmaking system will use one of them if no real player is found.


8- Friends and Custom Games. Since we are using Photon for the multiplayer, not sure if closed matches between friends would be handled by us manually with Photon (creating a room for them), or if GameSparks already provides this feature.


9- Scalability: If the game is being played by thousands of players simultaneously, does GameSparks has a good scalability system?

 

So I'm pretty sure everything I have mentioned above can be done in one way or another, but I would like to know if GameSparks can do it out of the box, or if there'd be need to code custom server logic. If custom server logic is needed, does GameSparks also provide a server? Should we get our own from Amazon? And in which programming lang. is the custom server logic programmed?



Hi, I'm kinda working on something similar and using GameSparks for it and I think it fits perfectly, with GS you can achieve almost anything.


3. Yes GS have mongodb which is great! https://docs.gamesparks.com/tutorials/database-access-and-cloud-storage/saving-and-loading-player-inventory-data.html  


You can even create Admin Screens for everything, I've made a very sophisticated admin screen to manage cards of different tiers


4. I made this feature with cloud code event by just storing the last time rewarded in player's private data and check against that to give the player a reward in the server of course. This is another way of doing this: https://docs.gamesparks.com/tutorials/cloud-code-and-the-test-harness/scheduling-cloud-code.html , actually this one could be better because you can send the player a message notification whenever the reward is available.


5. The HearthStone tutorial will help you: https://docs.gamesparks.com/tutorials/multiplayer/hearthstone-example/


6. Same as #4


7. You can add cloud code to the MathNotFoundMessage to create a new Match making request against a bot.


8. I've replicated HearthStone system identically with GameSparks :), I use their RealTime service for multiplayer instead of Photon, you could use Photon but RT its tightly integrated so you can handle the whole gameplay easily in the server. https://docs.gamesparks.com/tutorials/social-features/creating-custom-friends-lists.html


9. As far as I know yes they do, you can tell by the games or companies that use this service.


Cloud code is very flexible you can create custom cloud code or modify every message, response or request from GS

https://docs.gamesparks.com/getting-started/using-cloud-code/


1 person likes this

Hjupter Cerrud thanks a lot for your help! Really appreciate the effort and time you took to answer my questions :)

Hi. How do you access the database in RealTime scripts if you can't use Spark API calls?

Login to post a comment