From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Vajolet

Vajolet and Vajolet2,
are UCI compliant open source chess engines by Marco Belli, written in C++ and released under the GNU General Public License v3. Vajolet, named after the Vajolet Towers in the Dolomites, started its life in 2010 as C# engine [2]. When Marco worked through Stef Luijten's tutorial on Winglet, Writing a Chess Program in 99 Steps [3] [4], he rewrote Vajolet in C++ [5]. Vajolet 2.03 played the International Gsei Web Tournament 2013 and qualified for the final of 8 Italian and 8 non Italian engines, where it lost from iCE.


Vajolet2, first released in May 2014, was another complete rewrite in C++11 [6]. Apparently, Texel's Tuning Method worked well for Vajolet2 [7].


Board Representation

Vajolet2 is a bitboard engine and used a kindergarten like technique taken from Winglet [8] to determine sliding piece attacks with 32 KiB precalculated lookup tables[64][64] each on ranks, files, diagonals and anti-diagonals, indexed by square and hashed line occupancy - the inner six bits multiplied by a magic factor and shifted right by the strange looking 57, while 58 is more natural to ensure a six bit index range, but factors are designed that the most significant bit of the 64-bit product will be clear [9]. Since June 2016 with Vajolet2 2.2 sliding piece attacks are determined by Pradu Kannan's implementation of Magic Bitboards. Along with piece lists, Vajolet2 performs a staged legal move generation [10].


The search uses C++ function templates to distinguish between pure alpha-beta and PVS, for the main search as well for quiescence. Vajolet2 2.1, released in January 2016, applies Lazy SMP [11]. The list of selectivity features is quite huge.


Move Ordering

Transposition Table


Pawn Structure

King Safety



and more ...

Forum Posts

2010 ...

2015 ...

External Links

Chess Engine



  1. The Torri del Vaiolet in the Dolomites, Fassa Valley, Trentino, Italy, seen descending from the Rifugio Passo Santner. In the bottom at the right the Rifugio Re Alberto, Photo by Vincenzo Gianferrari Pini, August 8, 2000, Vajolet Towers from Wikipedia
  2. Vajolet Chess Engine by Marco Belli, CCC, May 27, 2010
  3. Winglet, Writing a Chess Program in 99 Steps by Stef Luijten, Wayback Machine
  4. Writing a chess program in xx steps by Stef Luijten, CCC, April 18, 2011
  5. Re: where to start chess programming? by Marco Belli, CCC, June 22, 2014
  6. Vajolet2 released by Marco Belli, CCC, March 29, 2014
  7. Re: Vajolet2 released by Marco Belli, CCC, March 31, 2014
  8. Writing a chess program in 99 steps - Move generation for sliding pieces by Stef Luijten, Wayback Machine
  9. see Macros RANKATTACKS, FILEATTACKS, SLIDEA8H1ATTACKS, SLIDEA1H8ATTACKS, etc. in vajolet2/source/browse/movegen.h, or inline functions attackFromRook and attackFromBishop in the more recent vajolet/source/browse/movegen.h
  10. first achievement: MOVE GENERATOR
  11. Vajolet 2.1 released by Marco Belli, CCC, January 01, 2016

Up one Level