Help for the Game of Boche

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

  boche challenge [-size=n] [-fill_board] [-adjacent] [-join_any] [-kill=n] userid1 userid2

Starts a new game for two players.

The -size option sets the board size (default 6 holes per side).
The -kill option specifies the group size (number of blobs) to be surrounded (default 4).


Boche is a 3D connection game played with cubed Truchet tiles.


Two players, Light and Dark, share a common pool of 56 Boche cubes. The cubes contain a duotone Truchet tile on each face and have eight unique rotations (labelled 'a' to 'h') when fitted to a cubic lattice and viewed corner-on.

    +---oo+        +---oo+        +---oo+        +---oo+   
/ \ ooooo / \ ooo / \ ooooo / \ ooo
ooooooooo \ ooooooo \ o oooo \ o ooo \
+ooooo+oo---+ +ooooo+oo---+ +oo oo+oo---+ +oo oo+oo---+
ooooooooo / ooooooo / o ooo / o oooo /
\ / ooooo \ / ooo \ / ooo \ / ooooo
+---oo+ +---oo+ +---oo+ +---oo+
a b c d +ooo--+ +ooo--+ +ooo--+ +ooo--+
oooo \ ooooooo \ oooo \ ooooooo \
/ \ oo / \ oooo /ooo\ oo /ooo\ oooo
+ +--ooo+ + +--ooo+ + oo +--ooo+ + oo +--ooo+
\ / oo \ / oooo \ooo/ oooo \ooo/ oo
oooo / ooooooo / ooooooo / oooo /
+ooo--+ +ooo--+ +ooo--+ +ooo--+
e f g h

The board is a triangular grid of triangular holes which will each snugly hold a cube placed corner-downward, sort of like a triangular egg carton for tilted cubes. A small size 4 board is shown below.

/ . \
/ . \
+ . . . +-----+
\ . / . \
\ . / . \
+-----+ . . . +-----+
/ . \ . / . \
/ . \ . / . \
+ . . . +-----+ . . . +-----+
\ . / . \ . / . \
\ . / . \ . / . \
+-----+ . . . +-----+ . . . +
/ . \ . / . \ . /
/ . \ . / . \ . /
+ . . . +-----+ . . . +-----+
\ . / . \ . /
\ . / . \ . /
+-----+ . . . +-----+
/ . \ . /
/ . \ . /
+ . . . +-----+
\ . /
\ . /

Play: The board is initially empty. Light places a cube on the hole of their choice, rotated as they wish. Dark may then elect to swap colours in lieu of making the next move. Players then take turns adding a cube, rotated as they wish.

Each cube may be placed on a board hole or stacked to nestle in the intersection formed by three mutual neighbours. The only constraint is that edge colours must match neighbours at all times.

Aim: The game is won by enclosing a group of the opponent's colour of at least size 4. The group must be completely enlosed, that is, it must not connect to any board side. A group's size is given by the number of "blobs" that it contains.

If the board fills up before any groups are surrounded, then the game is won by the owner of the path connecting the three sides of the board.

For example, the following game has been won by Dark (o) who has completed an 'o' path between all three sides of the board.

/ \ ooo
ooooooo \
ooooooooooo \ ooo
\ / \ oooooo \
+ +---oo+ooo--+---oo+
/ \ / \ ooooooo \ ooooo
ooooooooooooo \ ooooooo \
ooooooooooooooooo \ ooooooooo \ ooo
\ /ooo\ / \ ooooooo \ oooooo \
+ oo + +--ooo+oo---+--ooo+oo---+
/ \ooo/ \ / oooooo / ooooo /
o ooo ooooooo / oooo / ooooo
+oo oo+oo oo+ooo--+---oo+ooo--+---oo+
o ooo oooo / oooooooo /
\ /ooo\ / ooooooooo / ooooo
+ oo +---oo+ooo--+---oo+
/ \ooo/ oooooo /
o ooooooo / ooo
+oo oo+ooo--+---oo+
o oooo /
\ / ooooo

There will always be such a winning path connecting all three sides on a full board; every game will have exactly one winner.


The cube rotations fall into two parity groups: Dark corner uppermost (a, b, c, d) and Light corner uppermost (e, f, g, h). Once a cube is placed on the board, all other cubes on the board level will be of the same parity then higher levels will alternate: level 1 will be the opposite parity, level 2 will be the same parity, level 3 will be the opposite parity, etc.

It makes sense for the mover to play the rotation with the most connections of their colour each turn (a for Dark and e for Light). However, players are only able to do this on every second level.

The first player has the advantage of setting the board level to their preferred parity with the opening move, however the second player has the advantage of playing the last move, which may prove decisive. For example, the last piece played on the pyramid's apex in the above figure decided the result of that particular game. These two advantages are significant but balance each out over the course of the game; Boche is different to other connection games in this respect.

The number of cubes per layer is given by the triangular number Ln = n (n + 1) / 2. The maximum number of cubes required for a given board size is given by the tetrahedral number Tn = n (n + 1) (n + 2) / 6.

Board sizes that give an odd number of cubes (1, 5, 9, 13, 17, ...) should be avoided as the opening player would then get the double advantage of having first and last move.

The "connect three sides" winning condition makes this game functionally equivalent to Y. The fact that edge colours must match their neighbours at all times means that, like Y, every game must be won by exactly one player.

Truchet tiles are a way of resolving potential connection deadlocks on square (non-trivalent) grids.


boche move <game#> <userid> <passwd> c:d3            Play rotation 'c' at position d3.
boche move <game#> <userid> <passwd> swap
           Swap colours (second move only).

Test Options

The -fill_board option specifies that the game continues until the board fills up (complete pyramidal stacking).
The -adjacent option specifies that each board level piece must be placed adjacent to at least one existing piece.
The -join_face option specifies that pieces along the winning path must touch face-to-face.
The -join_any option specifies that pieces along the winning path need not touch face-to-face.

Beginners may want to play with the -adjacent option on for the first few games. This makes colour matching more explicit and may give a clearer understanding of cube parity.

If the -join_face option is used then the pieces along the winning path must touch face-to-face. This makes "-immediate win" games last longer and allows them to be played on smaller boards. Use -join_any to relax this constraint.

If the -kill=n option is used then the game ends as soon as a player surrounds an enemy group of that size. If the board fills up before this occurs, then the winner is the owner of the path joining all three sides of the board.


Boche rules copyright Cameron Browne © 2008.

The name “Boche” is derived from the fact that the game is effectively played with cubed Che tiles within the corner of a box.

The Boche board with six holes per side is equivalent to the Foursite 3D board available from IQideas Ltd.

More details are available at the official Boche page.

Implementation and Help file by Cameron Browne, May 2008.