Hey everyone,
I've read through a few forum posts and documentation pages and can't find the proper way to handle the following feature:
Our game has "seasons", which last couple weeks and allow leveling a season pass and performing ranked games. In addition to this, we want to allow the player to join one of two "clans" when they purchase our season pass. Joining a clan will provide them with an item (that is already in place).
Further all player stats acquired during the season (right now just experience) will count for the clan too. At the end of a season, one of the two clans will have a higher amount of experience and sort of win, rewarding the players that are part of the clan with a few items.
Further at each given time, every player should be able to see the top 10 players as well as what place they are within their own clan, because at the end of the season, the top 3 players will receive additional rewards.
Now I can't really find a way to define and manage the clans with the giving PlayFab systems.
- Groups don't work as they are client handled and clients should actually never interact with the 2 groups despite viewing read only data. The clan data would only be updated server-side (cloudscript) after a match is over.
- SharedGroupData doesn't allow so many players to be in one group.
- Segments can't be created and handled via code.
I thought about creating a TitleData entry per clan and when a player joins a clan, I enter their id into an array in there. But that would also create a huge list of ids if a lot of players play the game.
Storing the list is probably not the issue, but since you can't really selectively query the title data entry, we would end up getting a huge clan data result on the client, containing all playerId (50% of the player if not more).
Isn't there a more database like system you peeps have? Ultimately I would love to have the ability to:
- Get the local players score/place.
- Retrieve the top 10 players of an ordered list (ordered by how many points they provided to the clan.
Cheers,
Cedric