๐ฐ GiuChess 2.0
A powerful chess engine written in C, supporting both XBoard and UCI protocols.
๐ Overview
GiuChess is a chess engine originally developed by Giuliano Ippoliti in 2005. This version 2.0 has been significantly improved with:
- Zero compilation warnings - Professional, clean codebase
- UCI protocol support - Compatible with modern chess GUIs
- XBoard compatibility - Works with traditional interfaces
- Optimized code - Removed unused variables and improved structure
โจ Features
- Dual Protocol Support: Both UCI and XBoard protocols
- Arena GUI Compatible: Works seamlessly with Arena Chess GUI
- Configurable Depth: Adjustable search depth (1-10 levels)
- Hash Table Support: Configurable hash size (1-1024 MB)
- Multi-threading Ready: Thread configuration support
- Professional Codebase: Zero compilation warnings with
-Wall
๐ Quick Start
Compilation
# Linux/Unix make # Windows (with GCC) gcc -Wall -g -O2 -o GiuChess-2.0.exe *.c -lm
Running the Engine
UCI Mode (Recommended)
./GiuChess-2.0 uci
XBoard Mode
./GiuChess-2.0
๐ฎ Using with Chess GUIs
Arena Chess GUI
- Download and install Arena Chess GUI
- Go to
EnginesโInstall New Engine - Browse to your compiled
GiuChess-2.0.exe - Select "UCI" as the protocol
- Click OK and start playing!
Other UCI-Compatible GUIs
GiuChess 2.0 works with any UCI-compatible chess interface:
- ChessBase
- Fritz
- Scid vs. PC
- Cute Chess
- And many more...
โ๏ธ Configuration
UCI Options
- Hash: Memory for hash tables (1-1024 MB, default: 32)
- Threads: Number of threads (1-1, default: 1)
- Depth: Search depth (1-10, default: 5)
Example UCI Session
uci
setoption name Hash value 64
setoption name Depth value 6
isready
position startpos moves e2e4 e7e5
go depth 5
๐ ๏ธ Development
Project Structure
GiuChess/
โโโ *.c, *.h # Core engine source files
โโโ uci.c, uci.h # UCI protocol implementation
โโโ Makefile # Build configuration
โโโ scripts/ # Utility scripts
โโโ CODE_CLEANUP.md # Development documentation
โโโ README_UCI.md # UCI-specific documentation
Building from Source
Prerequisites
- GCC compiler
- Make utility
- Standard C libraries
Compilation Options
# Debug build make debug # Release build (optimized) make # Clean build files make clean
๐ Documentation
README_UCI.md- UCI protocol usage guideCODE_CLEANUP.md- Development and cleanup documentationtest_uci.txt- UCI testing commands
๐งช Testing
Quick UCI Test
echo -e "uci\nisready\nquit" | ./GiuChess-2.0 uci
Expected output:
id name GiuChess-2.0
id author Giuliano Ippoliti
option name Hash type spin default 32 min 1 max 1024
option name Threads type spin default 1 min 1 max 1
option name Depth type spin default 5 min 1 max 10
uciok
readyok
XBoard Test
Use the provided scripts in the scripts/ directory for XBoard testing.
๐ Version History
Version 2.0 (2025)
- โ Major code cleanup: Removed 60+ unused variables
- โ
Zero compilation warnings: Professional codebase with
-Wall - โ UCI protocol support: Modern chess GUI compatibility
- โ Improved documentation: Comprehensive guides and examples
- โ Enhanced build system: Streamlined compilation process
Version 1.0 (2005)
- Initial release by Giuliano Ippoliti
- XBoard protocol support
- Basic chess engine functionality
๐ฅ Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes with proper testing
- Ensure zero compilation warnings
- Submit a pull request
๐ License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
๐จโ๐ป Authors
- Giuliano Ippoliti - Original author (2005)
- Code cleanup and UCI support - Enhanced with Claude 4 assistance (2025)
๐ Links
GiuChess 2.0 - A professional chess engine with modern compatibility ๐