GithubHelp home page GithubHelp logo

Comments (5)

ianfab avatar ianfab commented on May 22, 2024

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.

from fairy-stockfish.

gbtami avatar gbtami commented on May 22, 2024

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.
I'm not sure about adding this option to oriental variants (Makruk, Shogi, Xiangqi). Can it be interesting? Or is it meaningless?
Thx for the explanation anyhow!

from fairy-stockfish.

ianfab avatar ianfab commented on May 22, 2024

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.

from fairy-stockfish.

gbtami avatar gbtami commented on May 22, 2024

Yes, I know that GUI is responsible for generating starting position. I added it to PyChess GUI years ago.
I completely forgot that oriental variants has no castling at all so this solved quickly :)

from fairy-stockfish.

ianfab avatar ianfab commented on May 22, 2024

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.

from fairy-stockfish.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.