Help For the Game Of Cubox

Introduction

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

    cubox challenge userid1 userid2 [-constrain] [-size=S]

Starts a new game between userid1 and userid2.

The -constrain options makes it harder to stack pieces (see Rules below).

The -size option specifies the board size in the range 3..16 (default is 8).

Rules

Cubox is a 3D connection game for two players, X and O. Each player owns a number of cuboctahedral pieces (called cubox) of their colour. A cuboctahedron is a polyhedron formed by six squares and eight triangles:

     +-------+                +-------+      
/ -_ _- \ /| |\
/ -+- \ / +-------+ \
/ / \ \ /_- \ / -_\
+_ / \ _+ +- \ / -+
\-_ / \ _-/ \ \ / /
\ +-------+ / \ _+_ /
\| |/ \ _- -_ /
+-------+ +-------+
        Top                    Bottom 

The board is a triangular field of cuboctahedral hollows, hexagonal in cross-section, whose triangular bases all face in the same direction (a bit like a hexagonal egg carton). The board is initially empty.

Play: Players take turns adding one of their cubox by either:
i) Dropping it on an empty board hollow, or
ii) Stacking it on top of a flat triangle formed by three existing cubox.

If the -constrain option is used, then cubox can only be stacked on triplets consisting of one friendly and two enemy cubox.

Players must move if possible, else pass.

Aim: A player wins by connecting all three sides of the board with a path of their cubox. Two cubox are connected if they visibly touch, either corner-to-corner or one stacked directly upon the other.

A cubox is deemed to "touch a board edge" if it is one of the outermost cubox for its level, that is, if it would form part of the outer slope if the board were completely stacked with pieces.

Examples

The following example shows a legal stacking move. An X cubox is stacked upon a flat triangle of existing cubox. Note that the stacked cubox is placed where three squares face each other, and points in the same direction as the three supporting cubox. Note also that the stacked X cubox cuts the connection between the two O cubox.

            +-------+                               +-------+      
/ -_ _- \ / -_ _- \
/ -+- \ / -+- \
/ / \ \ / / \ \
+_ / ^ \ _+ +_ / ^ \ _+
\-_ / ^X^ \ _-/ \-_ / ^X^ \ _-/
\ +-------+ / \ +-------+ /
\| |/ Stack---> / -_ _- \
+-------+-------+-------+ +-----/ -+- \-----+
/ -_ _- \ / -_ _- \ / -_ / / \ \ _- \
/ -+- \ / -+- \ / -+_ / ^ \ _+- \
/ / \ \ / / \ \ / / \-_ / ^X^ \ _-/ \ \
+_ / ^ \ _+_ / ^ \ _+ +_ / ^ \ +-------+ / ^ \ _+
\-_ / ^O^ \ _-/ \-_ / ^O^ \ _-/ \-_ / ^O^ \| |/ ^O^ \ _-/
\ +-------+ / \ +-------+ / \ +-------+-------+-------+ /
\| |/ \| |/ \| |/ \| |/
+-------+ +-------+ +-------+ +-------+

The following example shows a game won by O. The winning chain touches the bottom edge via D2, which is an outermost cubox for level 1 deemed to "touch a board edge" even though it is stacked above board level.

                    11--    ^
Stack:
10
+---+
\ / 9-- ^ ^
+
8 +---+ +---+
/ xxx \ / ooo \
7-- ^ + + +
\ xxx / \ ooo /
6 +---+ +---+---+---+---+---+
/ ooo \ / ooo \^/ ooo \^/ xxx \
5--+ + +---+ + + +
\ ooo / / xxx \ \ ooo / \ xxx /
4 +---+-+ +-+---+ +---+
/ oo\ xxx /xx \
3-- ^ + +---+---+ + ^ ^
/ ooo \ \ xxx /
2 +-+ +-+---+---+ +---+
/ xx\ ooo /xx \^/ xxx \ / ooo \
1-- ^ + +---+ + + + ^
\ xxx / \ xxx / \ xxx / \ ooo /
+---+ +---+ +---+ +---+
/ / / / / /
A B C D E F G H I J K

Possible stacks: D6 F2 F6 (unconstrained)

Due to limitations of the ASCII representation, cubox are simply represented by their hexagonal cross-sections in an effort to reduce clutter and keep the board display to a reasonable size.

Legal moves for the current player are marked '^'. This includes empty board points (hollows) and possible stack moves. The "Stack" indicator in the top left corner indicates which direction gaps must be facing to allow a piece to be stacked there.

The board coordinates for possible stack moves are also listed explicitly below the board, since it becomes increasingly difficult to determine the coordinate the higher a stack is. If in doubt, the player should read through the list of possible stack moves to ascertain which coordinate they want.

Notes

The fact that a winning connection must be continuously visible from above means that it is effectively a 2D connection built upon a 3D structure. This allows the elegant Cut/Join property of most connection games, and means that exactly one player must win.

Winning paths require successively fewer pieces at higher levels, although by this point the placement of pieces is entirely dictated by the distribution of lower-level support pieces.

Each stack move breaks exactly one enemy connection. A triangle of same-coloured pieces constitutes a strong formation whose connections cannot be broken (e.g. the triangle of X pieces at the bottom of the second example).

Once the board level pieces have been placed, it is only possible to stack higher level cubox facing in the same direction, with square faces meeting square faces (see the first example). This avoids phase problems when stacking upon a hexagonal grid. Cubox would not work if spheres were used instead of cuboctahedrons.

The fact that stacks may occur on a majority of enemy pieces subverts the N-1 reduction rule of Y ni those xaes, as a triangle dominated by one player becomes dominated by other player after the stack. Such stack move are therefore equivalent to an inverse N-1 reduction for that triangle of pieces.

The option to constrain stacks was originally intended as a balancing mechanism to encourage stacks while avoiding overly strong plays, but was found to make the game too cold; no player would willingly play adjacent to a friendly pieces for fear of giving their opponent a stack, hence the board would fill up with a sparse network of pieces, and the result predetermined before any stacks occured and the game really got going.

Open Problem: I don't believe that deadlocks can occur, but have yet to prove this. The definition of connectivity may be weakened to "two cubox are connected if they visibly touch corners or overlap when viewed from above" to imply a visible rather than physical connection and resolve such deadlocks (though I don't think this is necessary).

Heard of Martian Chess? Well, Cubox could be Martian Y.

Syntax

    cubox move board# userid password g4 (move at point G4)
    cubox move board# userid password swap (second move only)
    cubox move board# userid password pass

References and History

The basic mechanism of Cubox was devised by Cameron Browne in 2002 to demonstrate how a connection game could avoid phase problems with hexagonal stacking. The official version implemented above (v1.6) was completed in April 2005.

Implementation and help file by Cameron Browne, March 2005.