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/