lunedì 25 novembre 2013

first achievement: MOVE GENERATOR

Vajolet rebuilding continue with good results, today I (probably) have a bug free move generator!

these are the tech spec of the engine:
  • bitboard move generator with piecelist to help the generation
  • full legal move generator ( I don't like pseudolegal one)
  • working in both linux/windows environment
  • full working perft/divide function
  • 32 bit tested code (I still lack a 64 bit test setup)
  • faster than Vajolet 2.03 generator (36Mnodes/s on a 2 years old machine)
but how can we can test the move generator is good and free of bug?

The answer is the use of the perft function. The first thing to do is test the engine against the positions on this page; when I was satisfied with the results I tested my engine against a bigger testsuite verifying the correctness of the result with stockfish.

The last thing that I have done is implementing a uci "go" command that return as bestmove a random move from the legalMove list and make the engine play against himself for some hours with the cutechess-cli program and check at the end that there are no game ended because of an "illegal" move.

Nessun commento:

Posta un commento