Home * Engines * Zzzzzz

Zzzzzz, (ZZZZZZ)
an open source chess program under the GNU GPL by Gijsbert Wiesenekker written in C, and Version 5 (1998) in Pascal with a Delphi GUI for Windows platforms [1] . A Chess Engine Communication Protocol compliant Zzzzzz 3.5.1 for Windows/Linux 32 is available from Jim Ablett's site.

Zzzzzz had its debut at the DOCCC 1991, and further played many Dutch Open Computer Chess Championships and International CSVN Tournaments, as well as the IPCCC 1994 and Aegon 1997. Already at the DOCCC 1993, Zzzzzz 3.0 was able to play on five machines in parallel [2] . The parallel alpha-beta routine was built around a public domain massively parallel computing environment, PVM. Meanwhile version 3.4 has moved to version 6, which still is command-line driven, but has evolved using bitboards, static exchange evaluation, null move, and extensions. It can search in parallel on two or three nodes [3] with a shared hash table.


Zzzzzz 5 GUI written in Delphi [4]

Quiescence Search

In Zzzzzz 3 the quiescence search looked like this, as explained by Gijsbert Wiesenekker in 1994 [5] :
When a piece captures, a capture flag is set on that piece. In the quiescence I allow QUIES_MAX free captures (so any piece may capture any other piece), but after these QUIES_MAX free captures only captures to pieces with the capture flag set are allowed. In this way the quiescence search always terminates and many exchanges like 'I capture your queen, you capture my queen etc.' are evaluated correctly. Higher QUIES_MAX values give better results, but also makes the program slower, so there is a trade off here. In ZZZZZZ the quiescence search hardly takes time: the quiescence search usually already terminates after the first eval() call (depth = 0) (an evaluation you would have to do any way) and only about 10% of the eval() calls come from deeper inner nodes. I also experimented with null moves in the quiescence search, but that did not help much.
#define QUIES_MAX 2
int quies(int depth, int alpha, int beta)
   int best, temp;
   best = eval();
   if (best >= beta) return best ;
   for (all your pieces) {
      if ( (depth >= QUIES_MAX) and (no capture flag set on your piece) )
      for (all my ways to capture your piece) {
         temp = -quies(depth + 1, -beta, -max(alpha, best));
         best = max(temp, best);
         if (best >= beta) return best;
   return best ;


Clash of the Consonants

IPCCC 1994, round 7, Zzzzzz - Xxxx [6]
[Event "IPCCC 1994"]
[Site "Paderborn"]
[Date "1994.10.01"]
[Round "7"]
[White "Zzzzzz"]
[Black "Xxxx"]
[Result "0-1"]
1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 e6 6.Ndb5 d6 7.Bf4 e5 8.Bg5 a6
9.Bxf6 gxf6 10.Na3 b5 11.Qd5 Bb7 12.Ne2 Bh6 13.Qd3 f5 14.Qh3 Qf6 15.Qxf5 Qxf5
16.exf5 d5 17.Rd1 O-O-O 18.c3 d4 19.cxd4 exd4 20.Rd3 Ne5 21.Rg3 d3 22.Ng1 Bf4
23.Rg7 Rde8 24.Kd1 b4 25.b3 bxa3 26.Nh3 Bh6 27.Rg3 Bd5 28.Bxd3 Rd8 29.Bxa6+ 0-1

DOCCC 2007

DOCCC 2007, round 7, Zzzzzz - Deep Junior [7]
[Event "DOCCC 2007"]
[Site "Leiden, NED"]
[Date "2007.10.28"]
[Round "7"]
[White "Zzzzzz"]
[Black "Deep Junior"]
[Result "1-0"]
1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. Nf3 Bg7 5. Qb3 dxc4 6. Qxc4 O-O 7. e4 a6 8. Be2
b5 9. Qb3 c5 10. dxc5 Bb7 11. e5 Nfd7 12. Be3 Qc7 13. Nd5 Qa5+ 14. Kf1 Nxe5 15.
Nxe5 Bxe5 16. Nb6 Nc6 17. Nxa8 Rxa8 18. Rd1 Qc7 19. Qa3 Na5 20. Bd4 Bxd4 21.
Rxd4 Nc6 22. Rd2 e5 23. h4 Nd4 24. h5 a5 25. hxg6 fxg6 26. Qc3 Bd5 27. Kg1 Rf8
28. a3 Qe7 29. Rh3 a4 30. Re3 Qg5 31. Rg3 Qf6 32. Bd1 Rc8 33. Bg4 Rc7 34. Rd1
$2 Bc4 35. Qa5 Rxc5 36. Rc3 Qf8 37. Re1 h5 38. Bf3 Qd6 39. Be4 Kg7 40. Bd3 Kh6
41. Bxc4 bxc4 42. Qa8 Qf6 43. Qxa4 Rb5 44. Qd1 g5 45. Qd2 Qd8 46. Rd1 Qd5 47.
a4 Rb6 48. Kh1 Rf6 49. Re1 Rf4 50. Rh3 Kg6 51. a5 Rf6 52. Ra3 Rf4 53. Ree3 Kh6
54. Rh3 g4 55. Rhe3 h4 56. a6 h3 57. Rg3 hxg2+ 58. Rxg2 Qa8 59. Qe3 Kg6 60. Qh3
Nf5 61. a7 Kg5 62. Ra6 Nh4 63. f3 1-0

Forum Posts



1995 ...

2000 ...

External Links


  1. ^ Re: Anyone know of a freeware chess game for Windows 95? by Gijsbert Wiesenekker, rgcc, November 09, 1998
  2. ^ ZZZZZZ 3.0 plays in Dutch Comp. Chess Champ. 1993 by Gijsbert Wiesenekker, rec.games.chess, November 15, 1993
  3. ^ ZZZZZZ - Homepage of Gijsbert Wiesenekker
  4. ^ ZZZZZZ - Homepage of Gijsbert Wiesenekker
  5. ^ Re: Efficient quiescence by Gijsbert Wiesenekker, rec.games.chess, January 22, 1994
  6. ^ Downloads, IPCCC, Games, hosted by CSVN
  7. ^ Zzzzzz takes Junior to school by Theo van der Storm, CCC, October 28, 2007

What links here?

Up one Level