Playtest report

Bots play the design as authored; the numbers show whether it works before any art gets paid for.

Web batches are capped at 10 games so nothing can time out. Bigger runs over SSH or cron: php8.2 run-sims.php 85725a25e69d085f73b12cceed873adb 500 greedy · watch a single game step by step →

Greedy bots — 30 games

Play everything → attack with the pool → buy the biggest affordable card. The design under intent.

37%
p1 (11)
63%
p0 (19)
31.2
avg turns

How games end

ending:Game to 7, win by 2
21
ending:Out of racket
8
ending:Deuce ceiling at 12
1

Game length (turns)

11–20
1
21–30
14
31–40
12
41–50
3

Card demand (bought / played)

CardExposureBoughtPlayed

Dead cards (across every stored game, all bots)

Passed over: Defensive Chop (surfaced 131x), Counterhit (surfaced 143x), Active Block (surfaced 108x), Drop Shot (surfaced 115x), Topspin Loop (surfaced 143x), Smash (surfaced 95x), Short Backspin Serve (surfaced 98x), Sidespin Serve (surfaced 102x), No-Spin Serve (surfaced 82x), Court Shoes (surfaced 66x), Wristband (surfaced 81x), Carbon Blade (surfaced 74x), Tacky Rubber (surfaced 75x), Reading the Opponent (surfaced 40x)

These reached the market row and nobody bought them — a real signal: too expensive, too weak, or the bots undervalue them.

Never surfaced: Float Serve, Block, Push

These never reached the market row in any stored game — dead by sampling (few copies, short games), not by design. Run more games before judging them.

AI tuner — diagnosis & patches

Sends this report plus the game as authored (including your briefing) to the model and asks for at most three surgical patches. Applying one bumps the version, so the movers table above shows before/after on the next runs.