Would give the engine the position after 1 e4 c6 You can see that you can use the protocol to set up any position with the position command followed by a FEN string (other variants are available).Īs an example the command: position fen rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq c6 0 2 I don't even really need the program to move the pieces on the board for me as I can do that myself.ĭoes anyone have an idea of how I might get started on this project?Īs a high level it defines a set of commands to be sent from the GUI to the engine and vice versa. Ideally, I'd like to be able to set up any random position on my GUI, and have that position sent to the engine for analysis, with the best move recommendations returned. My board is made up of div tags, the pieces are just PNGs that can be dragged and dropped around on the board with complete freedom independent of chess rules. I am not interested in writing my own chess engine, I would simply like to download an engine and have it interact with the GUI that I have written.
I don't know how to make my program UCI compatible.
Most chess engines like StockFish or Rybka use a UCI for communicating with the GUI. I haven't a clue on how to go about this. I am now looking at the idea that I would like to hook my program up to a chess engine. This is very useful when trying to teach chess to beginners. This allows the freedom to set up illegal positions or move the same side multiple times. It is up to the user to follow the rules of chess correctly. Currently the program does not follow any of the rules of chess. The GUI was written using HTML for the appearance, and JavaScript for the behavior of the pieces. I have written my own GUI for playing and teaching chess.