vipermate-journal

A journal for the ViperMate chess engine

ViperMate logo

ViperMate is my pet project: developing a chess engine.

My only goals are to learn the topics of chess programming and to have fun by concentrating on the activity I like the most: optimizing algorithms and code. The evil practice of premature optimization is welcome here, because this is not a serious project. No expectations, no stress, I just enjoy the journey. This journal documents the path taken so far.

Enrico Altavilla

Status of the chess engine

ViperMate is in its alpha stage: the technological backbone is largely implemented. Now it has to learn all the rules of a chess game and how to interact with the outside world. The goal is to release its source code when it becomes a fully functional UCI-compliant engine.

Technologies implemented at the moment:

Journal entries

Chess engine testing: a first look November 28, 2023

Finalizing the evaluation function and endgames November 16, 2023

Quiescence search is a game-changer (literally) November 14, 2023

The surprising effects of the “default” move ordering November 13, 2023

ViperMate gets a UCI interface November 11, 2023

Checkmate distance and Mate Distance Pruning November 5, 2023

The design of internal communications and a nasty G++ -O3 optimizer issue November 3, 2023

Silly experiment with parameter optimization for move ordering October 30, 2023

Refactor: search controller and game modes (benchmark, UCI…) October 28, 2023

Implementing Null-Move Pruning and “search flags” October 26, 2023

Reorganization: using Git and separating the code into different files October 25, 2023

Small optimizations: faster PVS and “colorless” alpha-beta search function October 24, 2023

Phase 2: shifting from a playground to an actual chess engine October 23, 2023

Improved usage of transposition tables in alpha-beta search October 19, 2023

The first implementation of transposition tables October 16, 2023

A curious lump in beta cutoff statistics October 13, 2023

Starting a journal for ViperMate October 12, 2023


ViperMate chess engine by Enrico Altavilla