vipermate-journal

Chess engine testing: a first look

Date: November 28, 2023

After a couple of weeks spent mainly catching crazy bugs, I finally implemented a new important mode in ViperMate: “Test”.

Engine testing is necessary for sanity checks and to find bugs and optimizations. At the moment the test mode of ViperMate simply reads an Extended Position Description file containing positions and best moves. Then the engine searches each position; the best move mentioned in the file is compared to the move found by the engine to calculate a final ratio of correct moves.

A few caveats and ideas

Raw results of the first test

The first runs didn’t result in any explosions or horrible segmentation errors.

At depth 12 and using a transposition table of 33,554,432 bytes, 263 positions from WAC were tested and ViperMate found the correct move 248 times, which is 94.30%. These numbers don’t say much, but I have to admit that I was more pessimistic before the test.

Here is a screenshot of part of the output. It includes the “fancy board”, which I don’t think I have shared before.

Test output

I have already downloaded several EPD files and I expect working on them in the following weeks.


ViperMate chess engine by Enrico Altavilla