Check out Atomic Chess, our featured variant for November, 2024.

This page is written by the game's inventor, sam tenka.

Bovine Chess

INTRO.   Here we present a viewpoint on and new notation for Betza-style "subatoms" and hence for certain fairy pieces.  Several of these pieces, though compellingly simple, seem not to have been named in the Piececlopedia.  To illustrate these pieces, we define a variant: Bovine Chess.  Bovine chess differs from FIDE chess only in how its pieces move and capture.  The game is just an illustration of concepts; we have not playtested it.
To learn Bovine Chess without learning our general piece notation, please skip ahead to "Pieces in Bovine Chess".

PIECE NOTATION: SUBATOMS.   We begin by codifying the set of possible moves by a by a forward-rook (Betza's fR).  To specify how this set depends on the source square and on the locations of friendly and enemy pieces, we write code to make a random move.  Below, each invocation of "?" gives an independent random coin toss.  (Randomness isn't germane; we merely find it convenient to describe a piece by randomly sampling its moves so that we don't need to keep track of a list of different board states in the code.)


sample_fr_move (Board board, Square source)
{
    while (true) {
    Square dest = translate(source, {+1, 0}); // a forward rook (repeatedly) moves +1 vertically and 0 horizontally
    if (off_board(dest)) { break; }
    Color destcolor = get_color(board, dest);
    if (destcolor == FRIEND) { break; } // blocked by friend
    if (destcolor == ENEMY)  { make_move(board, source, dest); break; } // capture enemy
    if (destcolor == EMPTY ) { make_move(board, source, dest); if (?) { break; } } // may "capture" empty and stop-or-slide as wished
    source = dest;
}
make_move (Board board, Square source, Square dest)
{ // we assume source and dest differ
    set_piece(board, dest, get_piece(board, source));
    set_piece(board, source, empty_piece);
}


What if we wanted to sample a move from a forward-right crab (this piece leaps 2 units forward and 1 unit to the right)?  In addition to changing the step "{+1, 0}" into "{+2, +1}", we'd replace the "if (?) { break; }" by "break;".  Otherwise we'd get a two-o-clock knightrider.  More generally, it is interesting to consider within the body of each of the three conditionals any of the following three actions:

    break; // blocked
    make_move(board, source, dest); break; // simple capture
    make_move(board, source, dest); if (?) { break; } // capture and slide


Let us notate the three-cubed possibilities by strings of the form "0,1,or 2 plus signs followed by 0,1,or 2 minus signs followed by followed by 0,1,or 2 periods".  The number of plus signs indicates whether friendly squares block, may be simply captured, or may be captured.  The minus signs and periods do likewise for enemy squares and empty squares.  Thus, we might notate various forward-right pieces as follows:
-..{{+1,+1}}   --- forward-right bishop
-.{{+2,+1}}   --- forward-right crab
-{{+1,+1}}     --- forward-right pawn (without en-passant or promotion)
+.{{+1,+1}}   --- forward-right anti-king (more properly, forward-right anti-mann)

PIECE NOTATION: UNIONS.   To get full "atoms", we take unions over permissible directions.  For example, a queen is a union of eight sliders analogous to the forward-right bishop.  The sets of possible directions we find most interesting are those cut out by forward/backward constraint together with a squared-length-of-length.  We notate such sets by a forward/backward prefix (carat, equals, vee, or no prefix to represent strictly forward, purely horizontal, strictly backward, or no constraint) and a SSL suffix (a positive integer).  For example,
-.2   --- bishop
-.5   --- knight
-..5   --- nightrider
-^2   --- capture-only pawn (without en passant or promotion)

Each of the above represents an "atom".  We describe unions of atoms by concatenation:
.^1-^2    --- pawn (without double-move, en-passant, or promotion)
-..1-..2  --- queen
-.1-.2    --- mann

Setup

SETUP.  Bovine chess's setup looks exactly like chess's.  We use pawns/knights/bishops/rooks/queens/kings to represent grasses/manatees/bishons/aurooks/hathors/royalcows.  In this setup, a2/h2 are undefended.

Pieces

PIECES IN BOVINE CHESS.   Whereas orthodox chess features the pawn, knight, bishop, rook, queen, and royal mann, Bovine Chess features:
.^1-2      --- ♟ (grass): noncaptures forward like a wazir, captures like a ferz.  Estimated value: 2 pawns.
.^1-..v5   --- ♞ (manatee): noncaptures forward like a wazir, moves backward like a nightrider.  Thus, tends to be "submerged" in friendly camp.  Useful defender.  Estimated value: 3 pawns.
-1-2..2    --- ♝ (bishon; portmanteau of Bison, Bishop): noncaptures like bishop; captures like a mann.   Thus, "short term colorbound".  Estimated value: 5 pawns.
--.++5     --- ♜ (aurook; portmanteau of Auroch, Rook): moves like a nightrider but every square visited save the last must contain a friendly or enemy piece.  Those intermediate are all captured.  Estimated value: 3 pawns.
--..=1-..1 --- ♛ (hathor): one or more horizontal rook moves in the same direction, or a single rook move.  Powerful attacker.   Estimated value: 9 pawns.
+1+2       --- ♚ (royal cow): a mann that captures friendly pieces.  May not move to empty squares or capture enemy pieces.  Compared to FIDE king, less mobile but less susceptible to suffocation and back rank mates.


EXAMPLE POSITIONS.   In the following (black to move), black is in check.  Indeed, the ♖b1 (white aurook) forks ♚e7 (black royal cow) and ♞a3 (black manatee).  Luckily, black has a defense; in fact, black's only move starts a mate in four:
-- ♛b1+, ♗b1, ♝d3, ♗d3, ♝c1+, ♔c3, ♝c1#
-- OR ♛b1+, ♗b1, ♝d3, ♔b1, ♝c2#
-- OR ♛b1+, ♔c3, ♝c4#

(FEN 8/4k3/b6b/8/8/n1P1B3/1K3PPP/BR1B3q)

In the following (black to move), black has a mate in four:
-- ♞c2, ♙c2, ♜c2, ♗e3, ♜e3, ♙e5, ♚e6# (stalemate, which counts as a checkmate)
-- OR ♞c2, ♗e3, ♞c1+, ♔e3, ♜e4# (stalemate, which counts as a checkmate)
-- OR ♞c2, ♙e5, ♞c1#

(FEN 8/4k3/r7/2p5/1p2P3/1Pn5/4K3/6B1)

Rules


RULES.   As in ordinary chess, the goal is to checkmate the enemy's royal piece.  Unlike in ordinary chess, stalemates count as losses for the stalemated party.  Aurooks may not make moves that would result in the capture of their own royal cow.  Also, there is no castling, en passant, draw by repetition (these FIDE rules all necessitate an expanded representation of game state).   Observe that none of our pieces may promote.  All and only those moves that involve at least one capture (whether the captured piece be friend or foe) reset the 50 move counter.



This 'user submitted' page is a collaboration between the posting user and the Chess Variant Pages. Registered contributors to the Chess Variant Pages have the ability to post their own works, subject to review and editing by the Chess Variant Pages Editorial Staff.


By sam tenka.

Last revised by sam tenka.


Web page created: 2022-01-26. Web page last updated: 2022-12-06

Revisions of MSbovine-chess