The Policies
Every agent that plays Star Realms here is a policy: a function from the current game state and the legal actions to a choice. The line below grows from trivial baselines to a learned, search-amplified agent. Versions V0–V4 are hand-written rule bots; V5–V7 are AlphaGo-Zero-style learned policies (self-play + MCTS, pure Python). Every policy has its own page showing its actual Python source; the learned line's full code walk-through is at How MicroStar works.
Rule baselines
V0 — Choose completely randomly
Uniform over every legal action, End Turn included. The floor: any policy worth anything must beat this. Code & description →
V1 — Random, excluding End Turn
Like V0 but never ends the turn voluntarily while another move exists. Simply doing things — playing cards, buying, attacking — beats flipping a coin that includes passing. Code & description →
V2 — Ordered List
A deterministic priority order over action categories (resolve pending choices, play cards, buy, attack, then end). The first real strategy: act with intent, in a sensible sequence. Code & description →
V3 — Ordered List (cautious scraping)
V2, but it never scraps its own non-starter cards — only Scouts and Vipers may be scrapped. Stops the bot from cannibalising the deck it is trying to build. Code & description →
V4 — Ordered List (play coins first)
As V3, but coin-generating plays fire before purchases, so trade is maximised before buying. The strongest rule bot — squeezing every coin out of a turn before spending. Code & description →
Learned — the AlphaStar line
V5 — AlphaStar (the first learned policy)
The first agent that learns. A one-hidden-layer policy/value network trained by AlphaGo-Zero self-play with 32-simulation MCTS, at starting authority 10. Strength comes from the network improving its priors and value estimates, which sharpen the next round of search. Code & description →
V6 — AlphaStar (discounted return)
AlphaGo Zero's value target is a pure win/loss (±1), treating a turn-8 kill and a turn-40 grind as equally good. At low authority the game is about the fast kill, so V6 discounts the outcome by a factor per ply — lines that win in fewer moves get a higher value target — steering the net toward aggressive, scrap-for-damage play. It also searches deeper (48 sims). Code & description →
V7 — AlphaStar (scaled search)
The headline policy. It leans into search: deeper self-play search for sharper targets, and much deeper search at play time (128 simulations), plus more gradient steps per game. This is the version that consistently beats the field — see the leaderboard. Code & description →