Hey guys.
I am working on a session based game where a player is supposed to be able to 'attack a random player'.
Each player has a level that they can make in the game and this is saved in the internal player data. So far so good.
Each player progresses through the game and gains levels. So players can be segmented by levels. This is fine too.
So, when an another player 'attacks', they should be able to find another player of the same level (does not matter if they are online or not), and get the level they have and load it in their game. Then when they complete it, they 'steal' currency from this player.
This starts being not so straight-forward.
I cannot use matchmaking feature because this requires the other player to be online to accept the session ticket.
I cannot use segmentation in my cloudscript query, because I cannot control how often this would happen to the server and would probably not get handled all too well if say I have 1000 players online and a 100 of them decided to roll for attack.
I cannot just roll for a random player as this does not exist and would probably be even less effective than the segment requests.
The current solution I have is a 'pool' of key value pairs containing the level and ID of the players that have created a level in the internal title data, from which I then roll and find one that corresponds with the level tier, then get the level from that player.
This has an issue that at one point the title data will just become too small to hold all players and so, the pvp will become unbalanced as not all players will be in the pool.
This can be mitigated with manual reshuffling and cleanups with automated events or some such, but still, perhaps there is a better solution?
Thank you.