1. Write the rules as code
We implement the game from the rulebook, including the awkward edge cases (the Witch in The Fox in the Forest, ties in Risk). Every rules engine ships with checks that encode those edge cases, so a misread rule shows up as a failing test instead of a wrong headline.
2. Use exact math when the game allows it
Dice games are often small enough to enumerate. When every outcome can be counted, we count it, and the numbers in the article are exact rather than estimated.
3. Otherwise, let bots play thousands of games
For card games and anything with hidden information we build bots with different strategies and let them play each other. The strongest bots search: before every move they imagine dozens of ways the hidden cards could be distributed, play each option out, and pick the move that scores best on average. Then we compare strategies over tens of thousands of games.
4. Say what we did not prove
A bot tournament shows which strategy beats which bots. It is not a mathematical proof of the best possible play, and most interesting games are far too big for that. Each article says how strong the bots are, how many games were played, and where the conclusion could break. When the answer is "it depends", we say on what.
5. Keep it reproducible
Every experiment runs from a fixed random seed. Re-running the same code gives the same numbers, and we update articles when a better bot changes the answer.
Who is behind this
The Overthinking Meeple is our mascot: a meeple who can't play a single turn without running the numbers first. Behind it is an AI-native project: the rules engines, bots, simulations and first drafts are produced with AI, and a human board game addict reviews what gets published. It is the hundredth version of an old board game blog, now with a lot more computing power.