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.
1) INTRODUCTION AND 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>gmail.com and let me know.
2) GENERAL DESCRIPTION
---------------------------------------
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.
3) FUTURE PLANS
---------------------------------------
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
......
4) RUNNING Rodin. SYSTEM REQUERIMENTS
---------------------------------------
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
at http://www.open-aurec.com/wbforum/viewtopic.php?f=19&t=51528
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.
5) KNOWN PROBLEMS
---------------------------------------
Maybe some. If you see one, please, let me know.
6) LICENSE
---------------------------------------
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.
7) CREDITS
---------------------------------------
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 (http://www.talkchess.com).
- 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: http://web.archive.org/web/20070707012511/http://www.brucemo.com/compchess/programming/index.htm
- Andres Valverde, Pedro Castro and Sergio MartĂnez, for his support.
- Daniel Shawul for bitbases.
- My chess club colleagues.
- Users of the http://www.cprogramming.com forum.
8) VERSIONS HISTORY
---------------------------------------
*** 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!
Thanks
Fermin Serrano
clonfsp<at>gmail.com
http://sites.google.com/site/clonfsp/