Rookie

Home * Engines * Rookie



Rookie, a family of chess programs developed by Marcel van Kervinck. Rookie started its life in the early 90s, evolved from a mate-in-two problem solver, and was entirely written in 68000 assembly to run on an Amiga, since Rookie 1.0 with an own Graphical User Interface written in C. Rookie 2.x was pure C and active during the late 90s, while Rookie 3.x, a complete rewrite from scratch, appeared in 2010 after Marcel took a long break from computer chess programming.

=Rookie 2.0= The Chess Engine Communication Protocol aka XBoard compatible Rookie 2.0 was written in C and subject of Marcel's Masters Thesis at Eindhoven University of Technology in 2002, with a detailed description of its design considerations and implementation decisions.

Search
Chapter 2 covers the search topics PVS, iterative deepening, quiescence search, move ordering, SEE, killer- and counter moves, history heuristic, fractional extensions, pruning, null move pruning, transposition table, and a Bloom filter like hash table to detect repetitions, and much more interesting stuff.

Evaluation
Chapter 3 of the thesis elaborates on evaluation, chapter 4 on the opening book including book learning. The instructive overview of Rookie's 2.0 evaluator demonstrates its components including various hash-, material- and dynamic piece-square tables :

Triple Stage Evaluator

 * Stage 1: material and pawn-king structure
 * Stage 2: dynamic piece-square tables
 * Stage 3: mobility and board control

Rookie 2.0: Triple Stage Evaluator with conditional lazy eval short cuts

The Big Picture
Overview of Rookie 2.0 Evaluator

=Rookie 3= After years "out of business", Marcel started Rookie 3.0, a 100% rewrite from scratch, but still using incremental attack tables and dynamic piece-square tables of Rookie 1, so he decided to stick with the name.

=Tournaments= Rookie 0.82 had its debut at the DOCCC 1993, Rooie 2.0 further played the DOCCC 1997 and DOCCC 1998, and Rookie 3.x the DOCCC 2010, CPT 2011, ICT 2011, CCT13, the Fifth Annual World Computer Rapid Chess Championships 2011, and the 19th World Computer Chess Championship in Tilburg 2011. In June 2013, Rookie with upcoming repetition detection implemented, won the ICT 2013.

Rookie of the Year Award
DOCCC 2010: Marcel van Kervinck receives the "Rookie of the Year Award" from Cock de Gorter

ICT 2011
ICT 2011: Marcel van Kervinck and Gyula Horváth, Rookie - Pandix

DOCCC 1997
DOCCC 1997, Round 10, Diep - Rookie 2.0 [Event "DOCCC 1997"] [Site "Alphen a/d Rijn NED"] [Date "1997.11.30"] [Round "10"] [White "Diep"] [Black "Rookie 2.0"] [Result "0-1"]

1.d4 Nf6 2.c4 e6 3.g3 Bb4+ 4.Bd2 Be7 5.Bg2 d5 6.Nf3 O-O 7.O-O c6 8.Qc2 Nbd7 9.Bf4 Nh5 10.Bc1 Nhf6 11.b3 b6 12.Rd1 Bb7 13.Nc3 Rc8 14.Bf4 b5 15.c5 b4 16.Nb1 Ne4 17.Ne5 Nxe5 18.Bxe5 Nf6 19.Qd2 a5 20.a3 bxa3 21.Rxa3 Ra8 22.Rc1 Ng4 23.Bf4 h6 24.f3 Nf6 25.Qc3 Nd7 26.Nd2 Re8 27.Bd6 Bxd6 28.cxd6 Qb8 29.Rxa5 Rxa5 30.Qxa5 Qxd6 31.Qc3 e5 32.e3 g5 33.b4 Ra8 34.Nb3 Ra3 35.Bh3 exd4 36.exd4 Nb6 37.Qc5 Qf6 38.Qxb6 Qe7 39.Nd2 Ra6 40.Qc5 Qe3+ 41.Kh1 Qxd2 42.Bg2 Kg7 43.f4 Ra2 44.Rg1 Rb2 45.fxg5 Qxg5 46.Rf1 Qd2 47.Rg1 Qxb4 48.Qxb4 Rxb4 49.Rd1 Bc8 50.Kg1 Bf5 51.Rd2 Rc4 52.Kf2 Rc3 53.Bf3 Be4 54.Be2 c5 55.dxc5 Rxc5 56.Bf3 f5 57.Bxe4 dxe4 58.Ke3 Rc3+ 59.Kd4 Rf3 60.Rb2 Kf6 61.Ra2 Rd3+ 62.Kc4 Kg5 63.Ra6 h5 64.h4+ Kg4 65.Rg6+ Kh3 66.Rg5 Rf3 67.Rxh5 Kxg3 68.Rh8 e3 69.Kd3 Kf2 70.Re8 f4 71.Ke4 e2 72.Kf5 Re3 73.Ra8 e1=Q 74.Ra6 Qe2 75.Rb6 Qh5+ 76.Kf6 Qh6+ 77.Kf7 Qxb6 78.h5 Qd6 79.Kg8 Re7 80.Kh8 Qd8# 0-1

WCCC 2011
WCCC 2011, Round 1, Rookie 3.4 - Shredder [Event "WCCC 2011"] [Site "Tilburg NED"] [Date "2011.11.23"] [Round "1"] [White "Rookie"] [Black "Shredder"] [Result "1/2-1/2"]

1.e4 c5 2.Nc3 e6 3.Nf3 a6 4.d4 cxd4 5.Nxd4 Qc7 6.Qf3 Bd6 7.Be3 Nc6 8.O-O-O Be5 9.Qe2 Nf6 10.g3 d6 11.f4 Bxd4 12.Bxd4 e5 13.fxe5 Nxd4 14.Rxd4 dxe5 15.Rc4 Qa5 16.Qe3 Be6 17.Qc5 Qxc5 18.Rxc5 Nd7 19.Rc7 Rb8 20.Nd5 Rf8 21.Bg2 Kd8 22.Rc3 Bxd5 23.exd5 f5 24.d6 g6 25.Rd1 e4 26.g4 Rc8 27.Rxc8 Kxc8 28.gxf5 gxf5 29.Rd5 Kd8 30.c4 Nb6 31.Rd4 Re8 32.Kd2 h6 33.b4 Rg8 34.Bh3 Rg5 35.c5 Nd7 36.Rd5 f4 37.Rf5 Rxf5 38.Bxf5 e3 39.Ke2 Ne5 40.a3 h5 41.Bh3 Nc6 42.Bf1 Ne5 43.h4 Kc8 44.a4 Nc6 45.b5 axb5 46.axb5 Nd4 47.Kd3 Nxb5 48.Be2 Kd7 49.Bxh5 Nxd6 50.cxd6 Kxd6 51.Ke4 f3 52.Kxe3 f2 53.Kxf2 Kd5 1/2-1/2

=See also=
 * Floyd
 * MSCP

=Publications=
 * Marcel van Kervinck (2002). The design and implementation of the Rookie 2.0 Chess Playing Program. Masters Thesis, pdf
 * Marcel van Kervinck (2002). A pattern-recognition strategy for chess position evaluation. Slides from The design and implementation of the Rookie 2.0 Chess Playing Program.
 * Marcel van Kervinck (2013). A fast software-based method for upcoming cycle detection in search trees. pdf preview » Repetitions

=Forum Posts=
 * Rookie program deserves a look by Fernando Villegas, CCC, October 19, 1998
 * Rotor uses Rookie's attack table! by Jan Brouwer, CCC, February 26, 2010 » Rotor
 * Re: Programmers: what's the story behind the name of your engine by Marcel van Kervinck, CCC, June 18, 2011
 * 2011 Fifth Annual ACCA WCRCC: Rookie games by Marcel van Kervinck, CCC, July 24, 2011
 * ICT13 programmer's report: Rookie v3.7 by Marcel van Kervinck, OpenChess Forum, June 04, 2013 » ICT 2013
 * test position: Rookie-Arasan by Jon Dart, CCC, January 27, 2014 » Arasan, Zugzwang
 * Some SMP measurements with Rookie v3 by Marcel van Kervinck, CCC, February 05, 2015 » Parallel Search

=External Links=

Chess Engine

 * Rookie's ICGA Tournaments
 * Index of /rookie by Marcel van Kervinck
 * The chess games of Rookie from chessgames.com

Misc

 * Rookie from Wikipedia
 * Rookie of the Year (award) from Wikipedia


 * rookie - Wiktionary

=References=

Up one Level