Skip to content
Andrew Grant edited this page Sep 23, 2018 · 9 revisions

This page serves to document the source of various ideas in Ethereal.


While many ideas are general and are in most engines, some are too similar to not give credit.

If you see something in Ethereal that you believe should be listed here, contact me

This list is a work in progress.

Idea   : SMP Framework
Source : Demolito by Lucas Braesch
Notes  : From just a pure stylistic approach, Ethereal matches the style and 
         ideas behind the threading framework in Demolito.
Idea   : SMP Depth Skipping
Source : Laser by Jeffrey An, Michael An.
Notes  : Laser has its own system similar to Stockfish, which applies a cycle
         number to each thread, and skips depths based on a predefined pattern.
         I swapped to this system not to gain elo, but to simplify the way the
         depth skipping was currently being done.
Idea   : Bishop Rammed Pawns
Source : Laser by Jeffrey An, Michael An.
Notes  : Adds a penalty for our pawns blocked by opponent pawns. The penalty
         only applies to bishops on the same coloured square as the pawns.
Idea   : Overloaded
Source : Stockfish by Marco Costalba, Joona Kiiski, Tord Romstad
Notes  : Applies a penalty for our pieces which are attacked and defended by
         exactly one piece. 
Idea   : Continuation History Pruning
Source : Stockfish by Marco Costalba, Joona Kiiski, Tord Romstad
Notes  : Stockfish tracks what I call a Counter Move and Follow Up Move history
         for use in each of the nodes. Stockfish will prune at very low depths 
         when these histories are below a certain threshold. I use a modified
         scheme, which splits what Stockfish does in one step, into two steps. 
         One for each type of history, whereas Stockfish combines.
Idea   : Threat By Pawn Push
Source : Stockfish by Marco Costalba, Joona Kiiski, Tord Romstad
Notes  : Apply a penalty when our opponent can advance a pawn and threaten one
         of our minor or major pieces. Currently, the only difference between 
         Ethereal and Stockfish here is that I won't allow double pawn moves 
         when the opponent can perform an enpass.
Idea   : Threshold for King Safety
Source : Stockfish by Marco Costalba, Joona Kiiski, Tord Romstad
Notes  : Stockfish will enter King Safety when the number of attacking pieces
         is at least one minus the number of enemy queens. Long ago I found elo
         by counting a queen as two attackers, to allow King Safety to occur
         more often. The Stockfish method however is more general.
Clone this wiki locally