How the game list is scored
One score orders /games, the default sort on game categories, the home Games tab and related games. Scores use the Asia/Shanghai date 2026-10-24.
Score
The default order uses one score. The weights in the ranking code are the numbers in the table below. Featured, embed and cover art add 0 points.
score = 50 × popularity + 40 × experience + 10 × freshness
| Term | Range | Weight | Source |
|---|---|---|---|
| popularity | 0.25–1 | 50 | One X post per game in game-signals.json |
| experience | 0–1 | 40 | Play-test rubric in game-experience.json, one row per game |
| freshness | 0.25–1 | 10 | The added date, or the editor play date in verified |
X engagement was captured on 2026-10-21. Play-test checkedAt values cover 2026-10-21–2026-10-21 (file date 2026-10-21).
Three games, worked out
Each line substitutes into the formula. The score is the sum of the three weighted parts, rounded to two decimals. The ×50, ×40 and ×10 columns show those same unrounded products to two decimals.
- 3rd Mainland Biker, rank 1. popularity 0.82555567 × 50 = 41.27778333; experience 0.825 × 40 = 33; freshness 0.93303299 × 10 = 9.33032992. Unrounded sum 83.60811324, score 83.61.
- BeetleJump, rank 22. popularity 0.25 × 50 = 12.5; experience 0.95 × 40 = 38; freshness 0.93303299 × 10 = 9.33032992. Unrounded sum 59.83032992, score 59.83.
- Blueline, rank 2. popularity 0.84640291 × 50 = 42.32014544; experience 0.69375 × 40 = 27.75; freshness 0.93303299 × 10 = 9.33032992. Unrounded sum 79.40047536, score 79.40.
Where the points come from
Each bar is one weighted term summed across all 68 games. It shows how the weights land on this list.
The next chart is the top 12. Bar length is out of 100: popularity, experience and freshness sit end to end, and the empty track is the gap to a perfect score.
- popularity × 50
- experience × 40
- freshness × 10
- 13rd Mainland Biker
- 2Blueline
- 3fly.pieter.com
- 4INKWAVE
- 5Last Train to the Sea
- 6Tiny Skies
- 7Riposte
- 8Bruno Simon
- 9Playable Worlds
- 10R.M.S. Titanic 1912
- 11Outermate
- 12HELL//BREACH
Score distribution
Full ranking
68 games, highest score first. Equal scores sort by slug, so English and Chinese stay in the same order and a reload does too. /games uses this order when the search box is empty.
Rank 1 is 3rd Mainland Biker at 83.61. Popularity 0.8256, experience 0.8250, freshness 0.9330.
| # | Game | Score | popularity | ×50 | experience | ×40 | freshness | ×10 |
|---|---|---|---|---|---|---|---|---|
| 1 | 3rd Mainland Biker | 83.61 | 0.8256 | 41.28 | 0.8250 | 33.00 | 0.9330 | 9.33 |
| 2 | Blueline | 79.40 | 0.8464 | 42.32 | 0.6937 | 27.75 | 0.9330 | 9.33 |
| 3 | fly.pieter.com | 77.64 | 0.7126 | 35.63 | 0.8375 | 33.50 | 0.8507 | 8.51 |
| 4 | INKWAVE | 76.02 | 0.6503 | 32.52 | 0.8750 | 35.00 | 0.8507 | 8.51 |
| 5 | Last Train to the Sea | 74.82 | 0.7399 | 36.99 | 0.7125 | 28.50 | 0.9330 | 9.33 |
| 6 | Tiny Skies | 74.57 | 0.7689 | 38.45 | 0.7000 | 28.00 | 0.8123 | 8.12 |
| 7 | Riposte | 74.46 | 0.5626 | 28.13 | 0.9250 | 37.00 | 0.9330 | 9.33 |
| 8 | Bruno Simon | 73.02 | 0.6103 | 30.51 | 0.8500 | 34.00 | 0.8507 | 8.51 |
| 9 | Playable Worlds | 72.71 | 0.5376 | 26.88 | 0.9125 | 36.50 | 0.9330 | 9.33 |
| 10 | R.M.S. Titanic 1912 | 70.84 | 0.6702 | 33.51 | 0.7000 | 28.00 | 0.9330 | 9.33 |
| 11 | Outermate | 69.66 | 0.5767 | 28.83 | 0.7875 | 31.50 | 0.9330 | 9.33 |
| 12 | HELL//BREACH | 67.94 | 0.5022 | 25.11 | 0.8375 | 33.50 | 0.9330 | 9.33 |
| 13 | Outerstead | 67.55 | 0.6045 | 30.22 | 0.7000 | 28.00 | 0.9330 | 9.33 |
| 14 | Salmon Survival | 67.46 | 0.4626 | 23.13 | 0.8750 | 35.00 | 0.9330 | 9.33 |
| 15 | Thrust Run | 67.44 | 0.5222 | 26.11 | 0.8000 | 32.00 | 0.9330 | 9.33 |
| 16 | Dust II A | 67.34 | 0.6068 | 30.34 | 0.7125 | 28.50 | 0.8507 | 8.51 |
| 17 | Infinite Craft | 66.85 | 0.6169 | 30.85 | 0.8375 | 33.50 | 0.2500 | 2.50 |
| 18 | Threejs Punk | 64.98 | 0.5294 | 26.47 | 0.7500 | 30.00 | 0.8507 | 8.51 |
| 19 | Stadium Elite | 64.94 | 0.6021 | 30.11 | 0.6375 | 25.50 | 0.9330 | 9.33 |
| 20 | AI Dungeon | 64.86 | 0.3720 | 18.60 | 0.9625 | 38.50 | 0.7756 | 7.76 |
| 21 | Infinite Worlds | 61.92 | 0.3897 | 19.48 | 0.8625 | 34.50 | 0.7937 | 7.94 |
| 22 | BeetleJump | 59.83 | 0.2500 | 12.50 | 0.9500 | 38.00 | 0.9330 | 9.33 |
| 23 | WorldGuessr | 59.09 | 0.3417 | 17.08 | 0.8375 | 33.50 | 0.8507 | 8.51 |
| 24 | WenWare | 58.83 | 0.2500 | 12.50 | 0.9250 | 37.00 | 0.9330 | 9.33 |
| 25 | Bonk.io | 58.63 | 0.4624 | 23.12 | 0.6750 | 27.00 | 0.8507 | 8.51 |
| 26 | Stardust Isles | 57.99 | 0.2832 | 14.16 | 0.8625 | 34.50 | 0.9330 | 9.33 |
| 27 | Krunker | 57.92 | 0.3482 | 17.41 | 0.8000 | 32.00 | 0.8507 | 8.51 |
| 28 | Kestrel Nights | 57.35 | 0.3303 | 16.52 | 0.7875 | 31.50 | 0.9330 | 9.33 |
| 29 | Killer Bufo | 56.43 | 0.3419 | 17.10 | 0.7500 | 30.00 | 0.9330 | 9.33 |
| 30 | The Little Prince: Journey of the Stars | 55.22 | 0.3269 | 16.35 | 0.7688 | 30.75 | 0.8123 | 8.12 |
| 31 | FlagGuessr | 54.83 | 0.2500 | 12.50 | 0.8250 | 33.00 | 0.9330 | 9.33 |
| 32 | VybeNomad | 54.83 | 0.2500 | 12.50 | 0.8250 | 33.00 | 0.9330 | 9.33 |
| 33 | StoryComet | 54.48 | 0.2671 | 13.36 | 0.8250 | 33.00 | 0.8123 | 8.12 |
| 34 | Akinator | 54.43 | 0.4085 | 20.43 | 0.7875 | 31.50 | 0.2500 | 2.50 |
| 35 | Null Range | 53.83 | 0.2500 | 12.50 | 0.8000 | 32.00 | 0.9330 | 9.33 |
| 36 | Bearzerk! | 53.62 | 0.2500 | 12.50 | 0.8250 | 33.00 | 0.8123 | 8.12 |
| 37 | Quake | 53.51 | 0.2500 | 12.50 | 0.8125 | 32.50 | 0.8507 | 8.51 |
| 38 | A Game About Capybaras Delivering Food | 53.12 | 0.2500 | 12.50 | 0.8125 | 32.50 | 0.8123 | 8.12 |
| 39 | Orb.Farm | 52.51 | 0.2500 | 12.50 | 0.7875 | 31.50 | 0.8507 | 8.51 |
| 40 | Scrivo | 52.01 | 0.2500 | 12.50 | 0.7750 | 31.00 | 0.8507 | 8.51 |
| 41 | Shell Shockers | 51.69 | 0.3537 | 17.69 | 0.6375 | 25.50 | 0.8507 | 8.51 |
| 42 | Mission Shadow | 51.57 | 0.2612 | 13.06 | 0.7500 | 30.00 | 0.8507 | 8.51 |
| 43 | Narrow One | 51.51 | 0.2500 | 12.50 | 0.7625 | 30.50 | 0.8507 | 8.51 |
| 44 | The Castle Ate Naomi | 50.62 | 0.2500 | 12.50 | 0.7500 | 30.00 | 0.8123 | 8.12 |
| 45 | Dustlight | 50.62 | 0.2500 | 12.50 | 0.7500 | 30.00 | 0.8123 | 8.12 |
| 46 | SURVEV.io | 50.51 | 0.2500 | 12.50 | 0.7375 | 29.50 | 0.8507 | 8.51 |
| 47 | Blob Opera | 50.46 | 0.2792 | 13.96 | 0.8500 | 34.00 | 0.2500 | 2.50 |
| 48 | Quick, Draw! | 50.28 | 0.2656 | 13.28 | 0.8625 | 34.50 | 0.2500 | 2.50 |
| 49 | CSPSP | 50.01 | 0.2500 | 12.50 | 0.7250 | 29.00 | 0.8507 | 8.51 |
| 50 | Say What You See | 49.54 | 0.2909 | 14.54 | 0.8125 | 32.50 | 0.2500 | 2.50 |
| 51 | Köttbullar Metal | 49.12 | 0.2500 | 12.50 | 0.7125 | 28.50 | 0.8123 | 8.12 |
| 52 | HexGL | 49.01 | 0.2500 | 12.50 | 0.7000 | 28.00 | 0.8507 | 8.51 |
| 53 | HALDANE-4 | 48.83 | 0.2500 | 12.50 | 0.6750 | 27.00 | 0.9330 | 9.33 |
| 54 | DRIFT | 48.62 | 0.2500 | 12.50 | 0.7000 | 28.00 | 0.8123 | 8.12 |
| 55 | Penguin Smack | 48.62 | 0.2500 | 12.50 | 0.7000 | 28.00 | 0.8123 | 8.12 |
| 56 | Lakera Agent Breaker | 48.07 | 0.3714 | 18.57 | 0.6750 | 27.00 | 0.2500 | 2.50 |
| 57 | Venge.io | 48.01 | 0.2500 | 12.50 | 0.6750 | 27.00 | 0.8507 | 8.51 |
| 58 | xFPS | 47.51 | 0.2500 | 12.50 | 0.6625 | 26.50 | 0.8507 | 8.51 |
| 59 | Death by AI | 47.50 | 0.2500 | 12.50 | 0.8125 | 32.50 | 0.2500 | 2.50 |
| 60 | Friends & Fables | 47.50 | 0.2500 | 12.50 | 0.8125 | 32.50 | 0.2500 | 2.50 |
| 61 | Paint With Music | 47.50 | 0.2500 | 12.50 | 0.8125 | 32.50 | 0.2500 | 2.50 |
| 62 | BUNGR INC. | 47.33 | 0.2500 | 12.50 | 0.6375 | 25.50 | 0.9330 | 9.33 |
| 63 | HackMerlin | 46.00 | 0.2500 | 12.50 | 0.7750 | 31.00 | 0.2500 | 2.50 |
| 64 | Hidden Door | 45.50 | 0.2500 | 12.50 | 0.7625 | 30.50 | 0.2500 | 2.50 |
| 65 | Tensor Trust | 44.00 | 0.2500 | 12.50 | 0.7250 | 29.00 | 0.2500 | 2.50 |
| 66 | A.I. Duet | 42.50 | 0.2500 | 12.50 | 0.6875 | 27.50 | 0.2500 | 2.50 |
| 67 | Contexto | 37.00 | 0.2500 | 12.50 | 0.5500 | 22.00 | 0.2500 | 2.50 |
| 68 | Semantle | 36.50 | 0.2500 | 12.50 | 0.5375 | 21.50 | 0.2500 | 2.50 |
Popularity
popularity = max(0.25, min(1, log10(1 + likes + 2 × reposts + views / 100) / 4))
A game with no recorded post, or a post whose formula result is under 0.25, stays at 0.25. The cap is 1, so one very large post contributes at most 50 points. The log spreads orders of magnitude and stops a single viral post at that cap.
Most-engaged public X post found linking to each game (X API search, top 25 relevant posts per game). Numbers are copied from X at capture time.
- Numbers were copied from X on 2026-10-21. Likes, reposts and views in the table match the JSON.
- One post per game: the most-engaged public X post found linking to the game (X API search, top 25 relevant results). The post URL is in the table.
- Refresh the numbers when the list is refreshed. A signal whose post is gone is dropped, and that game returns to 0.25.
53 of 68 listed games have a post. The signal file has 53 rows, and 0 of those slugs have no current listing.
32 games on the popularity floor
15 have no recorded post. 17 have a post, and reach = likes + 2×reposts + views/100 still gives log10(1+reach)/4 ≤ 0.25.
| Game | Reason | Likes | Reposts | Views | reach | Post |
|---|---|---|---|---|---|---|
| BeetleJump | post below the floor | 1 | 0 | 30 | 1.30 | Open |
| WenWare | post below the floor | 0 | 0 | 0 | 0.00 | Open |
| FlagGuessr | post below the floor | 2 | 0 | 366 | 5.66 | Open |
| VybeNomad | post below the floor | 4 | 0 | 275 | 6.75 | Open |
| Null Range | post below the floor | 0 | 0 | 0 | 0.00 | Open |
| Bearzerk! | no recorded post | — | — | — | — | — |
| Quake | no recorded post | — | — | — | — | — |
| A Game About Capybaras Delivering Food | post below the floor | 3 | 0 | 374 | 6.74 | Open |
| Orb.Farm | post below the floor | 0 | 0 | 2 | 0.02 | Open |
| Scrivo | no recorded post | — | — | — | — | — |
| Narrow One | no recorded post | — | — | — | — | — |
| The Castle Ate Naomi | post below the floor | 1 | 0 | 24 | 1.24 | Open |
| Dustlight | no recorded post | — | — | — | — | — |
| SURVEV.io | no recorded post | — | — | — | — | — |
| CSPSP | no recorded post | — | — | — | — | — |
| Köttbullar Metal | post below the floor | 0 | 0 | 8 | 0.08 | Open |
| HexGL | post below the floor | 3 | 0 | 223 | 5.23 | Open |
| HALDANE-4 | post below the floor | 0 | 0 | 3 | 0.03 | Open |
| DRIFT | no recorded post | — | — | — | — | — |
| Penguin Smack | post below the floor | 2 | 0 | 18 | 2.18 | Open |
| Venge.io | no recorded post | — | — | — | — | — |
| xFPS | post below the floor | 1 | 1 | 15 | 3.15 | Open |
| Death by AI | post below the floor | 1 | 0 | 153 | 2.53 | Open |
| Friends & Fables | no recorded post | — | — | — | — | — |
| Paint With Music | no recorded post | — | — | — | — | — |
| BUNGR INC. | post below the floor | 1 | 0 | 33 | 1.33 | Open |
| HackMerlin | no recorded post | — | — | — | — | — |
| Hidden Door | no recorded post | — | — | — | — | — |
| Tensor Trust | no recorded post | — | — | — | — | — |
| A.I. Duet | no recorded post | — | — | — | — | — |
| Contexto | post below the floor | 1 | 0 | 25 | 1.25 | Open |
| Semantle | post below the floor | 1 | 0 | 131 | 2.31 | Open |
Experience
experience = 0.2 × load + 0.15 × mobile + 0.15 × noWall + 0.15 × errors + 0.2 × depth + 0.15 × polish
Each game URL opened in headless Chromium at 1280x800 (desktop) and as iPhone 13 (touch), waited for the load event plus 7 s, screenshot and console errors captured; depth and polish judged from the screens.
68 listed games, 68 rubric rows. Rubric slugs with no current listing: 0. A listed game with no row fails the build, so every game below has one.
| Input | Weight | How it is measured |
|---|---|---|
| load | 0.2 | Desktop milliseconds to the load event in headless Chromium at 1280×800. ≤1500 → 1, ≤3000 → 0.75, ≤6000 → 0.5, ≤12000 → 0.25, slower or timed out (null) → 0. mobileLoadMs is recorded and stays out of the score. |
| mobile | 0.15 | Opened as iPhone 13 (touch). 1 plays with touch, 0.5 loads but needs a keyboard or mouse, 0.25 the game says desktop only, 0 is blocked on phones. When webgpu is true, this input is halved before it enters the formula. |
| noWall | 0.15 | 1 when play starts without a forced sign-up or payment. 0 when it does not. |
| errors | 0.15 | 1 when console errors on load are 0, otherwise 0.5. The error count itself adds no further points. |
| depth | 0.2 | How much there is to play, judged from the screens: 0.25 a single toy, 0.5 one mode, 0.75 several modes or a run-based loop, 1 a full game. |
| polish | 0.15 | Visual and audio finish judged from the screens: 0.25, 0.5, 0.75 or 1. |
loadMs
Recorded 67, missing 1. Min 274 ms, median 1183 ms, max 20008 ms.
Phone load event (mobileLoadMs, not in the score): Recorded 68, missing 0. Min 120 ms, median 981 ms, max 26389 ms.
Games whose desktop loadMs is null (that input scores 0): Contexto
mobile, noWall, depth, polish
The mobile chart uses the value stored in the rubric. 2 games have webgpu true, so the mobile term that enters the formula is half the stored value.
Console errors
42 games loaded with 0 console errors (errors = 1). 26 loaded with more than 0 (errors = 0.5). The highest count on one game is 242.
The table shows the 8 highest console-error counts.
| Game | Console errors |
|---|---|
| Contexto | 242 |
| Shell Shockers | 85 |
| Semantle | 70 |
| Infinite Craft | 66 |
| Bonk.io | 34 |
| Akinator | 27 |
| Last Train to the Sea | 17 |
| Venge.io | 16 |
Play-test inputs
| Game | loadMs | mobileLoadMs | mobile | webgpu | noWall | Console errors | depth | polish | experience |
|---|---|---|---|---|---|---|---|---|---|
| 3rd Mainland Biker | 1221 | 1401 | 1 | no | 1 | 0 | 0.5 | 0.5 | 0.8250 |
| Blueline | 354 | 394 | 0.25 → 0.125 | yes | 1 | 0 | 0.5 | 0.5 | 0.6937 |
| fly.pieter.com | 1342 | 951 | 1 | no | 1 | 6 | 0.75 | 0.75 | 0.8375 |
| INKWAVE | 970 | 601 | 0.5 | no | 1 | 0 | 0.75 | 1 | 0.8750 |
| Last Train to the Sea | 1183 | 1278 | 0.5 | no | 1 | 17 | 0.5 | 0.75 | 0.7125 |
| Tiny Skies | 3180 | 612 | 0.5 | no | 1 | 1 | 0.75 | 1 | 0.7000 |
| Riposte | 1060 | 1024 | 0.5 | no | 1 | 0 | 1 | 1 | 0.9250 |
| Bruno Simon | 2347 | 2463 | 1 | no | 1 | 0 | 0.5 | 1 | 0.8500 |
| Playable Worlds | 498 | 489 | 1 | no | 1 | 0 | 0.75 | 0.75 | 0.9125 |
| R.M.S. Titanic 1912 | 1991 | 1253 | 0.5 | no | 1 | 0 | 0.5 | 0.5 | 0.7000 |
| Outermate | 1735 | 806 | 0.5 | no | 1 | 0 | 0.75 | 0.75 | 0.7875 |
| HELL//BREACH | 274 | 290 | 0.5 | no | 1 | 0 | 0.75 | 0.75 | 0.8375 |
| Outerstead | 1911 | 761 | 0.5 | no | 1 | 0 | 0.5 | 0.5 | 0.7000 |
| Salmon Survival | 1105 | 810 | 1 | no | 1 | 0 | 0.75 | 0.5 | 0.8750 |
| Thrust Run | 725 | 647 | 0.5 | no | 1 | 0 | 0.75 | 0.5 | 0.8000 |
| Dust II A | 751 | 492 | 0.25 | no | 1 | 0 | 0.5 | 0.5 | 0.7125 |
| Infinite Craft | 587 | 637 | 1 | no | 1 | 66 | 0.75 | 0.75 | 0.8375 |
| Threejs Punk | 584 | 769 | 0.5 | no | 1 | 5 | 0.5 | 1 | 0.7500 |
| Stadium Elite | 7410 | 6170 | 1 | no | 1 | 4 | 0.5 | 0.75 | 0.6375 |
| AI Dungeon | 645 | 961 | 1 | no | 1 | 0 | 1 | 0.75 | 0.9625 |
| Infinite Worlds | 2945 | 3576 | 1 | no | 1 | 0 | 0.75 | 0.75 | 0.8625 |
| BeetleJump | 1381 | 1077 | 1 | no | 1 | 0 | 0.75 | 1 | 0.9500 |
| WorldGuessr | 501 | 822 | 1 | no | 1 | 1 | 0.75 | 0.75 | 0.8375 |
| WenWare | 954 | 877 | 1 | no | 1 | 1 | 1 | 1 | 0.9250 |
| Bonk.io | 2719 | 4372 | 0.5 | no | 1 | 34 | 0.75 | 0.5 | 0.6750 |
| Stardust Isles | 522 | 369 | 1 | no | 1 | 0 | 0.5 | 0.75 | 0.8625 |
| Krunker | 2022 | 1426 | 0.25 | no | 1 | 0 | 1 | 0.75 | 0.8000 |
| Kestrel Nights | 1225 | 1001 | 0.5 | no | 1 | 0 | 0.5 | 0.75 | 0.7875 |
| Killer Bufo | 356 | 336 | 1 | no | 1 | 2 | 0.5 | 0.5 | 0.7500 |
| The Little Prince: Journey of the Stars | 594 | 553 | 0.25 → 0.125 | yes | 1 | 0 | 0.5 | 1 | 0.7688 |
| FlagGuessr | 936 | 487 | 1 | no | 1 | 0 | 0.5 | 0.5 | 0.8250 |
| VybeNomad | 2821 | 2152 | 1 | no | 1 | 0 | 0.75 | 0.5 | 0.8250 |
| StoryComet | 1881 | 1301 | 1 | no | 1 | 2 | 0.75 | 1 | 0.8250 |
| Akinator | 871 | 941 | 1 | no | 1 | 27 | 0.5 | 0.75 | 0.7875 |
| Null Range | 1091 | 855 | 0.5 | no | 1 | 1 | 0.75 | 1 | 0.8000 |
| Bearzerk! | 680 | 436 | 0.5 | no | 1 | 0 | 0.5 | 1 | 0.8250 |
| Quake | 344 | 120 | 0.25 | no | 1 | 0 | 1 | 0.5 | 0.8125 |
| A Game About Capybaras Delivering Food | 880 | 681 | 0.25 | no | 1 | 1 | 1 | 1 | 0.8125 |
| Orb.Farm | 910 | 1100 | 0.5 | no | 1 | 0 | 0.5 | 0.75 | 0.7875 |
| Scrivo | 2082 | 2057 | 0.5 | no | 1 | 0 | 0.5 | 1 | 0.7750 |
| Shell Shockers | 4947 | 3727 | 0 | no | 1 | 85 | 1 | 0.75 | 0.6375 |
| Mission Shadow | 979 | 780 | 0.5 | no | 1 | 0 | 0.5 | 0.5 | 0.7500 |
| Narrow One | 1233 | 1250 | 0.5 | no | 1 | 4 | 0.75 | 0.75 | 0.7625 |
| The Castle Ate Naomi | 719 | 744 | 1 | no | 1 | 1 | 0.5 | 0.5 | 0.7500 |
| Dustlight | 838 | 887 | 0.5 | no | 1 | 0 | 0.5 | 0.5 | 0.7500 |
| SURVEV.io | 10097 | 5800 | 1 | no | 1 | 9 | 1 | 0.75 | 0.7375 |
| Blob Opera | 2058 | 1945 | 1 | no | 1 | 0 | 0.5 | 1 | 0.8500 |
| Quick, Draw! | 1419 | 1358 | 1 | no | 1 | 0 | 0.5 | 0.75 | 0.8625 |
| CSPSP | 437 | 149 | 0.25 | no | 1 | 0 | 0.75 | 0.25 | 0.7250 |
| Say What You See | 2080 | 1767 | 1 | no | 1 | 0 | 0.5 | 0.75 | 0.8125 |
| Köttbullar Metal | 989 | 754 | 0.5 | no | 1 | 1 | 0.5 | 0.75 | 0.7125 |
| HexGL | 2330 | 2371 | 0.25 | no | 1 | 0 | 0.5 | 0.75 | 0.7000 |
| HALDANE-4 | 1008 | 1357 | 0.25 | no | 1 | 1 | 0.5 | 0.75 | 0.6750 |
| DRIFT | 1090 | 490 | 0.5 | no | 1 | 0 | 0.25 | 0.5 | 0.7000 |
| Penguin Smack | 20008 | 4413 | 1 | no | 1 | 0 | 0.5 | 1 | 0.7000 |
| Lakera Agent Breaker | 2746 | 1486 | 0.5 | no | 1 | 2 | 0.75 | 0.5 | 0.6750 |
| Venge.io | 5987 | 608 | 0.25 | no | 1 | 16 | 1 | 0.75 | 0.6750 |
| xFPS | 7375 | 7589 | 0.25 | no | 1 | 0 | 1 | 0.5 | 0.6625 |
| Death by AI | 1656 | 1085 | 1 | no | 1 | 0 | 0.5 | 0.75 | 0.8125 |
| Friends & Fables | 760 | 595 | 1 | no | 0 | 0 | 1 | 0.75 | 0.8125 |
| Paint With Music | 2350 | 2253 | 1 | no | 1 | 0 | 0.5 | 0.75 | 0.8125 |
| BUNGR INC. | 635 | 1508 | 0 | no | 1 | 1 | 0.5 | 0.75 | 0.6375 |
| HackMerlin | 1793 | 667 | 1 | no | 1 | 0 | 0.5 | 0.5 | 0.7750 |
| Hidden Door | 1182 | 1116 | 1 | no | 0 | 0 | 0.75 | 0.75 | 0.7625 |
| Tensor Trust | 1223 | 1002 | 0.5 | no | 1 | 4 | 0.75 | 0.5 | 0.7250 |
| A.I. Duet | 2681 | 2013 | 0.5 | no | 1 | 0 | 0.25 | 0.75 | 0.6875 |
| Contexto | — | 26389 | 1 | no | 1 | 242 | 0.5 | 0.5 | 0.5500 |
| Semantle | 3864 | 3372 | 0.5 | no | 1 | 70 | 0.5 | 0.25 | 0.5375 |
Freshness
freshness = max(0.25, 0.5 ^ (ageDays / 30))
Age runs from the curation date to 2026-10-24 (Asia/Shanghai). The curation date is added, or, when added is absent, the play date written as 试玩于 YYYY年M月D日. An undated listing stays at 0.25. The value halves every 30 days and then stays at 0.25. Age is constant within a day, so the order can move once a day.
15 games on the freshness floor
| Game | Reason | Curated | Age (days) | freshness |
|---|---|---|---|---|
| Infinite Craft | no curation date | — | — | 0.25 |
| Akinator | no curation date | — | — | 0.25 |
| Blob Opera | no curation date | — | — | 0.25 |
| Quick, Draw! | no curation date | — | — | 0.25 |
| Say What You See | no curation date | — | — | 0.25 |
| Lakera Agent Breaker | no curation date | — | — | 0.25 |
| Death by AI | no curation date | — | — | 0.25 |
| Friends & Fables | no curation date | — | — | 0.25 |
| Paint With Music | no curation date | — | — | 0.25 |
| HackMerlin | no curation date | — | — | 0.25 |
| Hidden Door | no curation date | — | — | 0.25 |
| Tensor Trust | no curation date | — | — | 0.25 |
| A.I. Duet | no curation date | — | — | 0.25 |
| Contexto | no curation date | — | — | 0.25 |
| Semantle | no curation date | — | — | 0.25 |
Orders this score leaves alone
- Ties break by slug, ascending.
- Search results at /games?q= keep text-match order.
- The Oldest curation and Name sorts on category pages and the home list stay as they are.
- Categories that also hold products keep Newest curation order. The default sort uses this score only when every entry on the page is a game.
Notes that add 0 points
otherSignals has 3 notes. They stay in the file so the source can be checked, and they enter neither popularity, experience nor freshness.
| Game | Note |
|---|---|
| A Game About Capybaras Delivering Food | Vibe Jam 2026: 1st of 945 (same sources). |
| Köttbullar Metal | Vibe Jam 2026: 22nd of 945, Funniest Game award (same sources). |
| Tiny Skies | Vibe Jam 2026: 7th of 945, Most Polished award (vibej.am/2026, levelsio results post https://x.com/levelsio/status/2067364066193203333). |
How many games sit in each category
Counts come from the category of each listed game, the same records as the ranking above.
| Category | Games |
|---|---|
| Action adventure | 40 |
| AI word and guessing games | 15 |
| Playable demos | 7 |
| Interactive stories | 6 |
Limits
- X numbers are one post captured on 2026-10-21. Likes and views on that post can change later; the page keeps this capture until the JSON is copied again.
- Search keeps the most-engaged public post among the top 25 relevant results at capture time. A later search can find a different post.
- depth and polish are judgments from the screens. Re-running the check and updating checkedAt can change both.
- The popularity floor places games with no post and games with a tiny post on the same 0.25.
- Any console-error count above 0 sets errors to 0.5. A game with 27 errors and a game with 1 receive the same errors term.
- WebGPU games have mobile halved before weighting. The distribution chart shows the stored value from before that halving.
- Freshness uses the Asia/Shanghai calendar day 2026-10-24. While that city is still on this date, the order stays put even if the UTC date differs.
- Numbers on this page are computed from the JSON and the formula at render time. The page does not keep a second copy of the scores.
Questions
- How is the game score calculated?
- score = 50 × popularity + 40 × experience + 10 × freshness. This page scores 68 listed games with that formula. On 2026-10-24 (Asia/Shanghai) the highest score is 83.61 (3rd Mainland Biker).
- Which games sit on the popularity floor?
- 32 of 68 games have popularity 0.25. 15 have no recorded X post. 17 have a post whose log-scaled reach still lands on the floor.
- Do jam placements add points?
- Jam placements and other non-numeric notes live in otherSignals and add 0 points. The file currently has 3 notes. Featured, embed and cover art also add 0 points.
- When does the order change?
- Ties break by slug, so the English and Chinese lists match. Freshness uses the Asia/Shanghai date 2026-10-24, so the order can move once a day. X counts stay at the 2026-10-21 capture until the JSON is refreshed. Play-test checkedAt values cover 2026-10-21–2026-10-21.
- What if a game has no play-test row?
- A listed game with no row in game-experience.json fails the build. This page scores 68 listings against 68 rubric rows.
The traffic-growth board uses a separate dataset (Vaneform visit change) and ranks tools. The game score applies to the games above. AI tools by traffic growth · AI Tools