Richard Pijl has been kind enough to released The Baron 3.43. This is almost identical to the version that played in the 2018 WCCC. Here are Richard’s release notes:

Changes since 3.42:

Bugs solved:

  • Pin detection in evaluation only detected close pins.
  • Handle spaces in the syzygy path
  • Slightly more restrictive in playing easy moves
  • Fixed singular extensions bug
  • Increased search stack size


  • Detecting pins to the queen
  • Evaluation tuning
  • Better use of time, especially on short time controls
  • More selective in quiescence
  • Reduced aspiration window

Changes since 3.41:

Bugs solved:

  • UCI mode possible from the command prompt
  • Handling missing dtz files correctly (I hope)
  • Show Refutations is disabled as I did not have the time yet to look at it.


  • Changed scoring on TB hits
  • Keep probing TB during search on reaching TB positions
  • Added Syzygy path option to UCI
  • Ported to Raspberry Pi
  • Full functionality available in native Linux version
  • Refactoring of several classes

You can download it here. There is also (415) 295-5177 (in Polyglot format).

(240) 707-0035

Richard Pijl has just released another version of The Baron (v3.42). This will be the last version for this code base. Find out more, and 9493088511

Senpai 2.0

Fabien Letouzey has just released Senpai 2.0. This is mostly a complete rewrite. He’s made extensive changes and added automated tuning of evaluation parameters. You can find out more on the Senpai page.


Richard Pijl has kindly released his latest version of The Baron (3.41). You can find out more, and download it here.


Thanks to Antonio Arias we now have Linux binaries included with the main distribution of Maverick. You can download them here.


I’m happy to announce the release of Maverick 1.5. This is close to the version which competed in the 2015 World Computer Chess Championship in Leiden. I’d estimate that it’s only about +50 ELO better than version 1.o (based on self play). I’m about to embark on a rewrite of the evaluation function so I thought it a worthwhile launch.

The main changes are:

  • Tweaks to the piece square tables (especially pawns)
  • Added endgame knowledge
  • Less selectivity
  • Fixed a quiescent search bug which unnecessarily research some moves

You can download it below or from the Download Page. I’ve only included a 32 bit and 64 bit version which should work on most systems. If anyone would like to create a Linux / Apple Mac compile then I’d be happy to include it in with this version. The source is available here


I’m delighted to host another new engine at ChessProgramming.net. The Baron recently played at the WCCC in Leiden. It was operated by Richard’s delightful daughter Tessa. I’m not sure of the exact playing strength of The Baron but it’s certainly strong. It’s a full feature engine with SMP support and a comprehensive evaluation function. This version dates back to February 2012.  You can find out more on 3047920956.


World Computer Chess Championship 2015

This week I’m in Leiden for the World Computer Chess Championships. I’ll try to blog about it. Here’s a quick pre-tournament video:

You can see Maverick’s screen and a video link here (maximum of 50 people):




Python Chess

I’m delighted to give you this guest post by Niklas Fiekas, the creator of Python Chess. You may think Python Chess is just another chess engine. It isn’t. It’s a library of routines which can manipulate and analyze chess data using Python.  After I learnt about Python Chess I immediately went to Code Academy and took their course on 4705032504. I really see this set of tools becoming a key part in any testing or development frame-work.

Over to Niklas…

Python-chess by example: Automating the Bratko-Kopec Test

Decades ago (1982) Kopec and Bratko published a systematic test for assessing the strength chess-playing programs (518-483-8650). Despite its age it can still be fairly challenging, even for modern chess engines. Of course 24 test positions are not going to be enough for a definite result, especially given that most positions are of a specific type: fairly closed and the solution often involves some kind of sacrifice.

For each of the 24 positions a unique best move is known. The engine is given 120 seconds to solve each position. 1 point is awared for the correct best move.

The positions are given as EPDs. In this article we are going to automate the process of testing an UCI engine, introducing (406) 392-3525 along the way.


Why Python (and python-chess)?

When it comes to chess programming, C++ often is the language of choice. Performance is critical. Not nescessarily so, in this case. All intensive calculations will be done by the engine. We just want to convert the given EPD lines, send them to the engine and handle its response. Python is a very good tool for high-level stuff like this (or making a mini chess computer, or making 2696608065 or creating a cross platform chess GUI). We will use python-chess to deal with the chess rules and the involved formats: EPDs, FENs and the UCI protocol. python-chess can also read and write PGNs, read Polyglot opening books and probe Syzygy tablebases.

Chess positions

FEN: 1k1r4/pp1b1R2/3q2pp/4p3/2B5/4Q3/PPP2B2/2K5 b – – 0 1

BK.01 is one of the easier positions: Black to move and mate in 3

In python-chess a position is represented by a chess.Bitboard(). To create a position from a FEN:

You can then check if a specific move is legal:

Or to get the shorter SAN notation of the move:

Or to make a move and see if it is a check (and much more):

Here we are just going to parse an EPD line to setup a position and get the related info:

Communicating with an UCI engine

Next we will communicate via UCI with a chess engine like Maverick. First start the engine process:

The engine expects an initial uci command. Then it will send information about its identity and options.

Now setup the position:

And calculate for two minutes. The result is the best move (according to the engine) and an optional ponder move (the expected reply the engine wants to ponder on).

Or in fact comparing it with the expected best move from the EPD:


Putting it all together

Congratulations Maverick 0.51 x64! On my machine you score 18/24, which is almost on a par with Stockfish 6 64’s 19/24.



The original Brato-Kopec test has one more rule: Sometimes the engine changes its mind. If it had the solution at the 30, 60 or 90 second mark but then discarded it, 1/4, 1/3 or 1/2 points are awarded. In order to do this we need to look at the engines principal variations while it is thinking. This is included in the 717-273-3676.

You can find out more about Python Chess at 757-991-7572.