Optimal Play in Caverna: A Formal Proof of Weak Dominance

6 Furnishing Tiles

Caverna has \(48\) unique furnishing tiles organized in \(4\) blocks of \(12\). Furnishings are the primary source of bonus victory points, and their synergies drive the dominant strategy. All tile data is cross-referenced against the official Caverna appendix.

6.1 Tile model

Definition 6.1 Furnishing specification

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.

Definition 6.2 Bonus context
#

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.

Definition 6.3 Bonus point function

Each furnishing has a bonus function \(\text{furnishingBonusPoints} : \text{FurnishingId} \to \text{BonusContext} \to \mathbb {N}\) that computes conditional bonus points based on game state.

Definition 6.4 Tile count

There are \(48\) unique furnishing tiles.

6.2 Key furnishing properties

Theorem 6.5 State Parlor scales with dwellings

\(\text{furnishingBonusPoints}(\text{stateParlor}, \{ \text{numAdjacentDwellings} := 4\} ) = 16\).

Proof

State Parlor gives \(4\) points per adjacent dwelling.

Theorem 6.6 Broom Chamber scales with dwarfs

\(\text{furnishingBonusPoints}(\text{broomChamber}, \{ \text{numDwarfs} := 5\} ) = 5\).

Proof

Broom Chamber gives \(1\) point per dwarf.

Theorem 6.7 Prayer Chamber vs. weapons
#

Prayer Chamber gives \(8\) bonus points when no dwarfs have weapons, but \(0\) when any dwarf is armed. This creates a hard choice between the peaceful and weapon-based strategies.

Proof

By the bonus function definition for Prayer Chamber.

Theorem 6.8 Weapon Storage maximum
#

\(\text{furnishingBonusPoints}(\text{weaponStorage}, \{ \text{numArmedDwarfs} := 5\} ) = 15\). (Weapon Storage gives \(+3\) per armed dwarf.)

Proof

\(3 \times 5 = 15\).

Theorem 6.9 Food Chamber value
#

\(\text{furnishingBonusPoints}(\text{foodChamber}, \{ \text{grainCount} := 4, \text{vegCount} := 4\} ) = 8\).

Proof

Food Chamber gives \(1\) per grain and \(1\) per vegetable, capped appropriately.