## Help for the Game of Truchet

Welcome to the network Truchet server. The challenge command is described here. Other commands are the same as for all pbmserv games.

truchet challenge [-size=number] userid1 userid2

starts a new game for two players.

The -size parameter sets the size of the board (default is 7 tiles per side).

### Introduction

Truchet is an abstract board game of stacking and capture played within the regions of a truchet tiling, for two players.

### Rules

The board is a 7x7 square grid surrounded by alternating light and dark regions. Two players, O and X, each start with 12 stackable pieces of their colour.

Players share a common pool of 49 coloured truchet tiles. Each tile has inverse dotted and blank patterns on the front and back, which may be oriented either left or right:

```            Left        Right                                           +---|---+   +---|---+          |    \..|   |../    |          __    \__   __/    __   Front  |.\     |   |     /.|          |..\    |   |    /..|
+---|---+   +---|---+     The front and back of a                                    coloured truchet tile.          +---|---+   +---|---+          |....\  |   |  /....|          __....\__   __/....__   Back   | \.....|   |...../ |          |  \....|   |..../  |
+---|---+   +---|---+```

Start: Players take opposite sides of the board and fill the closest rows with tiles of their choice, oriented so that tiles' edge colours match those of neighbouring tiles. O places the last tile on the central cell.

When all tiles are placed, the tile paths define alternating light and dark regions. X owns the dotted regions and O owns the blank regions.

Players place their pieces on the twelve closest junctions (tile corners, marked '+') within regions of their colour, as shown below.

`     ___     ___     ___     ___     ___     ___     ___     ___        /   \   /...\   /   \   /...\   /   \   /...\   /   \   /...\      /     \ /.....\ /     \ /.....\ /     \ /.....\ /     \ /.....\    (  (o)  |...+...|  (o)  |...+...|  (o)  |...+...|  (o)  |...+...)    \     /......./         \...../         \...../         \...../      \___/....___/    ___    \___/    ___    \___/    ___    \___/       /......./       /...\           /...\           /...\       \      /......./       /.....\         /.....\         /.....\       \    (...+...(  (o)  (...+...\  (o)  /...+...)  (o)  (...+...\  (o)  )    \.......\       \.......\     /......./         \.......\     /      \___....\___    \___....\___/....___/    ___    \___....\___/       /   \.......\       \.........../       /...\       \.......\      /     \.......\       \........./       /.....\       \.......\    (  (o)  \...+...\  (o)  \...+.../  (o)  /...+...\  (o)  )...+...)    \       \.......\       \...../       /.........\     /......./      \___    \___....\___    \___/    ___/....___....\___/....___/       /...\       \.......\           /......./   \.........../   \      /.....\       \.......\         /......./     \........./     \    (...+...)   +   \...+...)   +   (...+...(   +   )...+.../   +   )    \...../         \...../         \.......\     /......./       /      \___/    ___    \___/    ___    \___....\___/....___/    ___/       /       /...\           /...\       \.........../       /...\      /       /.....\         /.....\       \........./       /.....\    (   +   /...+...\   +   /...+...\   +   )...+.../   +   (...+...)    \     /.........\     /.........\     /......./         \...../      \___/....___....\___/....___....\___/....___/    ___    \___/       /......./   \.........../   \.........../       /...\       \      /......./     \........./     \........./       /.....\       \    (..(x)../   +   \..(x)../   +   \..(x)..(   +   (..(x)..\   +   )    \...../         \...../         \.......\       \.......\     /      \___/    ___    \___/    ___    \___....\___    \___....\___/       /       /...\           /...\       \.......\       \.......\      /       /.....\         /.....\       \.......\       \.......\    (   +   /..(x)..)   +   (..(x)..)   +   )..(x)..)   +   )..(x)..)    \     /......./         \...../       /......./       /......./      \___/....___/    ___    \___/    ___/....___/    ___/....___/       /......./       /...\           /......./       /......./   \      /......./       /.....\         /......./       /......./     \    (..(x)..|   +   |..(x)..|   +   |..(x)..|   +   |..(x)..|   +   )    \...../ \     / \...../ \     / \...../ \     / \...../ \     /      \___/   \___/   \___/   \___/   \___/   \___/   \___/   \___/   `

O placed the last tile, so X makes the first piece move.

Play: Each turn the current player may make a tile move then must make a stack move.

Tile move: Any tile may be flipped if there are no pieces pinning any of its corners. Once flipped, the tile must be reoriented to match edge colours with its neighbours.

Stack move: The stack move may be a step, merge or split (as follows). Singleton pieces are considered to be stacks of height 1.

a) Step: A stack may step to a connected empty junction within its current region. The entire stack must move and cannot jump over any other stacks.
b) Merge:  Two or more stacks from orthogonally adjacent junctions may merge to form a single stack. No pieces may be left behind. One of the source stacks may move within its region before merging.
c) Split: A stack may split into two or more stacks at orthogonally adjacent junctions. The entire stack must split. The source stack may move within its region before splitting.

Capture: Stacks that merge or split may land on one or more enemy stacks to capture them by replacement. Stacks on enemy junctions can be captured by same-sized or taller stacks. Stacks on friendly junctions can only be captured by taller stacks.

All stack moves must be to empty junctions unless capturing.

Stacks may not exceed 4 pieces in height.

Aim: A player wins if the opponent has no remaining pieces or cannot move a stack on their turn.

### Examples

A merge move capturing an O stack of height 1:

```            /.....\       \..                    /.....\       \..
+    /..(x)..\   +   ).               +   /...+...\   +   ).
/.........\     /..                  /.........\     /..
___/....___....\___/...              ___/....___....\___/...
/......./   \...........             /......./(x)\...........
/.(x).../     \........./            /......./ (x) \........./
(..(x)..(  (o)  )...+.../    ---->   (...+...(  (x)  )...+.../
\.......\     /......./              \.......\     /......./
\___....\___/....___/                \___....\___/....___/
\.........../                        \.........../
\........./                          \........./
+   )...+.../   +                    +   )...+.../   +
/......./                            /......./ ```

A split move capturing an 0 stack of height 2. Note that the O stack is on an enemy junction, so can be captured by a stack of equal height:

```            /.....\       \..                    /.....\       \..
+   /...+...\   +   ).               +   /..(x)..\   +   ).
/.........\     /..                  /.........\     /..
___/....(x)....\___/...              ___/....___....\___/...
/......./(x)\...........             /......./   \...........
/......./ (x) \...(o).../            /......./     \...(x).../
(...+...(  (x)  )..(o)../    ---->   (...+...(   +   )..(x)../
\.......\     /......./              \.......\     /......./
\___....\___/....___/                \___....\___/....___/
\.........../                        \.........../
\........./                          \........./
+   )...+.../   +                    +   )..(x)../   +
/......./                            /......./ ```

### Strategy and Tactics

Any stack within a friendly region must land in an enemy region if it wishes to merge or split, due to the tiling’s parity.

Tall stacks are relatively safe within friendly regions. If they are cornered and forced to split, however, the resulting substacks will land within enemy regions and be especially vulnerable.

Truchet is more tactical than strategic due to the dynamic nature of the board. In other words, it is generally better to make clever short-term sequences of moves than to try to formulate long term plans. In this sense, Truchet is an opportunistic game.

It is generally good to minimise your opponent's mobility, eventually trapping enemy stacks where they can be captured or forced to split.

Pieces are safe from immediate capture from enemy pieces in the same region, and can be used to block off parts of the region or occupy key junctions from which the opponent might threaten adjacent pieces. Pieces can be placed to pin key tiles that you don't want flipped.

It can be dangerous to linger in small enclosed regions, as every junction may be directly threatened by stacks in the surrounding region.

### Notes

When a tile is flipped it automatically changes orientation (dictated by neighbouring tiles).

Threats are asymmetrical, as a stack can threaten an enemy stack without itself being threatened.

The following diagram shows the parity (+=X and -=O) of the 64 junctions on the 7x7 board:

```    - + - + - + - +
+ - + - + - + -
- + - + - + - +
+ - + - + - + -
- + - + - + - +
+ - + - + - + -
- + - + - + - +
+ - + - + - + -
```

Merging is the only way to stack pieces. Merging and splitting are the only ways to change parity. Parity changes can therefore only be made by two or more pieces working together, and a player with two remaining pieces left will not be able to form a 2-stack unless they are both in regions of the same parity. Truchet is a real parity game (sorry).

If either player can demonstrate that neither player can win (that is, no more captures are possible and neither player can trap the opponent's remaining pieces) then the game should be declared a draw.

Once a tile is placed during the initial placement stage, it cannot be flipped until the piece movement stage begins; players should not adjust their initial placements in response to an opponent’s tile placement. If players can’t manage this then dividers such as manila folders can be used to hide the initial tile placements, or alternatively players may take turns placing a tile each until all tiles are placed.

The game is generally quicker and more interesting if the initial tile placement is made more or less at random, rather than putting too much thought into it. Initial tile placements are not critical anyway - there is no immediate advantage in starting with all pieces in a single region or with a large home region that spans the board to surround enemy regions. Regions will change as tiles are flipped during the course of the game.

The board should have an odd number of tiles per side as this gives an equal number of junctions of each colour.

The number of pieces for an n x n board will be (n - 1) (n + 1) / 2. For the standard 7 x 7 board this is (7 - 1) (7 + 1) / 4 = 12.

### Variants

Hexagonal Truchet: Played as per the standard version on a hex hex board using hexagonal truchet tiles. Still under development.

### Syntax

The move syntax is:

truchet move board# userid password random
- Place tiles randomly (recommended), moves 1 to 3 only.
truchet move board# userid password rllrl

- Place tiles oriented as specified ('l'=left, 'r'=right), moves 1 to 3 only.
truchet move board# userid password bc34:a1-d6
- Flip the tile with corners at b3 and c4, then step the stack at a1 to d6.
truchet move board# userid password c3,c5-c4
- Merge the stacks at c3 and c5 to c4.
truchet move board# userid password b4-b3,2xa4

- Split the 3-stack at b4 to b3 (one piece) and a4 (two pieces).

Stack heights do not need to be specified for step or merge moves (entire stacks must move). However, the height of substacks resulting from a split move must be specified if greater than 1.

### History

Truchet rules copyright (c) Cameron Browne, April 2007.

Please see the official Truchet page for further details and examples: http://members.optusnet.com.au/helen.gilbert/truchet-game/

Thanks to Dave Dyer for testing and suggestions for rule improvements.

Implementation and Help file by Cameron Browne, April 2007.