Home * Engines * Onno

was a commercial chess engine developed by Onno Garms, written in C++ and released in May 2009. After announcing the end of Onno's development in March 2011 [1], Onno Garms revealed several ideas that made Onno stronger. The 32/64-bit Windows or 64-bit Linux executables communicate with a chess GUI via the UCI.
Onno logo [2]



Onno uses a fixed shift variation of Magic bitboards [3] to determine sliding piece attacks. Its static exchange evaluation considers alpha and beta [4]. Evaluation features were tuned automaticly performing a Genetic algorithm [5].


Onno applies an iterative search along with PVS, null move pruning and verification search. Onno further uses a technique dubbed bad pruning similar to razoring. The idea is to apply a reduced search with a reduced window - if the search at depth d-3 says that one loses more then a pawn, it does not search the move with the current depth d [6].

Parallel Search

The MP version of Onno searches in parallel utilizing YBWC by following Rainer Feldmann's 1993 Ph.D. thesis Game Tree Search on Massively Parallel Systems [7] using virtual messaging.

Node Types

Onno determines expected Node Types to perform IID not only at PV-nodes but also at expected Cut-nodes. Onno Garms gave following rules [8]
  • The root node is a PV-node.
  • The first child of a PV-node is a PV-node
  • The further children are searched by a scout search as CUT-nodes
  • PVS re-search is done as PV-node
  • The first node of bad pruning is a CUT-node
  • The node after a null move is a CUT-node
  • The first node of null move verification is a CUT-node
  • Internal iterative deepening does not change the node type
  • The first child of a CUT-node is an ALL-node
  • Further children of a CUT-node are CUT-nodes
  • Children of ALL-nodes are CUT-nodes

See also

Forum Posts



2011 ...

External Links

Chess Engine



  1. ^ Development of Onno ends by Onno Garms, CCC, March 13, 2011
  2. ^ Onno Chess Software
  3. ^ Magic with fixed shift by Onno Garms, Winboard Forum, March 18, 2009
  4. ^ SEE with alpha beta by Onno Garms, CCC, August 14, 2011
  5. ^ Parameter tuning by Onno Garms, CCC, March 13, 2011
  6. ^ Bad Pruning by Onno Garms, CCC, March 13, 2011
  7. ^ Rainer Feldmann (1993). Game Tree Search on Massively Parallel Systems. Phd-Thesis, pdf
  8. ^ Re: On internal iterative deeping by Onno Garms, CCC, March 17, 2011

What links here?

Up one level