main -> Ghost 3 Beta

Ghost 3 is still in Beta. This is just a temporary page to provide some information on the status.

new!2016-10-15: New Beta version is released containing important bugfixes.

What has changed between Ghost 2 and Ghost 3?

The search has been rewritten from scratch to support parallelism. There are some other improvements, but the new search is definitely the most important change.

Technically, it uses work stealing provided by the Threading Building Blocks library. From the algorithmic side, it is currently a rather minimal search. Like Ghost 2, it still uses MTD(f).

For the first time, I experimented with Singular Extensions (SE), which was definitely a huge win for Ghost. Although, I try to keep the engine as original as possible, my current SE implementation is inspired by ideas popularized by Stockfish. Kudos to the Stockfish team, it is a great engine!

Status: What still needs to be done before the first stable release?

Before I will release Ghost 3 officially, I would like to address at least these issues:

  1. Stability:

    That is the most important open issue. If you let it play many games, you will notice that it sometimes just crashes. That definitely needs to be improved. After fixing critical two bugs, the cause of the crashes seems to be solved.

  2. Windows support:

    That was a major issue for a long time, as Visual Studio lacks behind in C++14 support. Only recently, I was able to port it to Windows using MinGW and GCC.

    Ghost 2 was ported to Windows using Cygwin, but Ghost 3 uses Threading Building Blocks, which is not supported. Finally, I was able to compile it with MinGW.

    For those having the same problem, I can recommend the rather unknown new project called mysys2. It provides a MinGW like environment in combination with the nice pacman package manager from Arch Linux.

    I have not tested 32-bit support but I assume that it will work as well. In a very brief test, 32-bit causes no problems.
  3. Missing protocol support

    For instance, Ghost will just use all CPUs on the machine. I have not yet implemented the parts of the WinBoard/XBoard protocol that deal with parallel engines. XBoard's cores command is now implemented. Ghost 3 will only as many cores as requested.

But even this incomplete stage, Ghost 3 should be a stronger engine than Ghost 2. So, let the Beta begin. :-)

Download links:

For 64-bit Windows, you can download Ghost 3 here (or, for older CPUs before 2010, use the 64-bit non-POPCNT version). If you are interested in a 32-bit version or a Linux binary, please let me know.

Install guide (64-bit version):

Tuning guide:


For questions:

Flattr this
authors: Michael Claßen, Philipp Claßen
Last modified: Tue Sep 15 00:16:30 CET 2016
Valid HTML 4.0!

Valid CSS!