Backlog

Ranking

Live, from the current data
126
games ranked
1,877
comparisons
16%
called a tie
93
top score

Numbers underlined like thisEvery underlined number is read from the live database when the page loads, and changes as more comparisons accumulate. are read from the live database at page load and change as comparisons accumulate.

Latest update

What's changed?

Comparing with . Movement is measured among the 121 games ranked in both updates, so new entries do not create artificial movement.

4
new entries
95
games moved
0
clearer ranks

New to the ranking

Biggest moves

  1. Arma 2#90 → #79
  2. Sudden Strike#43 → #33
  3. Command & Conquer: Generals#69 → #59
  4. Elden Ring#53 → #63
  5. Counter-Strike: Global Offensive#62 → #53
  6. Battlefield Vietnam#63 → #55
  7. Resident Evil#75 → #83
  8. Subnautica: Below Zero#98 → #90
  9. F.E.A.R.#61 → #68
  10. Persona 5 Royal#64 → #71
  11. Company of Heroes 2#80 → #73
  12. Inscryption#84 → #91
  13. Valorant#87 → #94
  14. Grand Theft Auto: Vice City#25 → #19
  15. Doom 3#29 → #35

Positions above refer to the shared games only. Small moves can reflect uncertainty, rather than a change in taste.

Becoming clearer

No narrower intervals recorded in both snapshots. Older snapshots may not include interval history.

1 games left the published ranking. Their comparison history is preserved.

How the ranking works

Everything starts with pairwise comparisons. Given two games, I simply select the one I prefer. Repeating that process enough times (1,877A live number, read from the current data. comparisons so far) provides the statistical model with enough information to estimate the relative strength of every game. Those strength estimates are then used to generate each game's score, ranking, and tier.

Comparisons

Each round shows two games and takes one of three answers: pick a winner, declare a tie, or skip (used when I don't remember a game well enough to judge it). Skips are recorded but carry no preference. Ties are currently about 16%A live number, read from the current data. of answers.

Pairs are chosen adaptively. A comparison teaches the most when the model cannot predict its answer, so the selector concentrates on close matchups among games it is still uncertain about. One pair in five is instead drawn uniformly at random. Random pairs also keep the comparison graph connected, and because the model had no hand in choosing them, they serve as the held-out sample its predictions are checked against. A game with fewer than two comparisons gets placement pairs against opponents of similar provisional strength.

The model

Strengths are estimated with a Davidson model, a standard paired-comparison model that handles ties. Each game i is assigned a real-valued strength θi, every matchup gets three probabilities (I pick i, I pick j, or I call it a tie), and whenever a winner IS picked the model reduces exactly to the classic Bradley-Terry form: the probability of preferring i over j is the logistic function of their strength difference,

P(i beats j | a winner is picked) = σ(θi − θj)

where σ(x) = 1 / (1 + e−x). Equal strengths give 50%. A difference of 1 gives about 73%. The tie probability peaks for two equals and fades as the gap grows, with the overall tie propensity fitted from the data. And because the winner-picked formula above holds exactly no matter what, ties can never change what a gap means in odds, however common they become; a tie still counts as evidence that two games are close, it just cannot redefine the unit. The strengths are fitted by maximum likelihood over the whole log at once, so the result is independent of the order in which comparisons were made.

Maximum likelihood alone fails for a game that has never lost or tied: its likelihood increases monotonically in θ, so the estimate diverges (complete separation). To prevent this, every game receives a small virtual win and virtual loss against a fixed reference opponent at θ = 0, and the weight of that regularization is chosen fresh at every recomputation using a reserved calibration sample, while a separate evaluation sample checks its predictions (the advanced view shows exactly how). A still-undefeated game's strength is a lower bound, so its score is shown with an arrow (90↑A live number, read from the current data.) that disappears at its first loss or tie (either one ends the runaway and makes the estimate finite).

The score scale

The displayed score is a fixed linear map of the strength θ:

score = 50 + B·θ

Both parts are declared once and frozen, never fitted, so no score ever moves because the scale was redrawn. A = 50: an average game, and a brand-new one with no evidence yet, sits at 50, the middle of my list. Not review-culture's "50 = mediocre"; the median of a library I love is a 50 here, and that is the point. B is the unit, declared by odds: a 2-point gap means I'd pick one game over the other about two times out of three (2:1). The model's calibration is checked on reserved comparisons. Observed frequencies can differ, especially with sparse evidence. Points add as odds multiply:

+2
67%
2-to-1 odds
+4
80%
4-to-1 odds
+6
89%
8-to-1 odds

Scores run 0 to 100, but the ends are asymptotic: reaching them would take overwhelming one-sided evidence, so every game sits inside rather than at the ceiling. Rank is this game's position once the list is ordered by the strength θ, the score is a fixed increasing map of that same θ, and tiers are cut from the rank, so the number, the rank, and the tier are three views of one ordering and never disagree.

Tiers

Tiers are quantiles of rank, not score thresholds: S is the top 8% of ranked games, A extends to 25%, B to 55%, C to 85%, and D is the remainder. Current distribution across 126A live number, read from the current data. ranked games:

D19
C38
B37
A22
S10

The bands are deliberately uneven. Rank uncertainty in the middle of the list spans roughly 25 positions, about the width of a tier, so at that resolution the tier is the meaningful unit and a precise mid-list rank is mostly noise. Cutting by rank rather than by score also makes score order, rank order, and tier assignment consistent by construction.

A two-letter badge such as B/C marks a game whose tier is not stable under resampling: it lands in its home tier in fewer than 75% of bootstrap refits (next section). The first letter is the actual position; the second is the adjacent tier it could plausibly occupy. The flag is per-game, which is why split badges are not contiguous in the list. 14A live number, read from the current data. of 126A live number, read from the current data. games currently carry one.

Uncertainty

Each θ has a standard error from the observed information matrix, shown as ± in score points (two standard errors, scaled by the ruler's B). Overlapping intervals indicate uncertainty; they do not establish a tie. These approximate model intervals can undercover in simulation. Because the score is bounded to [0, 100], its interval is bounded with it: near the ends the ± is drawn as the clamped range it maps to, so an undefeated game's floor runs up to the ceiling rather than implying a score the scale can't hold. Rank ranges such as #13–28 are 80% intervals from a nonparametric bootstrap: the log is resampled with replacement and the whole model refitted 1000A live number, read from the current data. times, and the spread of resulting positions is reported.

A companion figure answers a different question, standing rather than strength: "beats a typical game" is the mean chance this game beats one drawn at random from the library, each matchup shrunk toward 50/50 by its uncertainty, so even a dominant game never reads 100%. Being field-relative, it can differ slightly from the strength ranking.

Recomputation

The comparison log is the only primary data. Scores, ranks, tiers, and intervals are derived values, recomputed from the full log on every refresh; nothing is updated incrementally and nothing is frozen. A game enters the ranking once it has at least 8 comparisons. Because the score map is fixed, a published number moves only with evidence: mostly the game's own new comparisons, plus a small joint-fit echo when its opponents' records change.

Back to the backlog