Duch is a UCI Chess Engine written in Java. Version 1.0.0 is ranked around 2000 ELO
In order to play with Duch, you need a chess GUI that supports UCI protocol like cute-chess or Arena
My goal was to learn about chess programming and create an engine that beats me in chess. Now, it beats me every time.
- Bitboards
- Magic Bitboards
- Transposition Table
- Zobrist Key Hasing
- Static Exchange Evaluation
- Negamax Search
- Alpha-beta pruning
- Late move pruning
- Late move reductions
- Razoring pruning
- Futility pruning
- Iterative deepening
- Move Ordering
- Hash Move
- Most valuable victim / Least valuable attacker
- Killer moves
- History Heuristics
- Evaluation
- Material value
- Material position
- Piece mobility
- Pawn evaluation
Duch is compiled using Maven
mvn package
- Sebastian Pravda
Any contribution or help is welcomed.
This is just a hobby project. There might be some bugs in the code.