# Omnichess Omnichess is a UCI-compatible chess engine developed in Dart. This engine was created as a fun project and is not intended for competitive use. It implements the basic functionality required by the UCI protocol so that it can be interfaced with various chess GUIs. ## Features - UCI Protocol Support: Communicate with chess GUIs using standard UCI commands. - Written in Dart: Leverages Dart's simplicity and ease of use. - Fun Implementation: Designed for learning and experimenting rather than serious chess analysis. ## Getting Started ### Prerequisites - Dart SDK (version 3.6.1 or compatible) Ensure Dart is properly installed by running: ```bash dart --version ``` ### Running the Engine To run the engine, execute the following command in your terminal from the root of the project: ```bash dart run ``` ### Compiling the Engine If you want better performance, you can compile the engine to get an executable that can be executed by your GUI. To compile the engine, execute the following command from the root of the project: ```bash dart compile exe -o ``` Replace `` with the name you want to give to the executable. ### UCI Setup After starting the engine, configure your chess GUI to use the UCI protocol. You should set the engine command to either the above `dart run` command or the executable file if you choose to compile it. The engine will then communicate with the GUI for move generation and game state updates. ## Limitations - This engine is a fun project and should not be considered a serious chess engine. - The focus is on UCI compatibility, and while it works with standard command inputs and outputs, its analysis may not be on par with competitive-level engines. ## Contributing Feel free to fork the repository and experiment. Contributions and suggestions are welcome, but please keep in mind that this is primarily a hobby project. ## License This project is provided "as is" without any warranty. Use it for personal or educational purposes, but do not expect competitive level performance. Happy coding and enjoy playing with Omnichess!