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
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?