RODIN v8.0

'Rodin' Chess Engine by Fermin Serrano. Madrid, Spain
Engine version: 8.0
Release date : 7-Feb-2016
Download v8.0 and old versions: End of this page.

Table of Contents:
1) Introduction and history.
2) General description.
3) Future plans
4) Running Rodin. System requirements.
5) Known problems.
6) License.
7) Credits.
8) Version history.


I have been a chess enthusiast since I was 5 years old. I am a computer science engineer who likes programming, so a few years ago I decided to write a chess engine. This was around 10 or 11 years ago, and that engine was based on the fantastic TSCP engine. It was a very educational experience. Now I have
been programming Rodin from seven years now. I hope this engine could be interesting to you.

Rodin is written in C. I have used CodeBlocks with MinGW, as it is free and very good compiler.

At the moment, Rodin has improved his play from previous versions. It plays a decent and enjoyable game. I estimate it has around 2600 ELO in accordance with CCRL 40/40 rating list (based on my own tests).

If you want to stay tuned about the release of new versions of the engine, please contact me by email at clonfsp<at> and let me know.


Rodin has the following features:

- Magic moves bitboard generator. Own implementation (previous version it was to Pradu Kannan's).
- Alpha-Beta search.
- PVS.
- Null Move Pruning.
- MVV/LVA move ordering, combined with a (slow) SEE move ordering
- Hash Table.
- Pawn Hash Table.
- History and killers heuristics for move ordering.
- Extensions and reductions..
- Tapered eval.
- Evals function takes into account mobility, king security, pawn
formations, piece placement and other minor considerations ....
- Support for winboard protocol and ponder.
- Tested with Winboard.
- Algebraic (Nf3) and coordinate (g1f3) notation support.
- Native EPD Suites support.
- Own book based on Polyglot file format.
- Bitbases support. Thanks to Daniel Shawul.
- Book learning (disabled by default), but this code is not fully tested and can have bugs.
- Draw offers.
- Material imbalance tables.
- Detection of draws by perpetual check.
- Personalities.


These are the features I would like to develop in the future (roadmap), in no special order:

- Fix bugs
- Better UCI support (Currently may has bugs).
- Improve the eval function (chess knowledge).
- Improve optimization and code speed.
- Improve the time management module.
- Multithread.
- An many other ideas I have


The Rodin "package" cames with the following files:

- Rodin.exe          -> This is the Windows OS engine.
- Rodin_ARM -> This is the ARM-Linux OS engine.
- Rodin_Android      -> This is the Android OS engine.
- Rodin.cfg          -> Configuration file.
- readme.txt         -> This file.
- book_file_v1.1.bin -> Opening book file.
- logo.bmp           -> Rodin logo in bmp format.
- logo.jpg           -> Rodin logo in jpq format.

Rodin is a winboard engine. I have test it with Winboard/Xboard 4.7.3
UCI support is implemented but it may has bugs and I have noted a decrease in
playing strength, so I would recommend using xboard.

You can download winboard from the Winboard forum

To play against the program, under winboard, the command line is:
winboard /cp /fcp Rodin.exe

There is a configuration "cfg" file that cames with Rodin. The
content of the file has comments that explain different features
to configure the engine.


Maybe some. If you see one, please, let me know.


Rodin is provided "as is". No warranty is provided, although I will
do what I can if you have issues running the engine.

You may redistribute unmodified executables freely as long as this
readme file remains with the executables.


I am very grateful to the following people (among others!):

- My family. They are always there....
- My wife Susana for her love and support.
- Programmers of the CC Forum (
- Tom Kerrigan for his didactic(learning) TCSP engine. Was my first inspiration, altought the current version has none from it.
- Bruce Moreland and his excellent guide:
- Andres Valverde, Pedro Castro and Sergio Martínez, for his support.
- Daniel Shawul for bitbases.
- My chess club colleagues.
- Users of the forum.


*** Feb 2015

8.0 : Tenth release
- Own magics.
- Eval and search improvements (lots of them).
- Bug fixes.
- Learning.
- Personalities.

*** May 2014

7.0 : Nineth release
- Eval tuned.
- Better time management.
- Improves in some search parts.
- Speed optimizations.

*** Apr 2013

6.0 : Eighth release.
- Eval tuned.
- Better time management.
- Improves in some search parts.
- Speed optimizations.
- New move ordering function.
- Book learning (not fully tested, can have bugs).

*** Sep 2012

5.1 : Bug fix, altought can continue crashing as it looks like a compiler bug.

5.0 : Seventh release.
- More chess knowledge added to eval function.
- Better time management.
- Improves in some search parts.
- Speed optimizations.

*** Jul 2011

4.0 : Sixth release.
- Changes in internal data structures.
- Tappered eval.
- More chess knowledge added to eval function.
- Improves in extensions and reductions.
- Opening book based on polyglot file format. Own book.
- Speed optimizations.

*** Apr 2010

3.0 : New release stronger than before
- Tunning of lots of parameters and variables to increase strenght.
- Ponder bug fix.
- New chess knowledge.
- Delete parts which dont make any good to the results.
- New comand 'skill" to reduce playing strenght.
- New 'eval' command shows positional features score.
- Small tweaks.
- New web site and logo.

*** Ago 2009

2.3a : Fourth release
- Transposition table bug fix
- Opponent fast response bug fix
- Pawn hash table
- Evaluation function re-writed.
- New chess knowledge.

*** Apr 2009

2.1h : Temporary release for playing in Chesswar, not publically available.
- Time management bug fix and routine improvement.
- Adjust bishop pair score

2.1b : Third release. Main features:
- Bugs fix
- New chess knowledge
- Ponder
- Speed code improvements.
- Delete counterproductive code.

*** Nov 2008

1.17 : Second release. Main updates:
- Bugs fix.
- New chessknowledge.
- Delta pruning and lazy-eval improve.
- Better opening phase detection routine.

*** Aug 2008

1.14 : This is the first version of the engine. It has no many features but it can play a decent game.

I hope you enjoy using Rodin as much as I enjoy writing it!

Fermin Serrano
21 sept. 2012 9:27
25 abr. 2013 10:24
12 may. 2014 9:14
7 feb. 2016 2:08