By default, the gnubg bot is assigned to Player0, which makes it play with
Chequers0, and the human player to Player1, which makes him/her play with
Chequers1 (this already is a bit weird, as normally the human player would
be expected to be Player0 and the bot to be Player1).

The only way for the human to play with Chequers0 (i.e. the "white"/"light"
ones in most designs) is to assign the human player to Player0 and the bot
to Player1 (so it plays with Chequers1, the "black"/"dark" ones). The
problem is that Player0's homeboard remains at the top, and Player1's
homeboard at the bottom, which doesn't make sense at all. Even worse, there
is no way/option/setting whatsoever to manually flip the board to correct
this. The "Swap players" function is broken in the same fashion, it swaps
the sides but doesn't rotate the board to make sure the human player's
homeboard is at the bottom of the screen.

Overall, I believe a much saner approach would be to have the human player
default to Player0, playing "light" Chequers0 in a counterclockwise
direction (it is a standard followed by most serious backgammon circles to
have the "light" chequers play counterclockwise and the "dark" chequers to
play clockwise, along with having a lighter colored point at the bottom
right, as seen in these professional backgammon sets:
http://www.gammonvillage.com/backgammon-shop/backgammon-sets/professional-backgammon-sets/
), and the gnubg bot to default to Player1, playing "dark" Chequers1 in a
clockwise direction. Most importantly, by swapping the player assignments
(either from "Settings -> Players", or by using the "Swap players"
function), the board should be rotated (not flipped vertically, but
rotated, which means a combination of a vertical and horizontal flip) by
180 degrees, so that now the human would be Player1 playing "dark"
Chequers1 clockwise, and the bot would be Player0 playing "light" Chequers0
counterclockwise, while the human's homeboard would remain on the bottom
and the bot's at the top.

If, for whatever reason, there is some rationale behind having the AI be
Player0 by default and this is to be kept that way, then at least the 180
degrees board rotation on player swap must be implemented, and best so by
both rotating the board automatically when player assignments are swapped,
as well as providing an independent "Rotate board" function which could be
invoked at any time if so desired. The "Direction"/"Play clockwise"
function should be renamed to be less ambiguous, i.e. to something like
"Player1 plays clockwise" (note that with implementing the much needed
board rotation on player swap the playing direction would change as well,
but this is expected).
_______________________________________________
Bug-gnubg mailing list
Bug-gnubg@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-gnubg

Reply via email to