- Boxes
- definitions
- Ellipses
- theorems and lemmas
- Blue border
- the statement of this result is ready to be formalized; all prerequisites are done
- Orange border
- the statement of this result is not ready to be formalized; the blueprint needs more work
- Blue background
- the proof of this result is ready to be formalized; all prerequisites are done
- Green border
- the statement of this result is formalized
- Green background
- the proof of this result is formalized
- Dark green background
- the proof of this result and all its ancestors are formalized
- Dark green border
- this is in Mathlib
The game has \(24\) action spaces. Thirteen are available from round 1 (preprinted); the rest are revealed one per round. Each space can be occupied by at most one dwarf per round.
Sheep convert to \(2\) food, wild boar to \(3\), cattle to \(4\). Donkeys have a superlinear pairing bonus: \(1\) donkey gives \(1\) food, but pairs give \(3\) food (a \(+1\) bonus per pair).
The \(8\) archetypes are:
FurnRush (furnishing rush): maximize furnishing bonus points.
WeapRush (weapon rush): forge early, exploit expeditions.
PeaceFarm (peaceful farming): grain/vegetable engine.
MineHeavy (mining heavy): ore and ruby mines.
AnimHusb (animal husbandry): large pastures, breeding.
RubyEcon (ruby economy): ruby mining and conversion.
PeaceCave (peaceful cave engine): peaceful interior development.
Balanced (balanced): diversified portfolio.
\(\text{bestResponse}(s)\) is the strategy \(t\) that maximizes \(M_{\text{toFin}(t),\text{toFin}(s)}\), i.e. the best reply to an opponent playing \(s\).
The bonus points of many furnishings depend on game state. We define a \(\texttt{BonusContext}\) structure with \(14\) named fields: number of dwarfs, armed dwarfs, adjacent dwellings, dogs, sheep, etc. This replaces a 17-positional-argument function signature.
The game has seven resource types (wood, stone, ore, gold, grain, vegetables, food), four animal types (dogs, sheep, wild boar, cattle, where dogs are non-farm animals), and two crop types (grain, vegetables).
Strategy \(s\) dominates strategy \(t\) in score estimates if \(\text{maxScoreEstimate}(s) \ge \text{maxScoreEstimate}(t)\) and \(\text{minScoreEstimate}(s) \ge \text{minScoreEstimate}(t)\) with at least one strict inequality.
A weapon is forged at strength \(s \in [1,8]\) by spending \(s\) ore. After each expedition, the weapon’s strength increases by \(1\), up to a cap of \(14\).
Each furnishing has: a name, category, resource costs (wood, stone, ore, gold, grain, vegetables, food), base victory points, and a bonus function. Categories are: dwelling, cooking, working, parlor, storage, and special.
Each player starts with \(2\) unarmed dwarfs. Player 1 receives \(1\) food; Player 2 receives \(2\) food. All other resources and animals start at zero. The initial dwarf count is \(\text{initialDwarfCount} = 2\).
The number of loot options available depends on weapon strength. Higher strength unlocks more valuable loot items.
A small pasture holds \(2\) animals; a large pasture holds \(4\). Each stable doubles the capacity of its pasture. A large pasture with two stables holds \(16\) animals.
The payoff matrix \(M : \text{Fin}\, 8 \to \text{Fin}\, 8 \to \mathbb {N}\) assigns \(M_{i,j}\) as the expected score of archetype \(i\) when the opponent plays archetype \(j\). Entries are derived from score estimates adjusted for contention and synergy effects. The matrix is indexed via \(\text{toFin}\) and \(\text{ofFin}\) conversions between \(\text{StrategyArchetype}\) and \(\text{Fin}\, 8\).
Each begging marker costs \(3\) points. Each unused board space costs \(1\) point.
A player state tracks: the list of dwarfs, resource supplies (wood, stone, ore, gold, grain, vegetables, food, rubies), animal counts, board tile placements (mountain spaces, forest spaces, meadows, fields, pastures, mines), installed furnishing tiles, and accumulated begging markers.
Each farm animal (sheep, wild boar, cattle) scores \(1\) point per animal. For each of the three farm animal types not represented at all, the player loses \(2\) points. Dogs score \(0\) directly but enable sheep capacity.
We define several reference points:
\(\text{theoreticalMinScore} = -28\) (max penalties, zero positive).
\(\text{doNothingScore} = -55\) (skip all actions for 12 rounds).
\(\text{theoreticalMaxSum} = 202\) (sum of maxed individual categories).
\(\text{practicalCeiling} = 140\) (attainable upper bound).
\(\text{practicalFloor} = 60\) (competent-play lower bound).
Grain scores \(\lfloor (n+1)/2 \rfloor \) for \(n\) grain. Vegetables score \(1\) per vegetable.
For each archetype \(s\), we define:
\(\text{maxScoreEstimate}(s)\): the ceiling score achievable under favorable matchups.
\(\text{minScoreEstimate}(s)\): the floor score under unfavorable matchups.
These are derived from analysis of board access, contention, and tile synergies.
Small pastures score \(2\) each, large pastures \(4\) each. Ore mines score \(3\), ruby mines score \(4\). Each dwarf scores \(1\). Gold scores \(1\) per gold. Rubies score \(1\) per ruby.
\(\text{socialWelfare}(a,b) = M_{\text{toFin}(a),\text{toFin}(b)} + M_{\text{toFin}(b),\text{toFin}(a)}\). The Nash welfare is \(\text{socialWelfare}(\textsc{FurnRush}{},\textsc{FurnRush}{})\). The social optimum is the maximum social welfare over all pairs.
The total score is the sum of all positive scoring components minus all penalties, plus furnishing bonus points.
The maximum payoff asymmetry is \(70\): \(\forall \, i\, j,\; |M_{i,j} - M_{j,i}| \le 70\). Among non-\(\textsc{FurnRush}{}\) pairs, asymmetry is at most \(35\).
\(\text{beerParlorGold}(10) = 15\) and \(\text{beerParlorGold}(4) = 6\). In practice, a farming player might accumulate \(\sim 10\) grain, yielding \(15\) gold, not an unbounded engine.
For \(n {\gt} 0\), \(\text{penaltyBegging}(n) \ge 3\). In fact \(\text{penaltyBegging}(n) = 3n\) (linear).
\(\forall \, s,\; \text{bestResponse}(s) = \textsc{FurnRush}{}\). No matter what the opponent does, \(\textsc{FurnRush}{}\) is the best reply.
Round 1 has \(13\) available action spaces with \(4\) dwarfs to place. Utilization is \(30\% \).
\(\text{dogSheepCapacity}(n) = n + 1\) and \(\text{dogSheepCapacity}(10) = 11\). Even \(10\) dogs only house \(11\) sheep, making this a weak scaling path compared to stabled pastures.
\(\text{dogSheepCapacity}(1) = 2\), \(\text{dogSheepCapacity}(3) = 4\), and the function is strictly monotone.
\(\text{donkeyFoodValue}(2) = 3\) and \(\text{donkeyFoodValue}(2) {\gt} 2 \cdot \text{donkeyFoodValue}(1)\), confirming the superlinear pairing bonus.
If \(s {\lt} 14\), an expedition raises strength to \(s+1\). At \(s = 14\), strength stays at \(14\).
Starting from strength \(8\), it takes \(6\) expeditions to reach \(14\). Starting from strength \(1\), it takes \(13\).
\(\text{feedingCost}(5, 0) = 10\) and \(\text{feedingCost}(5, 1) = 11\).
\(\text{numGoodFoodSpaces} = 2\) and \(\text{initialDwarfCount} \ge \text{numGoodFoodSpaces}\). The first player to act claims the best food space, giving them a structural advantage.
\(\text{goldToFood}(2) = 1\) and \(\text{goldToFood}(1) = 0\).
Without growth: \(44\) total dwarf placements. With one growth at round 4: \(47\) placements. With both growths: \(56\) placements.
“Wish for Children” appears at round 4; “Family Life” at round 8. Early growth is available \(4\) rounds before the late option.
The “furnish cavern” loot option is worth \(\sim 4\) points. At maximum strength \(14\), total available loot value is \(\sim 13\) points. Expeditions are valuable but capped.
At strength \(1\): \(3\) loot options. At strength \(8\): \(13\) options. At strength \(14\): \(18\) options.
A weapon can be forged at strength \(8\) (costing \(8\) ore). No weapon can be forged above strength \(8\).
A Miner produces \(10\) ore over \(5\) activations (\(2\) per activation). Ore trading yields at most \(6\) per use (\(3 \times 2\)).
\((\textsc{FurnRush}{}, \textsc{FurnRush}{})\) is the unique pure Nash equilibrium. If \((a, b)\) is any Nash equilibrium, then \(a = b = \textsc{FurnRush}{}\).
Logging yields \(9\) wood after \(3\) rounds vs. \(3\) after \(1\) round: a \(3\times \) payoff for waiting.
\(\text{socialOptimumValue} {\gt} \text{nashWelfare}\): i.e., \(210 {\gt} 170\). The price of anarchy ratio is \(21/17 \approx 1.24\). Rational play sacrifices \(\sim 19\% \) of social welfare.
The row sums satisfy the strict ordering:
\(\textsc{FurnRush}{}\) has the highest aggregate payoff; \(\textsc{RubyEcon}{}\) the lowest.
Mining \(8\) rubies over a game yields \(4\) ruby mine activations (at \(2\) rubies each). Those \(8\) rubies can convert to \(16\) food as emergency rations.
The 2-player game has \(2880\) distinct initial setups: \(144\) card orderings times \(20\) harvest marker placements.
\(\text{socialOptimumValue} = 210\), achieved by pairing strategies that avoid contention.
A stable doubles small pasture capacity (\(2 \to 4\)) and large pasture capacity (\(4 \to 8\)).
The sum of all row sums is \(5595\). The average payoff per cell is \(5595 / 64 = 87\).
The theoretical maximum from combining Beer Parlor, Blacksmithing Parlor, and Hunting Parlor is \(30 + 10 + 20 = 60\) gold. This is a ceiling, not an achievable value, because the required input resources (grain, rubies, ore, boar) compete for action tempo.
A large pasture with two stables holds \(4 \times 4 = 16\) animals, the maximum single-space animal capacity.
Both players face a food deficit at the first harvest: \(\text{feedingCost}(2,0) - \text{startingFoodP1} = 3\) and \(\text{feedingCost}(2,0) - \text{startingFoodP2} = 2\). This structural constraint forces every viable strategy to solve the food problem within its first \(3\) actions.
Weapon Storage gives \(+3\) per armed dwarf: theoretical max is \(15\) (all \(5\) dwarfs armed). Realistically, \(3\) armed dwarfs yield \(9\).
The Writing Chamber prevents up to \(7\) gold points of negative scoring, regardless of how many penalties exist. \(\text{writingChamberReduction}(24) = 7\), \(\text{writingChamberReduction}(57) = 7\), \(\text{writingChamberReduction}(8) = 7\).