Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 1.71 KB

File metadata and controls

50 lines (39 loc) · 1.71 KB

Project Description

Project Overview

AddexioCE is a C# chess engine using c-chess-cli to join ternaments. The engine and its stragaies is isolated from IO concerns, with UCI as the primary integration surface.

Core Capabilities (UCI Base)

  • Run as a UCI-compatible engine against external GUIs
  • Provide a stable, reusable core API for UCI front-ends
  • Hot-swap decision strategies during runtime without restarting the engine

UCI Mode

UCI mode is the primary runtime interface. The engine runs headless and communicates exclusively through the UCI protocol. All user interaction, configuration, and game control are handled by the UCI host (GUI or tournament manager).

Strategy System

A strategy defines how the engine selects moves. Strategies are pluggable components that can be replaced at runtime without restarting the engine. The engine core provides state and legal moves, while strategies decide which move to choose. The UCI layer can expose strategy selection and configuration via standard UCI options.

Examples:

  • Random strategy
  • Material-based strategy
  • Scripted strategy
  • Future minimax strategy

Development Tasks

Core Engine

  • Board representation
  • Move application
  • Game state tracking
  • Find all leagal moves

Strategy System

  • Strategy State Machine
  • Runtime strategy switching
  • Self-play strategy vs strategy

Gameplay

  • UCI game loop integration
  • Local player vs engine
  • Local engine statagy vs engine statagy

UCI Support

  • UCI command parsing
  • Position setup
  • Move output
  • Option handling and configuration

Testing & Tooling

  • Perft-style validation
  • Self-play stress testing
  • Logging and diagnostics