Speaking of variants, how well would Winboard cope with variants with more irregular boards?
Specifically, I am thinking of:
Alice Chess - Two 8x8 boards side-by-side, in Zilllions, I do this as a 17x8 with the middle row not in play (but that doesn't work if one simply alternates square colours, as the second board gets the wrong colouring then).
Dragon Chess (Lex Parker's) - 16x10, but with 3x3 cut away from each corner (or, as I believe the official description is, 10x10 with a 3x4 flank added on to each side).
Troitzky Chess - 10x10, but with 3 squares cut away from each corner, giving a rounded board.
Circular Chess - Concentric circles, with lines radiating from the center cutting them into "squares".
If I ever get around to doing a chess engine (I've done engines for other abstract games in the past), these are included in the list of variants I would be interested in implementing.
Chess variant tournament: Spartan Chess
Moderator: Ras
-
enhorning
- Posts: 342
- Joined: Wed Jan 05, 2011 10:05 pm
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Chess variant tournament: Spartan Chess
Sure. Thing is though, these are all features that are "supposed" to work, but don't because it hasn't been needed for any variant I tried to support earlier, so I'll probably fix it anyway.
What would be the main "other" variants that are worth supporting? It looks like mini-shogi wouldn't be very hard to do...
What would be the main "other" variants that are worth supporting? It looks like mini-shogi wouldn't be very hard to do...
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Chess variant tournament: Spartan Chess
I don't think it matters, just create a board of the size you need (there is a size restriction though, I think you can only do 10 ranks) and ignore the squares that don't exist...Speaking of variants, how well would Winboard cope with variants with more irregular boards?
I could easily hack Sjaak to play this, but it'd be hard to make it work as a generic variant...enhorning wrote: Alice Chess - Two 8x8 boards side-by-side, in Zilllions, I do this as a 17x8 with the middle row not in play (but that doesn't work if one simply alternates square colours, as the second board gets the wrong colouring then).
Sjaak couldn't play it, since the resulting board (160 squares) is too large for it.Dragon Chess (Lex Parker's) - 16x10, but with 3x3 cut away from each corner (or, as I believe the official description is, 10x10 with a 3x4 flank added on to each side).
Easy. The following variant definition should let you play this with Sjaak under WinBoard (note: the piece values are probably wrong):Troitzky Chess - 10x10, but with 3 squares cut away from each corner, giving a rounded board.
Code: Select all
Variant: Troitzky Chess (10x10)
Board: 10x10
FEN: "4qk4/2rnbbnr2/1pppppppp1/10/10/10/10/1PPPPPPPP1/2RNBBNR2/4QK4 w KQkq -"
Zone: white_promotion = a6,b8,c9,d9,e10,f10,g9,h9,i8,j6
Zone: black_promotion = a5,b3,c2,d2,e1,f1,g2,h2,i3,j5
Zone: rank8 = b8,c8,d8,e8,f8,g8,h8,i8
Zone: rank3 = b3,c3,d3,e3,f3,g3,h3,i3
Exclude: a1,b1,c1,d1,g1,h1,i1,j1,a2,b2,i2,j2,a3,j3,a4,j4
Exclude: a10,b10,c10,d10,g10,h10,i10,j10,a9,b9,i9,j9,a8,j8,a7,j7
Piece: Knight
Move: leap (2,1)
Symbol: "N", "N,n"
Value: 320
Piece: Bishop
Move: slide (D,A)
Symbol: "B", "B,b"
Value 325
Piece: Rook
Move: slide (H,V)
Symbol: "R", "R,r"
Value: 500
Piece: Queen
Move: slide (D,A,H,V)
Symbol: "Q", "Q,q"
Value: 950
Piece: King
Move: leap(0,1)|(1,1)
Symbol: "K", "K,k"
Flags: royal
Piece: White Pawn
Move: step N
Capture: step NE,NW
Special: rank3, step 2N
Symbol: " ", "P"
Promotion: white_promotion, "QRBN"
Value: 100
Piece: Black Pawn
Move: step S
Capture: step SE,SW
Special: rank8, step 2S
Symbol: " ", ",p"
Promotion: black_promotion, "QRBN"
Value: 100
The topology of the board is not very different from cylinder chess. It shouldn't be hard to do the latter with Sjaak, but it needs a bit of tinkering with the move tables. I'll get to it someday.Circular Chess - Concentric circles, with lines radiating from the center cutting them into "squares".
What are you waiting for?If I ever get around to doing a chess engine (I've done engines for other abstract games in the past), these are included in the list of variants I would be interested in implementing.
-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess variant tournament: Spartan Chess
Like Evert says, most of these boards can be represented by a rectangular board with some squares declared off limits. As it is likely they would have to be played with legality testing off anyway, it would be up to the engine to reject moves to these squares. To make it clearer to a human opponent that these squares are not part of the board, you could fill them with invalid piece types.enhorning wrote:Speaking of variants, how well would Winboard cope with variants with more irregular boards?
For this purpose it would be nice to have a piece that display as a square-filling square. You could then put a black piece of that type on the unused squares to black them out. As the latest WinBoard allows the use of extenal bitmaps for pieces, as well as font-based rendering, the existing configurability of WB is already enough to acheive this.
The Alien Edition already has an internal piece type to black out squares, for the purpose of playing Dark Chess. It would be easy to make this useable through the FEN reader / generator by defining it as * in the FEN. (If I have not already done that.)
If you care about the coloring, you can use 18x8 with two dark files.Specifically, I am thinking of:
Alice Chess - Two 8x8 boards side-by-side, in Zilllions, I do this as a 17x8 with the middle row not in play (but that doesn't work if one simply alternates square colours, as the second board gets the wrong colouring then).
It depends on how you move through the center of the circle. In a variant like this I have seen (where Rooks would move to the exactly opposing file) I once thought how to map that onto a rectangular board. My conclusion was that this topology is equivalent to a 16x9 Moebius board very similar to Cylinder Chess. The only difference is that the a-file connects to the i-file 'flipped', i.e. i1 is next to a18, i2 to a17 etc.Circular Chess - Concentric circles, with lines radiating from the center cutting them into "squares".
There is no true supports for Cylinder Chess in WinBoard, as it is not needed. It has to be played with legality testing off, and the engine is responsible for moving the pieces across the edge. As far as WB is concerned, these are just crazy leaper moves. (E.g. the highlight arrow would never follow the 'natural' path of a move across the boundary, but would point straight from h1 to b3, say.) The only patch I had to make in WinBoard to make it suitable for cylinder was to not treat Kh1-a1 and Ka1-h1 as castlings.
True cylinder support would duplicate at least one file, and preferably allow horizontal scrolling of the board.
Note that the regular WinBoard binary has maximum board size set to 16x10. But it can be simply recompiled with a larger board. The binary for the Alien Edition uses 19x19 (to accomodate Go).
-
enhorning
- Posts: 342
- Joined: Wed Jan 05, 2011 10:05 pm
Re: Chess variant tournament: Spartan Chess
In the variant I was thinking of, the center is cut out. So, topologically, it is equivalent to a 4x16 cylinder. One interesting aspect is that pawns of each player are heading both ways around the circle.hgm wrote:It depends on how you move through the center of the circle.Circular Chess - Concentric circles, with lines radiating from the center cutting them into "squares".

-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess variant tournament: Spartan Chess
OK, that is a different one, wich is indeed a simple cylinder. It is not clear to me how promotion would work, but with legality testing off WinBoard is not picky about promotions, and will allow the engine to promote anything to anything else on every move. The user would have to type promotions in unusual places (or with unusual pieces), though, as there will be no automatic promotion popup or sweep promotion possibility for those.
It would probably be best to play it as 4x16, to have the Pawns move vertically. Otherwise it might spoil WinBoard's handling of e.p. captures.
I was thinking about this one:

This has complex rules for pieces crossing the central void, (each square bordering it connects to the one diametrically opposite to it), which make it equivalent to a Moebius strip.
It would probably be best to play it as 4x16, to have the Pawns move vertically. Otherwise it might spoil WinBoard's handling of e.p. captures.
I was thinking about this one:

This has complex rules for pieces crossing the central void, (each square bordering it connects to the one diametrically opposite to it), which make it equivalent to a Moebius strip.
-
hgm
- Posts: 28454
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess variant tournament: Spartan Chess
About Alice Chess:
It seems to me it must be very inconvenient to play this with two boards. You would have to menatlly project the position of one board on the other all the time. This is of course bacause Alice Chess is really a 3D variant, on an 8x8x2 board. Playing 3D variants by separating the layers is a very poor way to do it, as the 3D topology usually connects the layers very strongly.
So it would be better to play it with a two-layer board. E.g. the upper board transparent, so that you can see what is below. Of course this makes it problematic to handle the pieces on the lower board.
But if I understand the rules of Alice Chess correctly, there can never be two pieces above each other. If a square on the upper layer is occupied, the corresponding square on the lower layer should be empty. So it should be easy to simulate the upper layer by putting all pieces that are there on a pedestal (e.g. a transparent cube or wire-frame table). In fact it would be sufficient to just mark the pieces on the upper layer, e.g. by putting them on top of a draughts chip.
But this basically reduces Alice Chess back to a 2D variant, with an extra state variable per piece, indicating whether it is to be mapped to the upper or lower layer. And this suggests an alternative representation in WinBoard:
Just play Alice Chess as variant crazyhouse without holdings (8x8+0_crazyhouse). In Crazyhouse you have the 'shadow pieces' to indicate whether a piece is a promoted Pawn or a primordial piece. You could use these shadow pieces to represent pieces on the upper layer. In Alice Chess pieces would only block pieces of their 'own kind' (shadow block shadow, normal blocks normal), and 'promote' to the opposite kind on every move. With legality testing off, WinBoard would accept such promotions. This seems a much more convenient representation than the dual-board representation.
It seems to me it must be very inconvenient to play this with two boards. You would have to menatlly project the position of one board on the other all the time. This is of course bacause Alice Chess is really a 3D variant, on an 8x8x2 board. Playing 3D variants by separating the layers is a very poor way to do it, as the 3D topology usually connects the layers very strongly.
So it would be better to play it with a two-layer board. E.g. the upper board transparent, so that you can see what is below. Of course this makes it problematic to handle the pieces on the lower board.
But if I understand the rules of Alice Chess correctly, there can never be two pieces above each other. If a square on the upper layer is occupied, the corresponding square on the lower layer should be empty. So it should be easy to simulate the upper layer by putting all pieces that are there on a pedestal (e.g. a transparent cube or wire-frame table). In fact it would be sufficient to just mark the pieces on the upper layer, e.g. by putting them on top of a draughts chip.
But this basically reduces Alice Chess back to a 2D variant, with an extra state variable per piece, indicating whether it is to be mapped to the upper or lower layer. And this suggests an alternative representation in WinBoard:
Just play Alice Chess as variant crazyhouse without holdings (8x8+0_crazyhouse). In Crazyhouse you have the 'shadow pieces' to indicate whether a piece is a promoted Pawn or a primordial piece. You could use these shadow pieces to represent pieces on the upper layer. In Alice Chess pieces would only block pieces of their 'own kind' (shadow block shadow, normal blocks normal), and 'promote' to the opposite kind on every move. With legality testing off, WinBoard would accept such promotions. This seems a much more convenient representation than the dual-board representation.
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Chess variant tournament: Spartan Chess
I actually saw this exact recommendation in a discussion of the game. Makes sense, although it would take me a bit of getting used to.hgm wrote: But if I understand the rules of Alice Chess correctly, there can never be two pieces above each other. If a square on the upper layer is occupied, the corresponding square on the lower layer should be empty. So it should be easy to simulate the upper layer by putting all pieces that are there on a pedestal (e.g. a transparent cube or wire-frame table). In fact it would be sufficient to just mark the pieces on the upper layer, e.g. by putting them on top of a draughts chip.
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Chess variant tournament: Spartan Chess
I think it's supposed to be played without promotions, which makes it even easier.hgm wrote:OK, that is a different one, wich is indeed a simple cylinder. It is not clear to me how promotion would work, but with legality testing off WinBoard is not picky about promotions, and will allow the engine to promote anything to anything else on every move. The user would have to type promotions in unusual places (or with unusual pieces), though, as there will be no automatic promotion popup or sweep promotion possibility for those.
Which reminds me - in variants where pawns move diagonally (or generally differently), WinBoard sometimes erroneously thinks there's an en-passant capture. Would it be possible to add a piece type that is displayed as a pawn, but that doesn't do en-passant captures? What would already help of course is if it would check whether the pawn that is en-passant captured has just been advanced two spaces or not...It would probably be best to play it as 4x16, to have the Pawns move vertically. Otherwise it might spoil WinBoard's handling of e.p. captures.
Note it's been a while since I first spotted this problem, it may be fixed already in a more recent version. In which case I should take the trouble to update.
I remember playing chess on a Moebius strip (with a normal board, we had to map the transition ourselves). As I recall it was just very weird and not a great deal of fun, so we went back to normal cylinder chess.This has complex rules for pieces crossing the central void, (each square bordering it connects to the one diametrically opposite to it), which make it equivalent to a Moebius strip.
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Chess variant tournament: Spartan Chess
Current version, at 40 moves in 1 minute (match is still running, but I'm going to interrupt it because I need the computer for something else at the moment; I may continue with it again later):Evert wrote: Bit disappointed about Leonidas, but I think I found (and fixed) the problem. I'll need to test it at long time controls (as opposed to "longer" time controls) to be certain though. I'll make sure it's in good shape for the next Spartan match (whenever that is).
Code: Select all
Rank Name Elo + - games score oppo. draws
1 Leonidas 108M 2146 57 57 112 63% 2054 17%
2 Sjaak 511 2054 57 57 112 37% 2146 17%
Le Sj
Leonidas 108M 99
Sjaak 511 0