Skill Rating Overview
A skill rating model tracks how good each player is, so your matchmaker can build fair, competitive matches. GameFlow computes and stores the ratings for you. You create a model in the dashboard, attach it to a matchmaker, and report the result of each finished match. Your game never hosts a rating system or ships rating math.
Skill Rating is in Alpha. The core loop (create a model, attach it, report results, read ratings) works end to end, but some controls are still being wired up and the API may change. In the dashboard it lives under Models.
What a rating is
GameFlow rates players with a proven, uncertainty-aware rating system. Every player's rating for a game is two numbers:
| Symbol | Name | Meaning |
|---|---|---|
| μ (mu) | Skill estimate | The system's best guess of the player's skill. Starts at 25. |
| σ (sigma) | Uncertainty | How unsure the system is. Starts high (8.33) and shrinks as the player logs matches. |
From those two, GameFlow derives a single conservative number you can rank and display with:
ordinal = μ − 3σ
A new player has a high σ, so their ordinal starts low and climbs as the system grows confident in their μ. Ratings are tracked per game, per game mode, and per season.
Where a model fits
A model is not wired into your game directly. It sits between the matchmaker and the match result:
┌──────────────────┐ ┌──────────────────────┐ ┌────────────────────┐
│ Create a model │ ───► │ Attach to a │ ───► │ Report results │
│ (Models, dash) │ │ matchmaker │ │ after each match │
│ μ, σ, β, format │ │ (Skill Rating Model │ │ → μ / σ updated │
│ │ │ node in the graph) │ │ │
└──────────────────┘ └──────────────────────┘ └────────────────────┘
- Create a model and set how ratings behave.
- Attach it to a matchmaker by adding a Skill Rating Model node and selecting the model. Tickets for that matchmaker's game mode now resolve to it.
- Report each finished match (who was on which team, who won). GameFlow scores it and updates every player's μ and σ.
Between matches you can read any player's current rating to show a rank in your UI. GameFlow resolves the right model from the live matchmaker, so your game only ever sends a game id and mode, never a model id.
Core concepts
| Concept | What it is |
|---|---|
| Model | A named rating configuration for one game mode: the match shape it expects and how ratings move. |
| μ / σ | A player's skill estimate and its uncertainty. The rating. |
| Ordinal | The conservative, rankable score μ − 3σ. Use it for leaderboards and display. |
| Rating engine | The math behind the rating. Today: GF Engine. A trained-AI engine is a future upgrade. |
| Season | A time window that ratings accumulate in. A new season starts players fresh. |
| Skill Rating Model node | The matchmaker graph node that binds a model to the matchmaker. |
Where to go next
- Creating a Model: name the mode and describe a valid match.
- Configuring a Model: tune how ratings behave (μ, σ, β, volatility).
- Using a Model with a Matchmaker: attach it and pair it with a Skill Rule.
- Reporting Match Results: close the loop so ratings update.