Adeon, a simple UCI-compliant chess engine, written in C# using the MinimalChess library. Based on code from the TIChess 4.0 engine.
Author: OneHalf (KawaiiFiveO)
Adeon has a notable feature: its "Style" profiles allow you to customize the playstyle of the engine. Choose from existing profiles, or create your own!
Features
Search Algorithm: An improved version of TIChess's NegaMax Alpha-Beta search algorithm.
Opening Book: Loaded from a customizable book.json file.
Style Profiles: styles.json enables support for different engine personalities and playing styles.
Move Ordering & Search Efficiency: Search performance is enhanced through several techniques:
Transposition Table: A hash table is used to store previously analyzed positions, preventing redundant calculations.
MVV-LVA: Captures are prioritized by sorting the "Most Valuable Victim" against the "Least Valuable Aggressor".
Killer Move Heuristic: Quiet moves that cause a beta-cutoff are tried earlier in subsequent nodes at the same depth.
Null Move Pruning: The engine speculatively gives the opponent a free move; if the resulting position is still very strong for the engine, it assumes the original line is not worth a deep search and prunes it, saving valuable time.
Late Move Reductions: Saves time by focusing effort on the most promising moves, while a re-search mechanism ensures that surprisingly good moves are not missed.
Quiescence Search: To avoid the horizon effect, the search is extended beyond its nominal depth to analyze tactical sequences (captures and check evasions) until the position is "quiet."
Framework: The core algorithm runs within a UCI-compliant shell that handles:
Communication with chess GUIs (Universal Chess Interface).
Iterative deepening and time management in a separate thread.
Profiles
In your frontend, you can set a Style for Adeon. These profiles change the behavior of the engine. Currently, the profiles are:
Normal: Adeon will play at full strength.
Easy: Adeon will limit searching to a depth of 5. This is comparable to playing TIChess on a real calculator.
The Chess.com Cheater: Try it for yourself and see ;)
The Unhinged Gambiteer: ?!
Sample Games
Adeon (Easy) vs. Toledo NanoChess (~1000 Elo)
MinimalChess 0.4 (1816 Elo) vs. Adeon (Cheater)
Search Algorithm: An improved version of TIChess's NegaMax Alpha-Beta search algorithm.
Opening Book: Loaded from a customizable book.json file.
Style Profiles: styles.json enables support for different engine personalities and playing styles.
Move Ordering & Search Efficiency: Search performance is enhanced through several techniques:
Transposition Table: A hash table is used to store previously analyzed positions, preventing redundant calculations.
MVV-LVA: Captures are prioritized by sorting the "Most Valuable Victim" against the "Least Valuable Aggressor".
Killer Move Heuristic: Quiet moves that cause a beta-cutoff are tried earlier in subsequent nodes at the same depth.
Null Move Pruning: The engine speculatively gives the opponent a free move; if the resulting position is still very strong for the engine, it assumes the original line is not worth a deep search and prunes it, saving valuable time.
Late Move Reductions: Saves time by focusing effort on the most promising moves, while a re-search mechanism ensures that surprisingly good moves are not missed.
Quiescence Search: To avoid the horizon effect, the search is extended beyond its nominal depth to analyze tactical sequences (captures and check evasions) until the position is "quiet."
Framework: The core algorithm runs within a UCI-compliant shell that handles:
Communication with chess GUIs (Universal Chess Interface).
Iterative deepening and time management in a separate thread.
Profiles
In your frontend, you can set a Style for Adeon. These profiles change the behavior of the engine. Currently, the profiles are:
Normal: Adeon will play at full strength.
Easy: Adeon will limit searching to a depth of 5. This is comparable to playing TIChess on a real calculator.
The Chess.com Cheater: Try it for yourself and see ;)
The Unhinged Gambiteer: ?!
Sample Games
Adeon (Easy) vs. Toledo NanoChess (~1000 Elo)
MinimalChess 0.4 (1816 Elo) vs. Adeon (Cheater)
Strength
Adeon (Normal/Cheater) is currently estimated to play at a ~2100 Elo level, but profiles such as Unhinged Gambiteer are weaker, estimated around ~1600.
Adeon (Normal/Cheater) is currently estimated to play at a ~2100 Elo level, but profiles such as Unhinged Gambiteer are weaker, estimated around ~1600.
Comments
Post a Comment