Technical report · not peer reviewed

RotomArena: Measuring What Matters in Large Language Models

Abstract. Language model benchmarks measure software engineering, mathematics, and the ability to answer graduate-level questions in subjects most users will never study. None of them measure competitive Pokémon. We present RotomArena, a benchmark in which language models play complete Generation 9 OverUsed singles battles against each other and against calibrated reference opponents. Ratings are fitted with a Bradley-Terry model and reported with 95% bootstrap intervals. Across 2,590 rated matches and 72,560 turns, the models processed 208,474,877 tokens about Pokémon. We find that the intervals are wide, that reasoning length is not obviously related to winning, and that a policy choosing uniformly at random remains a meaningful baseline.

Introduction

The field has converged on a small set of capabilities worth measuring: writing code, proving theorems, and completing multi-step tasks in a browser. These are reasonable priorities for an industry. They are not, however, what people ask about. People ask which model is best at Pokémon.

Competitive Pokémon is a useful testbed for several reasons. It has hidden information, simultaneous moves and stochastic outcomes. It rewards long-horizon planning, opponent modelling, and knowledge of roughly a thousand species, their abilities and their typical sets. It also has an active competitive community, a rigorous open-source simulator, and a clear win condition, which is more than can be said for most agentic benchmarks.

We make three contributions. First, a harness in which any chat model can play rated games without tools, plugins or retrieval. Second, a rating ladder that keeps evaluation cost roughly linear in the number of models. Third, a public record of every decision every model made, including the ones it would probably prefer we did not publish.

Games have a long history as AI benchmarks, and the rating systems used for them date back to chess [1]. Pairwise preference ratings for language models were popularized by Chatbot Arena [2], which asks humans to vote between two answers; RotomArena replaces the humans with Pokémon, which are cheaper and do not get tired. Our rating model follows Bradley and Terry [3].

Prior work on language models in Pokémon includes PokéLLMon [4] and PokéChamp [5], both of which build agents around a language model; PokéChamp places one inside a minimax search and reaches expert-level play. The PokéAgent Challenge [6] turned Pokémon into a shared competition for such agents. This benchmark is built directly on that line of work. We ask a narrower question: what a model does with the game state and nothing else. In particular, we deliberately leave out what PokéLLMon builds around its model: the retrieved knowledge of type matchups and move effects, the feedback after each turn, and the safeguard against panic switching. Knowing Pokémon, and not panicking, are part of what we measure. Our reference search bot implements PokéChamp’s design without its language model, written from the paper’s description, so that the search alone serves as a fixed yardstick; it should not be taken as representative of the original, whose results are reported in [5].

Methodology

Format

All games are Generation 9 OverUsed singles on a local Pokémon Showdown server.

Each model plays the team it built itself, from the rules of the format alone, with Pokémon Showdown's validator as referee; a model that fails five times plays a repaired version of its last attempt (see Teams). Every language model plays every other one, once from each side of the board. Teambuilding is therefore part of what is measured, which we consider fair, since the models chose to build those teams.

Leads are not fixed: each model picks its own at team preview.

Decisions

On every turn a model receives a plain-text description of the battle: both teams as far as they are known, the events of the last three turns, the active Pokémon, and the list of legal actions. It replies with a short explanation (under 80 words) and exactly one action. We do not provide type charts, damage calculations or the opponent’s likely sets. Knowing Pokémon is the skill under test.

Reasoning effort is set to medium wherever the provider supports it, and each answer, reasoning included, must fit in 8,192 output tokens. There is no chess clock; a turn is abandoned only after 120 minutes, which is long enough for open-weights models running on one consumer GPU.

If a model gives no usable answer (it times out, the provider fails, the answer cannot be parsed, or it names an action that is not legal), the harness plays the first legal move on its behalf. We call this autopilot. Every decision records which of these happened. A match is void if either side was on autopilot for more than 50% of its turns.

Opponents and placement

New models are placed by a fixed schedule. They first play 3 games against Chimps at the Zoo, a control that picks a legal action uniformly at random, named for Hans Rosling’s chimpanzees.1 They then play a set against each anchor (Bonsai 2 27B, a local language model, and our search bot), one set against a free sparring partner, and one set against the closest-rated language model. Further sets are scheduled between models whose rating intervals overlap the most, which is where an extra game tells us the most.

Ratings

Ratings are Bradley-Terry strengths on the Elo scale, fitted by Newton’s method with a weak prior equivalent to one drawn game. Bonsai 2 27B is fixed at 1500; every other rating is relative to it. Intervals come from 1,000 parametric bootstrap refits. A rating is provisional until the model has played 16 valid games.

Results

At the time of writing the benchmarks are still being played. Results below are provisional and will change.

#ModelRating (95% CI)GamesWin rate
1Gemini 4 Argon2296+203−3691894%
2GPT-6.1 Sol2115+146−3291681%
3Gemini 3.8 Flash1966+220−22411883%
4Muse Wonder1806+271−295989%
5MiMo V2.6 Flash1743+118−11819050%
6Gemma 4 31B1736+115−11624964%
7DeepSeek V4.1 Flash1722+128−12117671%
8GPT-6 Luna Pro1721+158−14414681%
9GPT-6 Luna Decisions1720+108−11023179%
10Muse Spark 1.31717+120−11219167%
11Muse Spark Open1717+153−1623057%
12Claude Opus 5.51695+158−1434564%
13DeepSeek V4 Pro1676+375−281978%
14Grok 4.71676+356−270978%
15Kimi K31676+354−282978%
16MiMo V2.6 Pro1676+357−275978%
—PokéChamp1672+90−11022364%
17GPT-6 Luna1647+118−10617873%
18Nemotron 3 Ultra1641+372−2982268%
19Claude Sonnet 5.51635+158−1554549%
20Claude Haiku 5.51629+109−11719755%
21Solar Pro 41598+129−11713553%
22Mercury Decide1581+113−11617862%
23GLM 5.3 Flash1570+118−11517257%
24MiniMax M31569+281−272967%
25GLM 5.31565+214−2241560%
26Qwen3.8 Flash1519+120−1107557%
27Bonsai 2 27B150022043%
28Jev 1.131498+111−11021639%
29Qwen3.8 27B1483+154−1453145%
30Qwen3.8 Max Prime1468+270−252956%
31Ling 3.1 Flash1454+254−312743%
32GPT-OSS 20B1442+95−10826942%
33Nemotron 3.5 Super VL1420+123−1136946%
34Ornith 1.5 35B1399+114−10217945%
35Microsoft-Decision-11380+117−11617348%
36Drex v2.01341+122−1247536%
37Perplexity Decider V1.1 27B1341+116−13115842%
38Ling 3.0 Tiny1289+126−13121338%
39Drex v1.51248+138−12713834%
40MiniCPM5 2B1193+131−11621217%
41Laya RotomArena1108+312−285922%
—Chimps at the Zoo1005+131−15927713%
42Laya966+167−1801447%
43Solar Decide Flash818+191−298754%
—Hy4 Preview—00%
—K2-Horizon 36B—250%
—Mistral Large 4—00%
400600800100012001400160018002000220024002600Gemini 4 ArgonGPT-6.1 SolGemini 3.8 FlashMuse WonderMiMo V2.6 FlashGemma 4 31BDeepSeek V4.1 FlashGPT-6 Luna ProGPT-6 Luna DecisionsMuse Spark 1.3Muse Spark OpenClaude Opus 5.5DeepSeek V4 ProGrok 4.7Kimi K3MiMo V2.6 ProPokéChampGPT-6 LunaNemotron 3 UltraClaude Sonnet 5.5Claude Haiku 5.5Solar Pro 4Mercury DecideGLM 5.3 FlashMiniMax M3GLM 5.3Qwen3.8 FlashBonsai 2 27BJev 1.13Qwen3.8 27BQwen3.8 Max PrimeLing 3.1 FlashGPT-OSS 20BNemotron 3.5 Super VLOrnith 1.5 35BMicrosoft-Decision-1Drex v2.0Perplexity Decider V1.1 27BLing 3.0 TinyDrex v1.5MiniCPM5 2BLaya RotomArenaChimps at the ZooLayaSolar Decide Flashmodelbotanchor (fixed at 1500)
Figure 1. Ratings with 95% bootstrap intervals. Circles are language models, squares are bots; the hollow point is the anchor, on the reference line at 1500.
0%25%50%75%100%1001,00010,000Tokens per decision (log scale)Win rateBonsai 2 27BClaude Haiku 5.5Claude Opus 5.5Claude Sonnet 5.5DeepSeek V4.1 FlashDeepSeek V4 ProGemini 3.8 FlashGemini 4 ArgonGemma 4 31BGLM 5.3GLM 5.3 FlashGPT-6.1 SolGPT-6 LunaGPT-6 Luna ProGPT-OSS 20BGrok 4.7K2-Horizon 36BKimi K3Ling 3.0 TinyLing 3.1 FlashMiMo V2.6 FlashMiMo V2.6 ProMiniCPM5 2BMiniMax M3Muse Spark 1.3Muse Spark OpenMuse WonderNemotron 3.5 Super VLNemotron 3 UltraOrnith 1.5 35BQwen3.8 27BQwen3.8 FlashQwen3.8 Max PrimeSolar Pro 4
Figure 2. Tokens per decision against win rate. More thinking is shown to the right; more winning, higher up. The reader is invited to find the trend.
Claude Opus 5.5
519
Claude Sonnet 5.5
412
DeepSeek V4 Pro
142
Drex v2.0
1107
Gemini 4 Argon
177
GLM 5.3
148
GPT-6.1 Sol
184
GPT-6 Luna Decisions
3167
GPT-6 Luna Pro
1756
Grok 4.7
97
Jev 1.13
2696
Kimi K3
74
Laya RotomArena
96
Mercury Decide
1701
Microsoft-Decision-1
1724
Muse Wonder
82
Nemotron 3.5 Super VL
853
Perplexity Decider V1.1 27B
1766
Qwen3.8 27B
476
Qwen3.8 Flash
925
Qwen3.8 Max Prime
135
GPT-6 Luna
2078
Solar Decide Flash
1015
Muse Spark 1.3
2781
Muse Spark Open
466
GLM 5.3 Flash
1840
Solar Pro 4
1450
Bonsai 2 27B
3965
Claude Haiku 5.5
2384
Laya
2256
DeepSeek V4.1 Flash
1976
MiMo V2.6 Pro
89
MiMo V2.6 Flash
2228
Ling 3.0 Tiny
3495
MiniMax M3
124
Gemma 4 31B
4185
MiniCPM5 2B
2892
GPT-OSS 20B
3826
Ornith 1.5 35B
2907
Gemini 3.8 Flash
1261
K2-Horizon 36B
136
Drex v1.5
1994
Nemotron 3 Ultra
706
Mistral Large 4
26
Ling 3.1 Flash
100
Hy4 Preview
26
  • The model
  • Hallucinated move
  • Unreadable answer
  • Provider error
Figure 3. Who made each decision. Blue segments were chosen by the model; everything else was chosen by our fallback, for the reason shown.

Our main findings, generated from the data at build time:

  1. Gemini 4 Argon currently leads the overall ranking with a rating of 2296 (95% CI 1927–2499).
  2. Across 34 models, tokens spent per turn and win rate correlate at r = -0.18.
  3. Ling 3.1 Flash spends the most tokens per decision: 9,210, or 6.9× the field median.
  4. 10 matches in our pilot study were won by models that produced zero tokens. These results have been retracted.
  5. The most common signature move is earthquake, preferred by 20 models.
  6. Mistral Large 4 attempts actions that do not exist in 3.7% of its turns, for example MOVE: earthquake.

Limitations

The sample is small and the intervals are wide; we report them precisely so that nobody reads more into the ordering than it supports. Two fixed teams cover a small part of the metagame. Local models are quantized and run on a single consumer GPU, so their results describe that configuration and not the model in general. Every model sees the same prompt, which some models will like more than others. Finally, we have not shown that skill at Pokémon transfers to any other task, and we have not tried very hard.

Ethics statement

All Pokémon in this study are fictional, and fainted Pokémon recover fully between games. No human annotators were used. The electricity was real.

Reproducibility

Every match on this site links its full battle log and every decision, with the model’s explanation, its reasoning trace when the provider returns one, token counts, latency and cost. The ratings, figures and findings on this page are regenerated from those files by the same export that builds the site.

Acknowledgements

This benchmark stands on other people’s work. We thank Seth Karten, Andy Luu Nguyen and Chi Jin for PokéChamp, whose design our reference bot implements; the organizers of the PokéAgent Challenge for making Pokémon a serious research environment; Guangcong Luo and the contributors to Pokémon Showdown, which runs every battle on this site; and Haris Sahovic and the contributors to poke-env, which connects our players to it. Any mistakes in how we use their work are ours.

Appendix A. Response to Reviewer 2

The authors evaluate a single game. We evaluate the one that matters.

The confidence intervals overlap. We agree, and we have drawn them so that this is easy to see.

Why is the anchor a heavily quantized model running on a desktop? Because it is always available, costs nothing per game, and cannot be deprecated by its vendor while we sleep.

Did the authors consider that the search bot may simply be better than the language models? Yes. See Figure 1.

This is not a serious benchmark. We report bootstrap intervals for a random number generator.

Citation

@misc{rotomarena2026,
  title        = {RotomArena: Measuring What Matters in Language and Decision Models},
  author       = {{The RotomArena Team}},
  year         = {2026},
  howpublished = {\url{https://rotomarena.org/paper/}},
  note         = {Continuously updated. Not peer reviewed, in the sense that matters}
}

References

  1. A. E. Elo. The Rating of Chessplayers, Past and Present. Arco, 1978.
  2. W.-L. Chiang et al. Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. ICML, 2024.
  3. R. A. Bradley and M. E. Terry. Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons. Biometrika 39, 1952.
  4. S. Hu, T. Huang and L. Liu. PokéLLMon: A Human-Parity Agent for Pokémon Battles with Large Language Models. arXiv:2402.01118, 2024.
  5. S. Karten, A. L. Nguyen and C. Jin. PokéChamp: an Expert-level Minimax Language Agent. ICML, 2025. arXiv:2503.04094. Code.
  6. S. Karten, J. Grigsby, S. Milani, K. Vodrahalli, A. Zhang, F. Fang, Y. Zhu and C. Jin. The PokéAgent Challenge: Competitive and Long-Context Learning at Scale. NeurIPS Competition Track, 2025. Website.
  1. Models expected to cost more than $2 per game skip the control games unless we ask for them. This is a budgetary decision and we have described it as a methodological one.