Saturday, September 19, 2026

ChessKISS 2.0 arrives before the end of the summer

Three days left until Autumn (well, here it's still summer for at least another 30 days). To celebrate it (...), I've been quite busy over the last month creating a much better (still amateur) chess engine.

The result is version 2.0, which I believe is quite an advanced version of a chess engine that still needs tuning (WIP).

So, what's new since 1.9?

  • Performance improvements everywhere (move generator, hash generator, Quiescence)

  • Improved SEE

  • Better king defense/attack

  • Lazy SMP with worker voting

  • Improvements in repetitions, threats, killer moves and move generator

  • In threat evaluation, reverse the order of the pieces (minor > major)

  • Better time management

  • Some values tuned

  • Added evasion pruning in Quiescence

  • New endgames: KQ vs KP, KP vs KP, KRB vs KR, KRN vs KR, KQ vs QRB

  • Added rook vs bishops in EvalUndeveloped()

  • Added singular extensions

  • New settings: CPU=0 // auto and Debug=0 // default

  • Added pondering

  • Fixed a long-standing bug where a move from a missed aspiration window could be used

  • Refactored cache code

  • LMR table is now dynamic rather than having only two entries

  • Improved outposts for bishops and knights

  • More use of bitboards in TEvaluation.EvalPassers() and TEvaluation.EvalPawnRace() instead of loops

  • Improved check extension performance

  • PawnOn7thExt extension on PV is now ONE ply (previously half a ply)

  • Scores are now returned rather than beta

  • GenerateAttacksDefends() is now fully implemented with bitboards

You can download it here: ChessKISS 2.0

Saturday, August 1, 2026

Surprise!, ChessKISS 1.9

You never know when a new version is going to be released, some weeks ago I tried to recover the project almost 4 years later and here we go!, version 1.9

From readme.txt:

01/08/26 1.9

-Some small performance improvements generating play, evaluating and checking repetitions
-Scores and now inserted into TT as relative to mate
-Many small bugs fixed (like far bonus on ending games and pawn cache issues with passers)
-King defense was not always calculated
-Added Late Move Pruning
-Completely changed how the engine handles the commands (bunch of if's VS hashmap and callbacks)
-ThreatPenalty table was missing values in pawn vs knight and rook vs queen
-Small adjustments in mobility scores
-Better time management
-Bad capture pruning when AlphaBeta (like in quiescent)
-Better aspiration window management
-Add quiescent scores into transposition table

Find a copy at https://drive.google.com/file/d/111cXD-dgMk8mIzSlRxoIYphrXLpyxvHP/view?usp=sharing

Thanks!