⚽ ProStriker ▶ Play
HomeGuideRanking system

How the ranking works

Every ranked online game moves both players' ratings. The system is Elo — the same idea chess has used since the 1960s — and it is worth understanding, because it does not reward what people expect it to.

Last updated: 2026-08-23

Why Elo and not points for wins

The obvious ranking system gives you a point for winning. It also produces a table sorted by who played the most games, which is not the same as who is best.

Elo asks a different question: how surprising was this result? Beating somebody far stronger than you is strong evidence about your ability and moves your rating a lot. Beating somebody far weaker tells us almost nothing and moves it barely at all. Grinding games against beginners gets you nowhere.

Everyone starts at 1200. There is no floor and no ceiling; the numbers simply settle where your results put them.

The formula

Before a match, the system computes each player's expected score — their probability of winning, given the rating gap:

expected_A = 1 / (1 + 10^((rating_B − rating_A) / 400))

The 400 is a scale constant: a gap of 400 points means the stronger player is expected to win about ten times out of eleven. After the game, the rating moves by the difference between what happened and what was expected:

new_rating_A = rating_A + K × (result_A − expected_A)

where result_A is 1 for a win and 0 for a loss. Because the two expected scores add to one, the points one player gains are the points the other loses — unless the players have different K values, which is covered next.

The K-factor: new accounts move faster

K controls how violently a single result moves your rating. A fixed K is a bad compromise: high enough for a new player to find their level quickly is also high enough for an established player to lose a season's work to one bad evening.

So K depends on how many ranked games you have played:

Games playedKEffect
Fewer than 3040Placement. Your rating moves fast and finds roughly the right level within a few evenings.
30 – 19924Settling in. Still responsive, no longer wild.
200 or more16Established. One result is noise; a hundred results are a rating.

A worked example

Two players, both established (K = 16). You are rated 1200, your opponent 1400.

Your expected score: 1 / (1 + 10^((1400 − 1200) / 400)) ≈ 0.24. You are expected to win about one game in four.

Note the asymmetry, which is the whole point: the underdog risks four points to win twelve. Playing stronger opponents is cheap. Avoiding them is what actually costs you.

Now flip it — you are the 1400 player. Beating the 1200 earns you four points; losing to them costs twelve. There is no safe way to protect a rating except to keep deserving it.

Anonymous players and Season 0

Ranking does not wait for accounts. Ratings are attached to a player identifier, and that identifier can be either a signed-in account or the random one your device generated on first launch. Both appear in the same table.

When you later sign in with Google, the anonymous identifier can be linked to your account once, so a history built before signing in is not lost. It is once and to one account only, and the two rating histories are never added together — otherwise linking would be a way to manufacture points.

The honest caveat: an anonymous rating lives in your browser's storage. Clear site data or change device and it is gone, because there is nothing else for it to be attached to. If a rating matters to you, sign in.

Matches that do not count

Two categories of games are recorded but excluded from ratings.

Games against the bot. They are for practice. The bot's difficulty is a setting, so any rating derived from beating it would mean nothing.

Ranked games between players who appear to share a network. This is the anti-cheat rule described in the online play guide: the simplest way to fake a rating is to play yourself from two devices, and the simplest defence is to not count those games. It occasionally catches genuine pairs on the same Wi-Fi, and that is a trade we accept knowingly — a handful of unranked matches between flatmates is a smaller problem than a leaderboard anybody can fabricate.

Frequently asked questions

What rating do I start with?

1200, the same as everyone. Your first thirty games use a high K-factor, so the number moves quickly towards your real level.

Why did I only gain two points for winning?

Because you were expected to win. Elo rewards surprising results; beating someone rated far below you is not surprising.

Do games against the bot affect my rating?

No. The bot's strength is a setting you choose, so results against it carry no information about your level.

Can I rank without a Google account?

Yes. Ratings attach to a player identifier, and your device generates one automatically. The catch is that it lives in your browser storage and disappears if you clear it.

Fancy a game?

No install, no sign-up. Opens in the browser and works offline against the bot.

▶ Play ProStriker