Kreveta - UCI chess engine
Author: Zlomený Měsíc
Kreveta 2.3.0 what's new?
Yet another Kreveta release, this time bringing many improvements and new features:
Adjustable playing strength (800-2200 Elo)
- Kreveta now features an internal Elo system. The Elo level is set using the
UCI_Elooption, and activated using theUCI_LimitStrengthoption. The system has been calibrated on latest CCRL ratings, meaning you're not going to be guessing the real strength (unlike with Stockfish). - The Elo limit introduces deterministic noise in static evaluation and restricts deep mate paths, therefore the playing style should accurately reflect human-like beginner behavior. Kreveta won't blunder a queen in one move, but will be positionally weaker.
- Kreveta now features an internal Elo system. The Elo level is set using the
More UCI options
Clear hashof type button has been added, allowing erasing all data from the transposition table during search.UsePerftHashenables/disables the usage of the hash table designated for Perft. This may be useful in cases where genuine move generation speed is preferred over node counts.UCI_AnalyseModeessentially acts against the commanducinewgame.
Fewer hardware limitations
- Previously, Kreveta could only run on processors supporting the AVX2 and BMI2 instruction sets. This release adds fallbacks (although obviously slower), which allow running Kreveta on virtually any modern hardware (credit @KryKomDev).
Search improvements
PieceToHistoryhas been implemented, storing data of advantageous and beneficial piece placement, which is then used to further order captures.- Correction logic has changed a lot, primarily with the removal of king corrections.
- A separate hash table (SETT) is now used to store purely static evaluations of positions, later allowing lookups instead of repeated computations.
- The amount of heap allocation in hot paths has been drastically reduced, mainly by using pre-allocated tables/pools for NNUE accumulators and principal variation arrays in search.
Other
- The
evalcommand now divides individual components of static evaluation and prints their respective contributions in a comprehensive way, neatly organized into a table. - The classical part of static evaluation (HCE) now considers more aspects of the position, such as king-pawn distance, backward pawns, overextended pawns, unopposed supported or phalanx pawns, and bishop pairs.
- Static Exchange Evaluation (SEE) is now also used to evaluate quiet moves.
- A few bugs have been fixed.
- The
Playing strength improvements against Kreveta 2.2.5:
STC 8+0.15s
Elo | 72.8 +/- 8.4
Games | total: 5000, W: 2391, L: 1358, D: 1251
Score | 0.603, LOS: 100.0 %, draw ratio: 25.0 %Kreveta 2.2.3 vs other engines:
| Critter 1.6a | 0/6 | -6 | 6 games |
| Priessnitz 2.0.1 JA | 0/5 | -5 | 5 games |
| Human Chess Engine 0.1 JA | 4/4 | +4 | 4 games |
| Maxima 2.0.0 JA | 1/4 | -2 | 4 games |
| Vantage 1.3.0 | 0.5/4 | -3 | 4 games |
| Petrel 3.3 JA | 0.5/4 | -3 | 4 games |
| Stockfish 18 | 0/4 | -4 | 4 games |
| Tarnished 5.0 | 0/4 | -4 | 4 games |
| Stockfish 18 JA | 0/4 | -4 | 4 games |
| Sturddle 2.5.0 | 0/4 | -4 | 4 games |
| Odonata 1.1.0 | 0/4 | -4 | 4 games |
| Bagatur 5.4 | 0/4 | -4 | 4 games |
| Clockwork 20260203 | 0/4 | -4 | 4 games |
| Zangdar 6.1 | 0/4 | -4 | 4 games |
| Halogen 15.33.3 | 0/4 | -4 | 4 games |
| PZChessBot 6.1 | 0/4 | -4 | 4 games |
| DON dev-20260204 | 0/4 | -4 | 4 games |
| VietCoffee 1.0.8 JA | 3/3 | +3 | 3 games |
| SoloEngine 1.3.1 | 1.5/2 | +1 | 2 games |
| Vantage 1.03.0 | 1/2 | +0 | 2 games |
| Zangdar 6 | 0/2 | -2 | 2 games |

Comments
Post a Comment