Optimal Play in Caverna: A Formal Proof of Weak Dominance

7 Strategy Archetypes

We identify \(8\) canonical strategy archetypes that span the viable play space. These form the rows and columns of the payoff matrix analyzed in subsequent chapters.

7.1 Archetype definitions

Definition 7.1 Strategy archetypes
✓

The \(8\) archetypes are:

  1. FurnRush (furnishing rush): maximize furnishing bonus points.

  2. WeapRush (weapon rush): forge early, exploit expeditions.

  3. PeaceFarm (peaceful farming): grain/vegetable engine.

  4. MineHeavy (mining heavy): ore and ruby mines.

  5. AnimHusb (animal husbandry): large pastures, breeding.

  6. RubyEcon (ruby economy): ruby mining and conversion.

  7. PeaceCave (peaceful cave engine): peaceful interior development.

  8. Balanced (balanced): diversified portfolio.

Theorem 7.2 Strategy count
✓
#

\(\text{numStrategies} = 8\).

Proof ▶

By enumeration of the inductive type.

7.2 Score estimates

Definition 7.3 Score estimate functions
✓

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.

\begin{tikzpicture} [
  lbl/.style={font=\footnotesize, text=textDark, anchor=east},
  val/.style={font=\tiny, text=textDark},
  bar/.style={rounded corners=2pt},
]
% Helper: draw one interval bar.  Args: y-pos, color, label, lo, hi
\newcommand{\intervalbar}[5]{%
  \pgfmathsetmacro{\xlo}{(#4 - 40) * 0.08}%
  \pgfmathsetmacro{\xhi}{(#5 - 40) * 0.08}%
  \fill[#2, bar] (\xlo, #1 - 0.2) rectangle (\xhi, #1 + 0.2);%
  \draw[textDark, thin, bar] (\xlo, #1 - 0.2) rectangle (\xhi, #1 + 0.2);%
  \node[lbl] at (\xlo - 0.15, #1) {#3};%
  \node[val, anchor=east] at (\xlo - 0.02, #1 + 0.33) {#4};%
  \node[val, anchor=west] at (\xhi + 0.02, #1 + 0.33) {#5};%
}
% Bars (top to bottom, ranked by ceiling)
\intervalbar{0.0}{pastelMint}{FurnRush}{60}{140}
\intervalbar{-0.7}{pastelSky}{WeapRush}{60}{120}
\intervalbar{-1.4}{pastelLavender}{AnimHusb}{50}{115}
\intervalbar{-2.1}{pastelPeach}{MineHeavy}{55}{110}
\intervalbar{-2.8}{pastelLemon}{Balanced}{55}{105}
\intervalbar{-3.5}{pastelRose}{PeaceFarm}{45}{100}
\intervalbar{-4.2}{pastelSlate}{PeaceCave}{50}{100}
\intervalbar{-4.9}{pastelCoral}{RubyEcon}{45}{100}
% X axis
\draw[thick, textDark] (0, -5.6) -- (8.0, -5.6);
\foreach \v in {40, 60, 80, 100, 120, 140} {
  \pgfmathsetmacro{\xp}{(\v - 40) * 0.08}
  \draw[textDark] (\xp, -5.6) -- (\xp, -5.75);
  \node[font=\tiny, text=textDark, anchor=north] at (\xp, -5.8) {\v};
}
\node[font=\footnotesize, text=textDark] at (4.0, -6.3) {Score};
\end{tikzpicture}
Figure 7.1 Score estimate ranges for the \(8\) strategy archetypes. Each bar spans from the worst-case floor to the best-case ceiling. FurnRush has the highest ceiling (\(140\)) and ties for the highest floor (\(60\)).

7.3 Early game structure

Theorem 7.4 Round 3 harvest is certain
✓
#

In the 2-player game, round 3 always triggers a normal harvest.

Proof ▶

By the harvest schedule definition.

Theorem 7.5 Food crisis shapes all strategies
✓

The feeding cost at the initial dwarf count exceeds the starting food for both players. This forces every archetype to allocate early actions to food acquisition.

Proof ▶

Direct consequence of the universal food crisis (Theorem 3.13).

Theorem 7.6 Food spaces are scarce
✓

\(\text{numGoodFoodSpaces} = 2\) and \(\text{initialDwarfCount} \ge \text{numGoodFoodSpaces}\). The first player to act claims the best food space, giving them a structural advantage.

Proof ▶

By enumeration of round-1 food-producing action spaces.

7.4 Growth and tempo

Theorem 7.7 Family growth round 4
✓

“Wish for Children” appears at round 4; “Family Life” at round 8. Early growth is available \(4\) rounds before the late option.

Proof ▶

By the action space round assignments.

Theorem 7.8 Growth total placements
✓

Without growth: \(44\) total dwarf placements. With one growth at round 4: \(47\) placements. With both growths: \(56\) placements.

Proof ▶

By summing dwarf placements across 12 rounds.

7.5 Accumulation spaces

Theorem 7.9 Accumulation is linear
✓
#

\(\text{accumulatedValue}(r, n) = r \cdot n\) for accumulation rate \(r\) and \(n\) rounds of waiting.

Proof ▶

By induction on \(n\).

Theorem 7.10 Accumulation patience reward
✓

Logging yields \(9\) wood after \(3\) rounds vs. \(3\) after \(1\) round: a \(3\times \) payoff for waiting.

Proof ▶

\(\text{accumulatedValue}(3, 3) = 9\) and \(9 / 3 = 3\).

7.6 Branching factor

Theorem 7.11 Round 1 branching factor
✓

Round 1 has \(13\) available action spaces with \(4\) dwarfs to place. Utilization is \(30\% \).

Proof ▶

\(13\) preprinted spaces; \(4 \times 100 / 13 = 30\).

Theorem 7.12 Setup variability
✓

The 2-player game has \(2880\) distinct initial setups: \(144\) card orderings times \(20\) harvest marker placements.

Proof ▶

\(6 \times 2 \times 2 \times 6 = 144\) and \(\binom {6}{3} = 20\); \(144 \times 20 = 2880\).