question

David Coombes avatar image
David Coombes asked

PlayFab roadmap, databases, and competitiveness with AWS and Google (in Unity)

I'm evaluating three different cloud solutions for Unity development. PlayFab gains marks for its clear cross-platform solution that works on consoles out of the box. However, its services are quite specific where the other options provide for broader flexibility in the likes of custom databases structured however we see fit.

I'm specifically wanting to enable cloud saves between PC, mobile and consoles at the moment, but my next game will be more involved. AWS would allow me to create a database on individual levels played (out of 2000) and just update them individually whereas it looks like I'd need to store a single file representing the current state in PlayFab.

Researching, you also see things like having to use 'currency' as life tokens. That is, PlayFab seems designed around an assumption of a game's structure - players, characters, currencies, inventories - and some of those concepts really clash with other games.

Is there any idea what PlayFab will evolve into over time? Past requests for a roadmap going back a couple of years received a response of 'no such thing', implying to me there's no clear vision as to where to take PlayFab. Can we expect things like our own NoSQL databases? Or is PlayFab going to remain in this specific structure and our game interfaces are going to have to fit in with the concepts PlayFab is designed around?

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Jia Wei Chan avatar image Jia Wei Chan commented ·

David, I am thinking of synchronize data, and provide best performance service as possible.
If you using database (sql/nosql), you really have to benchmarking a lot.

To avoid time consumption learning and faster POC, and focus on pricing (compress/bandwidth), I am thinking sharding and partitioning s3 might be good choice. You just need to make sure your load balance good REST server to S3. It should be easily around 3k/per second to 10k/per second, or
possible https://aws.amazon.com/about-aws/whats-new/2018/07/amazon-s3-announces-increased-request-rate-performance/

If the revenue model is good, You should able to hire 1 or 2 more people on performance optimization when reaching around 10-100k users.


(I am thinking linking entity ID to Cloud storage, so i just have to verify any potential security even I call it from Cloud server)

0 Likes 0 ·
Jia Wei Chan avatar image Jia Wei Chan commented ·

(If ValidateEntityToken are suitable in this case, maybe key rolling would be good enough for this)

0 Likes 0 ·

1 Answer

·
brendan avatar image
brendan answered

We already offer open-query databases via our Azure offerings. If you mean you want to query into the data used by the PlayFab API calls (commerce, player data, etc.), we specifically do not provide direct database access as that's one of the most common issues developers encounter with backend service usage - queries that either do not scale effectively at high volume, or simply have bugs. Designing a query to scale to any level is not trivial. Over the years we have been running PlayFab, we've scaled to hundreds of millions of MAU, with correspondingly high RPS. And throughout that, we've had multiple points at which we found issues with existing, previously well-behaved queries, starting to show performance issues. In each case, we've redesigned the code and queries on our side to accommodate higher volumes.

We designed PlayFab with as much flexibility as we can (multiple data systems, Cloud Script for server-side logic without the need for dedicated servers, etc.), but we also designed it to minimize the amount of 24/7 Ops work you have to do. In cases where you write your own queries or services, you have to be the Ops team for those. If you're having trouble seeing how to build a feature you have in mind using our services, feel free to post a detailed question about that design. Our team can provide feedback on how best to use the services to build what you have in mind, or offer alternatives to get you there.

2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

David Coombes avatar image David Coombes commented ·

Hiya. Having worked more through the documentation, and finding the White Paper at the end, and experimenting, I can see that the current system is probably flexible enough. The major issue is the way its presented makes it unobvious at first glance. You could really do with some hypothetical game models to illustrate different ways of using the system, rather than encouraging everyone to jump into 'quickstart guides'. Page one, "What is PlayFab," show an overview of the parts illustrating 3 or 4 different game types.

eg. The term 'character' to describe an arbitrary child database makes one think PlayFab is built around an RPG and only really fits that sort of game or something similar. Yet in a card battler, a 'character' could be used to define a particular deck. In a shooter, there could be just one player character and the 'character' databases could be used to record details of specific custom-designed weapons.

When evaluating the three solutions, PlayFab manages to obfuscate a lot of its potential in the way it's described and presented. I'm probably not the only dev who looks at it and thinks, "I'm not making an RPG with an inventory," and feels PlayFab unsuitable. ;)

0 Likes 0 ·
Jia Wei Chan avatar image Jia Wei Chan commented ·

I agree with David. It would great to have documentation. It could be any example game from various genre. From my perspective, from authentication, there is more feasibility on GameSpark. PlayFab actually have the most generous 100k MAU of decent price. That why I am considered PlayFab more. Regardless PlayFab is still good enough. It just need to drive the efficiency more (Provide decent documentation so every customer optimize enough), thus also saving cost on PlayFab side. Therefore, we have economy efficiency here.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.