The Get Players for Game function in ShuttleOps ensures games are as balanced as possible by selecting players based on availability, experience level, and game history. Here's a detailed look at how the system identifies players and prepares game rosters, so you know exactly what goes on behind the scenes:
1. Checking Existing Games
Before suggesting players for a new game, the system checks for any games on the selected courts that haven't yet started and might already have assigned players:
- If an existing game is found on the selected court and session, it’s deleted and any pre-assigned players are saved for the new game.
- If there are active games on the court, players can’t be added unless the
fillRemainingparameter is set, which allows filling a partially populated court.
2. Identifying Available Players
- Remove Players Already in Games: The system removes players already participating in other games during the session to ensure unique game rosters.
- Exclude Players Who Have Left: Players marked as having left the session are not included in game rosters.
This filtering ensures that only available players are considered.
3. Prioritising Players by Play History
- Prioritising New Players: Players who haven’t yet participated in a game during the current session are prioritised. This helps rotate players and give everyone a chance to participate.
- Sorting by Game Count: Players are sorted by how many games they’ve played, with those having fewer games prioritised for selection. This helps balance playtime across all attendees.
4. Skill Level and Matching Players
- Sorting by Skill Level: For players who haven’t played yet, the system sorts by skill level, ensuring that players in a game have similar skill levels when possible.
- Skill Difference Threshold: If the number of available players is low, the system may expand the skill level range by increasing the
skillDiffsetting. This gradually increases the skill range to allow a more diverse group of players to join without unbalancing the game.
5. Finalising the Game Roster
- Setting Player Count: The target number of players for each game is four, so the system adds as many players as needed to reach this count.
- Adding Extra Players by Skill Match: If fewer than four players are available from the list of prioritised players, additional players with similar skill levels are added until the player count is met.
Once four players are selected, a new game is created with the finalised roster. If fewer than four compatible players are found, the system will prevent the game from starting.
Key Tips for Players and Club Managers
- Skill Level Settings: Club managers can adjust the
skillDiffsetting to modify how closely players are matched by skill, allowing more or less balanced games based on the group. - Game Priority: Players who haven't played are given priority, helping everyone have a fair chance to play.
- Initial Players: Using the "Fill Remaining Players" option allows you to select a few players who you want to be on the court, and let the system decide who is best for them to play with.
This transparency in the player selection algorithm helps ShuttleOps keep games fair and enjoyable for all players!
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article