Bovine Chess
INTRO.
We present a notation for a large class of fairy pieces. Several of these pieces, though compellingly simple, seem not to appear in the Piececlopedia. We illustrate these pieces by defining a chess variant: Bovine Chess. The game is just an illustration of concepts; we have not playtested it.
To learn our general piece notation, skip ahead to "PIECE NOTATION: SUBATOMS" below
Setup
SETUP.
Bovine chess's setup looks exactly like chess's. It's just that the pieces move and capture differently as described below. 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
--- ♟ (bale): noncaptures forward like a wazir, captures like a ferz. Does not promote. Estimated values in mg and eg: ~2 points mg, ~1 point eg.
.^1- ..v5
--- ♞ (manatee): noncaptures forward like a wazir, moves backward like a nightrider. Thus, tends to be "submerged" in friendly camp. Broad defender. ~2 points mg, ~3 points eg.
-1 -2 ..2
--- ♝ (bishon; portmanteau of Bison, Bishop): noncaptures like bishop; captures like a mann. Thus, "short term colorbound". Facile checkmater. ~4 points mg, ~6 points eg.
--.++5
--- ♜ (aurook; portmanteau of Auroch, Rook): moves like a nightrider but every square visited save the last must contain a friendly or enemy piece. Tricky forker. ~3 points mg, ~2 points eg.
..;--1
--- ♛ (hathor): a rook that may take multiple pieces adjacent along its line of attack. Fearsome attacker. ~7 points mg, ~7 points eg.
+1 +2
--- ♚ (royal cow): a mann that captures friendly pieces. May not move to empty squares or capture enemy pieces. Less mobile and less susceptible to back rank mates than king.
Note that the aurook and hathor may capture multiple pieces. The aurook and royalcow may capture friendly pieces. I hope that the increased defensive ability of bales (vs pawns), manatees (vs knights), and bishons (vs bishops) counters the hathor's extraordinary power.
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/3P4/8/n1P1B3/1K3PPP/BRN4q)
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.
We win when we checkmate the enemy's cow. Unlike in ordinary chess, stalemates count as losses for the stalemated party. Aurooks may not capture their own royal cow. I prefer to play Bovine chess without castling, en passant, or draw by repetition. Observe that none of our pieces may promote. All and only those moves that involve at least one capture reset the 50 move counter.
Notes
PIECE NOTATION: SUBATOMS.
We motivate our notation by precisely describing a forward rook (i.e., a shogi lance), then generalizing. How does the forward rook's set of possible moves depend on the source square and on the locations of friendly and enemy pieces? Below is code that answers this question by randomly generating a move; it can generate all and only legal moves. 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 forward-right crabrider. 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 if desired continue
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-and-continued-past. 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 write A B
for "either of A
or B
":
.^1 -^2
--- pawn (without double-move, en-passant, or promotion)
-..1 -..2
--- queen
-.1 -.2
--- mann
PIECE NOTATION: SEQUENCING.
Another natural way to combine moves is to allow one-followed-by-another. We write A;B
for "A
followed by B
". Thus,
.;.^1
--- pawn's double move
..-;..1 ..1
--- xiangqi cannon
..-;.2 ..2
--- neiride (marine bishop)
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.
Web page created: 2022-01-26. Web page last updated: 2022-12-06