Matt avatar image
Matt asked

How to implement 30-man leagues

Hey folks,

So specifically I'm looking to do the following (similar to other games):

1. There will be 10+ Leagues (i.e. bronze, silver, gold, platinum, diamond, etc). They represent the player's PvP progress and provide some in-game bonuses.

2. Players will be part of a group of 30 in whatever league they all belong.

3. Every X days the groups are processed and the top Y players (fewer in higher leagues) advance to the next league level.

4. Majority of players earn a reward based on their performance

I'm not familiar with Shared Groups or the new Entity system, but hopefully one of them can achieve this. I can adjust the design if need be, though that's really exactly what I'm looking for.



Player DataentitiesShared Group Data
10 |1200

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

1 Answer

brendan avatar image
brendan answered

Shared Group Data was added to allow for sharing of data between a small number of players - think a dozen or less - and for cases where there's no concern about players attempting to write to the same data at the same time. Basically, it was designed to handle cases where titles needed to share data for turn-based games.

Entity data was designed for Groups/Teams/Clans, which means they were meant for cases where you may have 100 or so players sharing data.

What you're looking for is a system that bucketizes players into discrete, small groups, and moves players between those groups automatically as part of evaluation of the group at the end of a period of time. We will be adding a feature to support that in a future update.

10 |1200

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

Matt avatar image Matt commented ·

Thanks for the breakdown.

And yes, that's basically exactly what I need. This is a highly desired feature for the game, is there any other way to implement this?



0 Likes 0 ·
brendan avatar image brendan Matt commented ·

Sorry, but what you're describing is a data system where a shared piece of data (the top level of the grouping info) can be updated by massive numbers of players at the same time. Since a generic data system that allowed for that would be too expensive, the key is to design a service that's specifically scoped to the requirements. That's exactly what we'll be doing as part of the update to the leaderboard system - designing for a grouping system so that you have buckets of 100 or so players, across the entire user base. Since we do not have that system today, you would need to use an external data set to accomplish this right now. We'll post more info on the upcoming roadmap as soon as we can, but I can say that this feature will not be available in the next couple of months, at least.

0 Likes 0 ·
Valiant John avatar image Valiant John brendan commented ·

Can you tell me this feature already exists or when this feature is going to be implemented? Is it in your road map? How long we have to wait for this feature to be implemented?

0 Likes 0 ·
Show more comments

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.