I am interested in having developed a particular type of chess playing bot that would be given coordinates for a section of the screen that corresponds to a chess board. This could be another chess GUI application (such as arena or fritz), or a website. There will be 2 types of modes. In the first mode, the bot would constantly watch the board for opponent board move updates, and feed these moves into a type of chess engine (with native protocol). The engine would return back a move for you to make, and using WinAPI, control the mouse to make that move on behalf of you. Repeat process until checkmate. Another portion of the bot will be non-embedded engine mode. It will require the use of a second chess board reference GUI (such as arena or fritz) to copy moves from and feed moves into. The bot simply will act as a move replicator in this mode and is transparent to most of the chess logic.
I have working existing source code for prototypes which can be used for conceptual advantages.
Requirements:
1. Basic chess logic must be understood. The purpose of this software is to allow computer chess enthusiasts to test and tournament engines against each other.
2. Chess engine UCI protocol must be implemented and supported (documentation available)
3. Image processing experience. The bot must as fast as possible gather a portion of the screen, process it into chess board information, and determine what pieces move. Speed and efficiency is critically important.
4. Optimization technologies such as OpenCV to help speed the image processing section.
5. [login to view URL] Sikuli Script automates anything you see on the screen. It uses image recognition to identify and control GUI components.