Franky - UCI Chess Engine (java)
Modern C++20 UCI Chess Engine
Author: Frank Kopp
Franky 1.2.0 what's new?
Feature Summary:
- Configuration Refactor - centralized configuration
- Best-Move Instability Time Management
- Add selective check extensions (early move limit) (~+30ELO)
- PlyInfo/plyStack
- Singular Extensions (~+27ELO)
- Triangular PV Table
- MoveList Static Array Refactor
- UCI bench Command
- Arena Bench Integration
PR Content
This pull request introduces several enhancements and documentation updates focused on the configuration system, search algorithm tunables, and CI build reliability for FrankyCPP. The most significant changes are the improved configuration registry system and expanded search parameters, along with more robust CI workflows and updated documentation reflecting recent architectural changes.
Configuration System and Documentation Updates:
Introduced a
config/directory and a newConfigRegistry-based configuration system, which centralizes config definitions and automates YAML/CLI/UCI integration. Updated documentation and usage instructions to reflect this new approach, including compile-time validation and improved discoverability via CLI options. (.github/copilot-instructions.md,docs/Architecture.md,README.md,docs/FrankyCPP_Codebase_Review.md) [1] [2] [3] [4] [5] [6] [7]Added and documented new command-line options for configuration discovery and engine control, including
--show-config,--format,--domain, and others. (README.md,docs/Architecture.md) [1] [2]
Search Algorithm Enhancements:
Added new search tunables to
config/search.yaml, including early check extension limits, singular extensions (with margin, min depth, reduction), and best-move instability time management parameters. These options allow finer control over search behavior and time allocation. (config/search.yaml) [1] [2]Updated documentation to describe new search features, such as per-ply state management with
PlyInfo, singular extensions, and best-move instability detection. (docs/Architecture.md) [1] [2] [3]
CI Build Reliability and Caching:
- Improved GitHub Actions CI workflow for both Windows and Linux:
- Added explicit export of cache environment variables for vcpkg binary caching.
- Enabled vcpkg binary caching to GitHub Actions cache for faster builds.
- Added retry logic to the CMake configure step to handle transient vcpkg/network failures, reducing spurious CI failures. (
.github/workflows/ci-build.yml) [1] [2] [3] [4] [5] [6]
Versioning:
- Bumped project version to
1.2.0inCMakeLists.txt.
Documentation Formatting and Corrections:
- Improved formatting in architecture documentation tables for consistency and clarity. (
docs/Architecture.md) [1] [2] [3] - Updated documentation references and last updated dates. (
.github/copilot-instructions.md)
These updates collectively improve the maintainability, configurability, and reliability of the FrankyCPP project.

Comments
Post a Comment