-
-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
960 variants #24
Comments
During the implementations I tried to maintain the "UCI_Chess960" option as a universal flag to switch between normal and 960-style shuffling variants, so I expect it to work also for variants like Crazyhouse, Losers, and S-Chess, as well as for large-board variants. So far I however did not really test this feature, except for caparandom/CRC, which is implemented as a separate variant (although under the hood it is just capablanca chess + 960 flag) to be compatible with GUIs. However, for variants with castling of non-royal kings (giveaway, extinction, etc.) the 960 option will not work, because of the difficulty to identify the king-like castling piece when there can be more than one (would perhaps require an FEN extension, e.g., providing the king file in the castling field). Currently it just assumes the pseudo-king to be on the e-file, which of course does not work for 960 positions. |
If I understand correctly I can use "UCI_Chess960" for pychess-variants seek creation dialog (as an optional 960 [x] checkbox) for Standard, Crazyhouse, Capablanca, and S-chess. |
The GUI is usually responsible for generating the starting position in shuffle variants, the engine only supports playing a given position, so just adding the option does not change anything apart from the protocol (castling move and FEN notation). Python-chess for example supports generation of chess960 FENs, but I do not know about any caparandom starting position generator. As a very simple approach one could just randomly shuffle the pieces on the back rank and repeat it until the king is between the rooks and the bishops are on different colors, which does not even require knowledge about the game (can be done just based on the FEN string). The "UCI_Chess960" option only makes sense for variants that use castling, because otherwise the rules of the game do not depend on the starting position, so there is no need for the engine to distinguish. Shuffle variants of games without castling is basically nothing else then a kind of "start from position" feature. |
Yes, I know that GUI is responsible for generating starting position. I added it to PyChess GUI years ago. |
Ah, I was not aware that you already have it, especially not for caparandom. In that case there should indeed not be much more to do than just setting the 960 option. |
Can FairyStockfish play 960 (sub)variants of variants starting with standard chess initial FEN?
(Crazyhouse, Losers, Seirawan, etc.)
The text was updated successfully, but these errors were encountered: